Multiple shader processes in graphics processing
AssigneeMicrosoft Technology Licensing, LLC
InventorsIvan Nevraev, Martin J. I. Fuller, Adam J. Miles, Jason M. Gould
Life of this patent
Estimating the term…
Abstract
Methods and devices for rendering graphics in a computer device include receiving, at a graphics processing unit (GPU), a memory location address of a portion of a primitive to be rendered along with an indication of one or more values of one or more pixel shader parameters for the portion of the primitive, selecting, by the GPU, a pixel shader from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters, and generating, by the GPU, at least one output of a render target of the portion of the primitive based on applying the pixel shader to the portion of the primitive.
Claims18
A method of rendering graphics in a computer device, comprising:
- receiving, at a graphics processing unit (GPU), a memory location address of a given portion of a primitive to be rendered along with an indication of one or more values of one or more pixel shader parameters for the same portion of the primitive;
- selecting, by the GPU, multiple pixel shaders from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters;
- and
- generating, by the GPU, and based on concurrently executing each of the multiple pixel shaders by applying each of the multiple pixel shaders to the same portion of the primitive, outputs to multiple render targets of the same portion of the primitive.
A method of rendering graphics in a computer device, comprising:
- receiving, at a graphics processing unit (GPU), a memory location address of a given portion of a primitive to be rendered along with an indication of one or more values of one or more pixel shader parameters for the same portion of the primitive;
- selecting, by the GPU, a pixel shader from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters, wherein the one or more pixel shader parameters includes a shading rate;
- generating, by the GPU, at least one output to a render target of the same portion of the primitive based on applying the pixel shader to the same portion of the primitive;
- generating, by the GPU, one or more additional outputs to one or more additional render targets of the same portion of the primitive based on applying the pixel shader, using one or more different values of the one or more pixel shader parameters, to the same portion of the primitive;
- and
- exporting samples from the render target and at least a portion of the one or more additional render targets for rendering the same portion of the primitive.
A computing device, comprising:
- a memory;
- a processor coupled to the memory and configured to execute instructions corresponding to one or more applications;
- a display for displaying one or more images produced by the one or more applications;
- a graphics processing unit (GPU) configured to render one or more primitives of the one or more images, wherein the GPU is configured to:
- receive a memory location address of a given portion of a primitive of the one or more primitives to be rendered along with an indication of one or more values of one or more pixel shader parameters for the same portion of the primitive;
- select a pixel shader from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters, wherein the one or more pixel shader parameters includes a shading rate;
- generate at least one output to a render target of the same portion of the primitive based on applying the pixel shader to the same portion of the primitive;
- generate one or more additional outputs to one or more additional render targets of the same portion of the primitive based on applying the pixel shader, using one or more different values of the one or more pixel shader parameters, to the same portion of the primitive;
- and
- export samples from the render target and at least a portion of the one or more additional render targets for rendering the same portion of the primitive.
Dependencies are inferred from the claim text.