Using textures in graphics processing systems

US10943385B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10943385-B2
Application numberUS-201916504069-A
CountryUS
Kind codeB2
Filing dateJul 5, 2019
Priority dateJul 20, 2018
Publication dateMar 9, 2021
Grant dateMar 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

When a renderer of a graphics processor is to perform a graphics rendering operation that uses one or more texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation for a group of fragments, the renderer determines contribution control data for each fragment in the group, and based on the determined contribution control data, either: fetches and uses the texture data values for a texture layer for each fragment in the group from memory, or does not fetch texture data values for a texture layer for each fragment in the group from memory and instead uses a dummy value for the texture layer for each fragment in the group for the graphics rendering operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating a graphics processor that executes a graphics processing pipeline to perform graphics processing operations, and which graphics processor comprises: a rasteriser that rasterises input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points associated with it; and a renderer that performs graphics rendering operations on graphics fragments generated by the rasteriser; the method comprising: when the renderer is to perform, for a group of plural fragments that it is rendering as a group of fragments together, a graphics rendering operation that uses one or more texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation: the renderer: before fetching the texture data values for each fragment of the group for at least one of the texture layers for the graphics rendering operation, determining texture contribution control data for each fragment in the group of fragments to be processed as a group of fragments together; and based on the determined contribution control data, either: fetching the texture data values for the at least one texture layer for each fragment in the group from memory, and using the fetched texture data values for the at least one texture layer for each fragment in the group for the graphics rendering operation; or using a dummy value for the at least one texture layer for each fragment in the group for the graphics rendering operation instead of fetching texture data values for the at least one texture layer for each fragment in the group from memory. 2. The method of claim 1 , wherein the contribution control data for the rendering operation comprises at least one of: transparency values to be used for the texture layers; and contribution weight values to be used for the texture layers. 3. The method of claim 1 , wherein: the renderer includes a programmable fragment shader that is operable to execute execution threads as groups of plural execution threads, with each execution thread in a group corresponding to a fragment, and the threads of a thread group being executed in lockstep; and the group of fragments that is being rendered as a group of fragments together comprises the fragments that a group of threads that is being executed by the fragment shader as a group of plural execution threads together corresponds to. 4. The method of claim 1 comprising: the renderer determining from the determined contribution control information, whether a texture layer will contribute to the output of the rendering operation for any of the plural fragments in the group; and when it is determined from the contribution control information that a texture layer will not contribute to the output of the rendering operation for any of the fragments in the group, not fetching texture data values for that texture layer for each fragment in the group from memory and instead using a dummy value for that texture layer for each fragment in the group for the graphics rendering operation; when it is determined from the contribution control information that a texture layer will contribute to the rendering output for at least one of the fragments in the group, fetching the texture data values for that texture layer for each fragment in the group from memory, and using the fetched texture data values for that texture layer for each fragment in the group for the graphics rendering operation. 5. The method of claim 1 , comprising the renderer: performing, for a group of plural fragments together, a graphics rendering operation that combines plural texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation, the performing the graphics rendering operation comprising: the renderer: before fetching texture data values for each fragment of the group for at least one texture layer of the graphics rendering operation, determining texture contribution control data for each fragment in the group of fragments being processed; and based on the determined contribution control data, determining whether there is a texture layer for the graphics rendering operation that will not contribute to the output of the graphics rendering operation for any of the fragments in the group of fragments being processed; and when it is determined that there is a texture layer that will not contribute to the output of the graphics rendering operation for any of the fragments in the group of fragments being processed, using a dummy value for that texture layer for each fragment in the group of fragments being processed instead of fetching texture data values for that texture layer from memory; and for any texture layer for which it is not determined that the texture layer will not contribute to the output of the graphics rendering operation for any of the fragments in the group of fragments being processed, fetching texture data values for that texture layer for each fragment in the group from memory; and performing the graphics rendering operation using the fetched texture data values and any dummy values for the texture layers. 6. The method of claim 1 , wherein: the renderer includes a programmable fragment shader that executes fragment shader programs to perform fragment shading operations on graphics fragments generated by the rasteriser; and the method further comprises: including in a fragment shader program that includes an instruction or instructions that when executed will cause the renderer to perform a graphics rendering operation that uses one or more texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation: a graphics program instruction that when executed will cause the renderer to, before performing the graphics rendering operation that combines plural texture layers in accordance with contribution control data for a group of plural fragments that the renderer is rendering as a group of fragments together: determine texture contribution control data for each fragment in the group of fragments to be processed as a group of fragments together before fetching any texture data values for each fragment of the group for at least one of the texture layers for the graphics rendering operation; and based on the determined contribution control data, either: fetch texture data values for the at least one texture layer for each fragment in the group from memory, and use the fetched texture data values for the at least one texture layer for each fragment in the group for the graphics rendering operation; or use a dummy value for the at least one texture layer for each fragment in the group for the graphics rendering operation instead of fetching texture data values for the at least one texture layer for each fragment in the group from memory. 7. The method of claim 1 , wherein: the renderer includes a texture mapper operable to fetch texture data required for a graphics rendering operation to be performed by the renderer; and the method comprises: the texture mapper determining, based on the determined contribution control data, whether to: fetch the texture data values for the at least one texture layer for each fragment in the group from memory, and provide the fetched texture data values for the at least one texture layer for each fragment in the group for the graphics rendering operation; or provide a dummy value for the at least one texture layer for each fragment in the group for the graphics rendering operation instead of fetching texture data values for the at least one texture layer for each fragm

Assignees

Inventors

Classifications

  • G06T15/04Primary

    Texture mapping · CPC title

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • involving image processing hardware · CPC title

  • General purpose rendering architectures · CPC title

  • Memory management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10943385B2 cover?
When a renderer of a graphics processor is to perform a graphics rendering operation that uses one or more texture layers in accordance with contribution control data that controls the contribution that each texture layer makes to the rendering operation for a group of fragments, the renderer determines contribution control data for each fragment in the group, and based on the determined contri…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06T15/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).