Edge Test and Depth Calculation in Graphics Processing Hardware
First Claim
1. A graphics processing pipeline arranged to render a scene in a rendering space, wherein the rendering space is sub-divided into a plurality of tiles, each tile is sub-divided into a plurality of microtiles, each microtile comprising an identical arrangement of pixels and each pixel comprising an arrangement of one or more subsample positions,the graphics processing pipeline comprising edge test and/or depth calculation hardware and wherein the edge test and/or depth calculation hardware comprises one or more hardware arrangements each arranged to perform an edge test or a depth calculation using a sum-of-products, wherein the sum-of-products corresponds to a property of a primitive representing a surface of an object in the scene, each hardware arrangement comprising:
- a microtile component hardware element comprising hardware logic arranged to calculate a first output using the sum-of-products and coordinates of a microtile within a tile in the rendering space;
a plurality of pixel component hardware elements, each comprising hardware logic arranged to calculate one of a plurality of second outputs using the sum-of-products and coordinates for different pixels defined relative to an origin of the microtile;
one or more subsample component hardware elements, each comprising hardware logic arranged to calculate a third output using the sum-of-products and coordinates for a subsample position defined relative to an origin of a pixel; and
a plurality of adders arranged to generate a plurality of output results for the sum-of products in parallel by combining, for each output result, a different combination of the first output, one of the plurality of second outputs and a third output, wherein the plurality of output results comprise edge test output values or depth calculation values for rendering subsamples;
wherein the scene is rendered in said rendering space using the generated edge test output values or depth calculation values.
2 Assignments
0 Petitions
Accused Products
Abstract
A graphics processing hardware pipeline is arranged to perform an edge test or a depth calculation. Each hardware arrangement includes a microtile component hardware element, multiple pixel component hardware elements, one or more subsample component hardware elements and a final addition and comparison unit. The microtile component hardware element calculates a first output using a sum-of-products and coordinates of a microtile within a tile in the rendering space. Each pixel component hardware element calculates a different second output using the sum-of-products and coordinates for different pixels defined relative to an origin of the microtile. The subsample component hardware element calculates a third output using the sum-of-products and coordinates for a subsample position defined relative to an origin of a pixel. The adders sum different combinations of the first output, a second output and a third output to generate output results for different subsample positions defined relative to the origin of the tile.
-
Citations
20 Claims
-
1. A graphics processing pipeline arranged to render a scene in a rendering space, wherein the rendering space is sub-divided into a plurality of tiles, each tile is sub-divided into a plurality of microtiles, each microtile comprising an identical arrangement of pixels and each pixel comprising an arrangement of one or more subsample positions,
the graphics processing pipeline comprising edge test and/or depth calculation hardware and wherein the edge test and/or depth calculation hardware comprises one or more hardware arrangements each arranged to perform an edge test or a depth calculation using a sum-of-products, wherein the sum-of-products corresponds to a property of a primitive representing a surface of an object in the scene, each hardware arrangement comprising: -
a microtile component hardware element comprising hardware logic arranged to calculate a first output using the sum-of-products and coordinates of a microtile within a tile in the rendering space; a plurality of pixel component hardware elements, each comprising hardware logic arranged to calculate one of a plurality of second outputs using the sum-of-products and coordinates for different pixels defined relative to an origin of the microtile; one or more subsample component hardware elements, each comprising hardware logic arranged to calculate a third output using the sum-of-products and coordinates for a subsample position defined relative to an origin of a pixel; and a plurality of adders arranged to generate a plurality of output results for the sum-of products in parallel by combining, for each output result, a different combination of the first output, one of the plurality of second outputs and a third output, wherein the plurality of output results comprise edge test output values or depth calculation values for rendering subsamples; wherein the scene is rendered in said rendering space using the generated edge test output values or depth calculation values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of rendering a scene in a rendering space in a graphics processing pipeline, wherein the rendering space is sub-divided into a plurality of tiles, each tile is sub-divided into a plurality of microtiles, each microtile comprising an identical arrangement of pixels and each pixel comprising one or more subsample positions, the method comprising:
-
in a first hardware element, determining a first output based on coordinates of a microtile within a tile; in each of a plurality of second hardware elements, determining a second output based on coordinates of a pixel within a microtile; in each of one or more third hardware elements, determining a third output based on coordinates of a subsample within a pixel;
combining a first output with a second output and a third output to generate an edge test output value or a depth calculation value for rendering a subsample; andrendering the scene in said rendering space using the generated edge test output value or depth calculation value. - View Dependent Claims (18, 19)
-
-
20. A non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a graphics processing pipeline arranged to render a scene in a rendering space, wherein the rendering space is sub-divided into a plurality of tiles, each tile is sub-divided into a plurality of microtiles, each microtile comprising an identical arrangement of pixels and each pixel comprising an arrangement of one or more subsample positions,
the graphics processing pipeline comprising edge test and/or depth calculation hardware and wherein the edge test and/or depth calculation hardware comprises one or more hardware arrangements each arranged to perform an edge test or a depth calculation using a sum-of-products, wherein the sum-of-products corresponds to a property of a primitive representing a surface of an object in the scene, each hardware arrangement comprising: -
a microtile component hardware element comprising hardware logic arranged to calculate a first output using the sum-of-products and coordinates of a microtile within a tile in the rendering space; a plurality of pixel component hardware elements, each comprising hardware logic arranged to calculate one of a plurality of second outputs using the sum-of-products and coordinates for different pixels defined relative to an origin of the microtile; one or more subsample component hardware elements, each comprising hardware logic arranged to calculate a third output using the sum-of-products and coordinates for a subsample position defined relative to an origin of a pixel; and a plurality of adders arranged to generate a plurality of output results for the sum-of products in parallel by combining, for each output result, a different combination of the first output, one of the plurality of second outputs and a third output, wherein the plurality of output results comprise edge test output values or depth calculation values for rendering subsamples; wherein the scene is rendered in said rendering space using the generated edge test output values or depth calculation values.
-
Specification