Graphics processor
AssigneeArm Limited
InventorOlof Henrik Uhrenholt
Life of this patent
Estimating the term…
Abstract
A tile-based graphics processor performs first and second processing passes to generate a render output. The first processing pass generates and writes out information representative of a set of bounding boxes, and the second processing pass uses the bounding box information to determine which primitives to process for which rendering tiles.
Claims20
A tile-based graphics processor that is operable to generate a render output by processing primitives to generate rendering tiles that the render output is divided into;
- the tile-based graphics processor comprising:
- a first processing circuit, wherein the first processing circuit comprises:
- a plurality of programmable execution units;
- and
- a plurality of backend circuits, wherein each backend circuit is associated with a respective programmable execution unit of the plurality of programmable execution units;
- wherein
- the first processing circuit is operable to:
- generate a multi-level hierarchical bounding box data structure comprising a set of bounding boxes representative of positions of a set of primitives to be processed to generate a render output, wherein each of the plurality of backend circuits concurrently write to the multi-level hierarchical bounding box data structure using atomic memory operations, wherein the atomic memory operations include one or more of a commutative operation and an associative operation;
- write out information representative of the set of bounding boxes;
- and
- a second processing circuit operable to, for one or more rendering tiles that a render output is divided into:
- use the multi-level hierarchical bounding box data structure generated by the first processing circuit to determine primitives of a set of primitives to process to generate the respective rendering tile;
- and
- process the determined primitives to generate the respective rendering tile.
A method of operating a tile-based graphics processor that is operable to generate a render output by processing primitives to generate rendering tiles that the render output is divided into;
- the method comprising generating a render output by:
- performing a first processing pass comprising:
- generating a multi-level hierarchical bounding box data structure comprising a set of bounding boxes representative of positions of a set of primitives to be processed to generate a render output, wherein each of a plurality of backend circuits concurrently write to the multi-level hierarchical bounding box data structure using atomic memory operations, wherein the atomic memory operations include one or more of a commutative operation and an associative operation;
- and
- writing out information representative of the set of bounding boxes;
- and
- performing a second processing pass comprising, for one or more rendering tiles that the render output is divided into:
- using the multi-level hierarchical bounding box data structure generated by the first processing pass to determine primitives of a set of primitives to process to generate the respective rendering tile;
- and
- processing the determined primitives to generate the respective rendering tile.
A non-transitory computer program medium comprising computer software code for performing a method for generating a render output when the program is run on a data processing system, the method including:
- performing a first processing pass comprising:
- generating a multi-level hierarchical bounding box data structure comprising a set of bounding boxes representative of positions of a set of primitives to be processed to generate a render output, wherein each of a plurality of backend circuits concurrently write to the multi-level hierarchical bounding box data structure using atomic memory operations, wherein the atomic memory operations include one or more of a commutative operation and an associative operation;
- writing out information representative of the set of bounding boxes;
- and performing a second processing pass comprising, for one or more rendering tiles that the render output is divided into:
- using the multi-level hierarchical bounding box data structure generated by the first processing pass to determine primitives of a set of primitives to process to generate the respective rendering tile;
- and
- processing the determined primitives to generate the respective rendering tile.
Dependencies are inferred from the claim text.