Graphics processing systems
US-2017032489-A1 · Feb 2, 2017 · US
US10825207B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10825207-B2 |
| Application number | US-201816220463-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 14, 2018 |
| Priority date | Dec 14, 2018 |
| Publication date | Nov 3, 2020 |
| Grant date | Nov 3, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A fragment shader program to be executed by a fragment shader of a graphics processor can include a graphics texturing instruction that when executed by the fragment shader will cause the fragment shader to send a request to the texture mapper to perform a graphics texture mapping operation in which the texture mapper will perform plural lookups from the same texture in parallel. In response to the request from the fragment shader, the texture mapper of the graphics processor performs plural lookups from the same texture in parallel, and generates a texture mapping operation result using the results of the plural lookups from the same texture for returning to the fragment shader.
Opening claim text (preview).
The invention claimed is: 1. A method of operating a graphics processor, the graphics processor comprising: a programmable fragment shader operable to execute graphics fragment shader programs to perform fragment shading operations; and a texture mapper operable to perform graphics texture mapping operations in response to requests for graphics texture mapping operations from the fragment shader; wherein: the fragment shader processes graphics fragments by executing fragment shader programs using execution threads for sampling positions of a render output being generated by the graphics processor; and the fragment shader is operable to, when it encounters a graphics texturing instruction in a fragment shader program that it is executing for a thread: request the texture mapper to perform a graphics texture mapping operation for the thread that is executing the graphics texturing instruction in the fragment shader program; and the texture mapper is operable to, in response to the request from the fragment shader to perform the graphics texture mapping operation for the execution thread that is executing the graphics texturing instruction in the fragment shader program: perform the graphics texture mapping operation for the execution thread; the method comprising: including in a fragment shader program to be executed by the fragment shader of the graphics processor when generating the render output, a particular graphics texturing instruction that when executed by the fragment shader will cause the fragment shader to send a particular request to the texture mapper to perform a particular graphics texture mapping operation for the particular thread that is executing the graphics texturing instruction in which the texture mapper will perform plural lookups from same texture in parallel; and the fragment shader, when it executes the particular graphics texturing instruction for the particular thread that is executing the graphics texturing instruction, sending the particular request to the texture mapper to perform the particular graphics texture mapping operation in which the texture mapper will perform plural lookups from the same texture in parallel for the particular thread; and the texture mapper, in response to the particular request from the fragment shader, performing the particular graphics texture mapping operation for the particular thread, including: performing plural lookups from the same texture in parallel; generating a texture mapping operation result for the particular thread using the results of the plural lookups from the same texture; and returning the generated texture mapping operation result to the fragment shader; the fragment shader using the texture mapping operation result for the particular thread. 2. The method of claim 1 , wherein the particular graphics texturing instruction causes the texture mapper to perform two lookups in parallel from a two-dimensional texture or four lookups in parallel from a one-dimensional texture. 3. The method of claim 1 , wherein the particular graphics texturing instruction indicates a single multicomponent coordinate from which the coordinates for the plural lookups from the texture are derived by the texture mapper. 4. The method of claim 1 , wherein the particular graphics texturing instruction indicates the texture mapping operation that is to be performed using the results of the plural texture lookups. 5. The method of claim 1 , wherein the particular texture mapping operation that is performed using the plural lookups from the same texture reduces the amount of data generated by the plural lookups to a reduced amount of data for returning to the fragment shader for further use. 6. The method of claim 1 , wherein the particular texture mapping operation that the texture mapper performs using the results of the plural lookups comprises one of: returning a sum of the texture lookup results; returning a difference between the texture lookups results; returning a minimum of the texture lookup results; returning a maximum of the texture lookup results; and packing selected components from the plural texture lookup results together to provide the result of the texture mapping operation. 7. The method of claim 1 , wherein the texture mapper processes the texels fetched for each texture lookup separately, to thereby generate for each lookup a respective intermediate result, and then processes those lookup intermediate results to provide the texture mapping operation result that is returned to the fragment shader. 8. The method of claim 1 , wherein the texture mapper processes the fetched texels for the texture lookups directly to provide the output texture mapping operation result that is returned to the fragment shader. 9. The method of claim 1 , wherein the step of including in a fragment shader program to be executed by the fragment shader of the graphics processor when generating the render output, the particular graphics texturing instruction that when executed by the fragment shader will cause the fragment shader to send the particular request to the texture mapper to perform the particular graphics texture mapping operation for the particular thread that is executing the graphics texturing instruction in which the texture mapper will perform plural lookups from the same texture in parallel comprises: analysing a fragment shader program to identify whether the fragment shader program includes plural different program expressions that each perform a texture mapping operation that performs a lookup into the same texture; and in response to identifying plural different program expressions each performing a texture mapping operation that performs a lookup into the same texture in the shader program: replacing two or more of the identified plural different program expressions with the single particular graphics texturing instruction that when executed by the fragment shader will cause the fragment shader to send the particular request to the texture mapper to perform the particular graphics texture mapping operation for the particular thread that is executing the graphics texturing instruction in which the texture mapper will perform plural lookups from the same texture in parallel. 10. A graphics processing system, the graphics processing system comprising: a graphics processor comprising: a programmable fragment shader circuit operable to execute graphics fragment shader programs to perform fragment shading operations; and a texture mapper circuit operable to perform graphics texture mapping operations in response to requests for graphics texture mapping operations from the fragment shader circuit; wherein: the fragment shader circuit processes graphics fragments by executing fragment shader programs using execution threads for sampling positions of a render output being generated by the graphics processor; and the fragment shader circuit is operable to, when it encounters a graphics texturing instruction in a fragment shader program that it is executing for a thread: request the texture mapper circuit to perform a graphics texture mapping operation for the thread that is executing the graphics texturing instruction in the fragment shader program; and the texture mapper circuit is operable to, in response to the request from the fragment shader circuit to perform the graphics texture mapping operation for an execution thread that is executing a graphics texturing instruction in the fragment shader program: perform the graphics texture mapping operation for the execution thread; wherein: the graphics processing system further comprises processing circuitry operable to: include in a fragment shader program to be executed by
Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title
Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title
Texture mapping · CPC title
Parallel processing · CPC title
General purpose rendering architectures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.