Apparatus and method for processing commands in tile-based renderers

US10672176B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10672176-B2
Application numberUS-201715692951-A
CountryUS
Kind codeB2
Filing dateAug 31, 2017
Priority dateAug 31, 2017
Publication dateJun 2, 2020
Grant dateJun 2, 2020

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.

An apparatus and method are described for culling commands in a tile-based renderer. For example, one embodiment of an apparatus comprises: a command buffer to store a plurality of commands to be executed by a render pipeline to render a plurality of tiles; visibility analysis circuitry to determine per-tile visibility information for each of the plurality of tiles and to store the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped; and a render pipeline to read the visibility information from the first storage to determine whether to execute or skip one or more of the commands from the command buffer to render the first tile.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a command buffer to store a plurality of commands to be executed by a render pipeline to render a display screen that is divided into a plurality of tiles; a position-only shading (POSH) pipeline comprising visibility analysis circuitry to determine per-tile visibility information for each of the plurality of tiles that make up the display screen and to store the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped, the visibility analysis circuitry to track a number of visible draw commands and a number of invisible draw commands in the plurality of commands for determining the per-tile visibility information, wherein a visible draw command is a command associated with a visible portion of the tile and an invisible draw command is a command not associated with any visible portion of the tile; and a render pipeline to read the visibility information from the first storage to determine whether to execute or skip one or more of the commands from the command buffer to render the first tile; wherein the visibility information is to comprise a plurality of tokens including a skip tile token to indicate that all remaining commands associated with a tile are to be skipped by the render pipeline. 2. The apparatus of claim 1 wherein the first storage comprises a per-tile storage allocated to the first tile. 3. The apparatus of claim 2 wherein the per-tile storage comprises a per-tile visibility buffer associated with the first tile, one or more additional per-tile visibility buffers associated with one or more additional tiles. 4. The apparatus of claim 1 wherein a first skip tile token associated with the first tile is preceded by at least one draw command to be executed by the render pipeline, wherein upon reaching the skip tile token following the at least one draw command, the render pipeline is to skip any remaining commands associated with the first tile. 5. The apparatus of claim 4 wherein the first skip tile token is preceded by at least one cull draw indication, the render pipeline to skip a draw command associated with the cull draw indication. 6. The apparatus of claim 1 wherein the visibility analysis circuitry is to perform position-only shading operations on commands in the command buffer to determine the per-tile visibility information. 7. The apparatus of claim 6 wherein the position-only shading operations comprise operations to determine depth values for one or more primitives within each tile. 8. A method comprising: storing a plurality of commands in a command buffer, the commands to be executed by a render pipeline to render a display screen that divided into a plurality of tiles; determining per-tile visibility information for each of the plurality of tiles that make up the display screen, the determining further comprising tracking a number of visible draw commands and a number of invisible draw commands in the plurality of commands, wherein a visible draw command is a command associated with a visible portion of the tile and an invisible draw command is a command not associated with any visible portion of the tile; storing the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped; and reading the visibility information from the first storage to determine whether a render pipeline is to execute or skip one or more of the commands from the command buffer to render the first tile; wherein the visibility information is to comprise a plurality of tokens including a skip tile token to indicate that all remaining commands associated with a tile are to be skipped by the render pipeline. 9. The method of claim 8 wherein the first storage comprises a per-tile storage allocated to the first tile. 10. The method of claim 9 wherein the per-tile storage comprises a per-tile visibility buffer associated with the first tile, one or more additional per-tile visibility buffers associated with one or more additional tiles. 11. The method of claim 8 wherein a first skip tile token associated with the first tile is preceded by at least one draw command to be executed by the render pipeline, wherein upon reaching the skip tile token following the at least one draw command, the render pipeline is to skip any remaining commands associated with the first tile. 12. The method of claim 11 wherein the first skip tile token is preceded by at least one cull draw indication, the render pipeline to skip a draw command associated with the cull draw indication. 13. The method of claim 8 wherein determining the per-tile visibility information further comprises performing position-only shading operations on commands in the command buffer to determine the per-tile visibility information. 14. The method of claim 13 wherein the position-only shading operations comprise operations to determine depth values for one or more primitives within each tile. 15. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of: storing a plurality of commands in a command buffer, the commands to be executed by a render pipeline to render a display screen that is divided into a plurality of tiles; determining per-tile visibility information for each of the plurality of tiles that make up the display screen, the determining comprising tracking a number of visible draw commands and a number of invisible draw commands in the plurality of commands, wherein a visible draw command is a command associated with a visible portion of the tile and an invisible draw command is a command not associated with any visible portion of the tile; storing the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped; and reading the visibility information from the first storage to determine whether a render pipeline is to execute or skip one or more of the commands from the command buffer to render the first tile; wherein the visibility information is to comprise a plurality of tokens including a skip tile token to indicate that all remaining commands associated with a tile are to be skipped by the render pipeline. 16. The machine-readable medium of claim 15 wherein the first storage comprises a per-tile storage allocated to the first tile. 17. The machine-readable medium of claim 16 wherein the per-tile storage comprises a per-tile visibility buffer associated with the first tile, one or more additional per-tile visibility buffers associated with one or more additional tiles. 18. The machine-readable medium of claim 15 wherein a first skip tile token associated with the first tile is preceded by at least one draw command to be executed by the render pipeline, wherein upon reaching the skip tile token following the at least one draw command, the render pipeline is to skip any remaining commands associated with the first tile. 19. The machine-readable medium of claim 18

Assignees

Inventors

Classifications

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Hidden part removal · CPC title

  • using Z-buffer · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · 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 US10672176B2 cover?
An apparatus and method are described for culling commands in a tile-based renderer. For example, one embodiment of an apparatus comprises: a command buffer to store a plurality of commands to be executed by a render pipeline to render a plurality of tiles; visibility analysis circuitry to determine per-tile visibility information for each of the plurality of tiles and to store the visibility i…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T15/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 02 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).