Method of and apparatus for processing graphics
First Claim
1. An apparatus for sorting graphics primitives for rendering in a graphics processing system in which a scene to be rendered is divided into a plurality of sub-regions for rendering, each sub-region including a respective area of the scene to be rendered, the apparatus comprising:
- at least one processor configured to prepare a set of plural first lists of primitives, each first list of primitives in the set of first lists of primitives being exclusive to a respective single sub-region of the scene and listing primitives for rendering for that single sub-region of the scene;
wherein the at least one processor is further configured to prepare additionally a set of plural second lists of primitives, the set of plural second lists of primitives being in addition to and different to the set of plural first lists of primitives, and each second list of primitives in the set of second lists of primitives being a list of primitives to be used for a respective set of at least two sub-regions of the scene in common and listing primitives for rendering for that set of at least two sub-regions of the scene;
wherein the sets of at least two sub-regions of the scene for which second lists of primitives in the set of plural second lists of primitives are prepared are arranged such that the respective sets of at least two sub-regions of the scene for which second lists of primitives are prepared together encompass all of the plurality of sub-regions for rendering that the scene to be rendered is divided into, such that for each sub-region for rendering that the scene to be rendered is divided into, there will be a first list of primitives in the set of plural first lists of primitives that is exclusive to that single sub-region of the scene, and a second list of primitives in the set of second lists of primitives that is to be used for that sub-region of the scene in common with at least one other sub-region of the scene; and
wherein;
the at least one processor prepares the set of first primitive lists and the set of second primitive lists by, for each primitive of a set of graphics primitives to be rendered for the scene;
determining a location for the primitive in the scene;
comparing the determined location for the primitive in the scene to the sub-regions and sets of plural sub-regions that the scene is divided into and for which primitive lists can be prepared, to determine which sub-regions and sets of plural sub-regions the primitive should be rendered for; and
in response to the determination of the sub-regions and sets of plural sub-regions that the primitive should be rendered for, selectively including the primitive in at least one of;
a first list of primitives of the set of first lists of primitives that is exclusive to a sub-region that it has been determined the primitive should be rendered for; and
a second list of primitives of the set of second lists of primitives that is for a set of plural sub-regions that includes a sub-region that it has been determined that the primitive should be rendered for; and
further wherein said apparatus is configured to render each sub-region that the scene to be rendered has been divided into for rendering, including when rendering a sub-region of the scene, said apparatus being configured to;
use said lists to determine which of said primitives should be rendered for which of said sub-regions, including;
when rendering a sub-region of the scene, said apparatus being configured to;
use both the first list of primitives of the set of first lists of primitives that is exclusive to that sub-region of the scene, and each second list of primitives in the set of second lists of primitives that is for a set of at least two sub-regions of the scene that includes the sub-region of the scene being rendered, to determine which primitives should be rendered for the sub-region, such that the apparatus will use both a first list of primitives in the set of first lists of primitives and at least one second list of primitives in the set of second lists of primitives to determine which primitives should be rendered for the sub-region.
1 Assignment
0 Petitions
Accused Products
Abstract
A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive'"'"'s location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.
53 Citations
14 Claims
-
1. An apparatus for sorting graphics primitives for rendering in a graphics processing system in which a scene to be rendered is divided into a plurality of sub-regions for rendering, each sub-region including a respective area of the scene to be rendered, the apparatus comprising:
-
at least one processor configured to prepare a set of plural first lists of primitives, each first list of primitives in the set of first lists of primitives being exclusive to a respective single sub-region of the scene and listing primitives for rendering for that single sub-region of the scene; wherein the at least one processor is further configured to prepare additionally a set of plural second lists of primitives, the set of plural second lists of primitives being in addition to and different to the set of plural first lists of primitives, and each second list of primitives in the set of second lists of primitives being a list of primitives to be used for a respective set of at least two sub-regions of the scene in common and listing primitives for rendering for that set of at least two sub-regions of the scene; wherein the sets of at least two sub-regions of the scene for which second lists of primitives in the set of plural second lists of primitives are prepared are arranged such that the respective sets of at least two sub-regions of the scene for which second lists of primitives are prepared together encompass all of the plurality of sub-regions for rendering that the scene to be rendered is divided into, such that for each sub-region for rendering that the scene to be rendered is divided into, there will be a first list of primitives in the set of plural first lists of primitives that is exclusive to that single sub-region of the scene, and a second list of primitives in the set of second lists of primitives that is to be used for that sub-region of the scene in common with at least one other sub-region of the scene; and wherein; the at least one processor prepares the set of first primitive lists and the set of second primitive lists by, for each primitive of a set of graphics primitives to be rendered for the scene; determining a location for the primitive in the scene; comparing the determined location for the primitive in the scene to the sub-regions and sets of plural sub-regions that the scene is divided into and for which primitive lists can be prepared, to determine which sub-regions and sets of plural sub-regions the primitive should be rendered for; and in response to the determination of the sub-regions and sets of plural sub-regions that the primitive should be rendered for, selectively including the primitive in at least one of; a first list of primitives of the set of first lists of primitives that is exclusive to a sub-region that it has been determined the primitive should be rendered for; and a second list of primitives of the set of second lists of primitives that is for a set of plural sub-regions that includes a sub-region that it has been determined that the primitive should be rendered for; and further wherein said apparatus is configured to render each sub-region that the scene to be rendered has been divided into for rendering, including when rendering a sub-region of the scene, said apparatus being configured to; use said lists to determine which of said primitives should be rendered for which of said sub-regions, including; when rendering a sub-region of the scene, said apparatus being configured to; use both the first list of primitives of the set of first lists of primitives that is exclusive to that sub-region of the scene, and each second list of primitives in the set of second lists of primitives that is for a set of at least two sub-regions of the scene that includes the sub-region of the scene being rendered, to determine which primitives should be rendered for the sub-region, such that the apparatus will use both a first list of primitives in the set of first lists of primitives and at least one second list of primitives in the set of second lists of primitives to determine which primitives should be rendered for the sub-region. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of sorting graphics primitives for rendering in a graphics processing system in which a scene to be rendered is divided into a plurality of sub-regions for rendering, each sub-region including a respective area of the scene to be rendered, the method comprising:
-
at least one processor of the graphics processing system preparing a set of plural first lists of primitives, each first list of primitives in the set of first lists of primitives being exclusive to a respective single sub-region of the scene and listing primitives for rendering for that single sub-region of the scene; wherein the at least one processor further prepares a set of plural second lists of primitives, the set of plural second lists of primitives being in addition to and different to the set of plural first lists of primitives, and each second list of primitives in the set of second lists of primitives being a list of primitives to be used for a respective set of at least two sub-regions of the scene in common and listing primitives for rendering for that set of at least two sub-regions of the scene; wherein the sets of at least two sub-regions of the scene for which second lists of primitives in the set of plural second lists of primitives are prepared are arranged such that the respective sets of at least two sub-regions of the scene for which second lists of primitives are prepared together encompass all of the plurality of sub-regions for rendering that the scene to be rendered is divided into, such that for each sub-region for rendering that the scene to be rendered is divided into, there will be a first list of primitives in the set of plural first lists of primitives that is exclusive to that single sub-region of the scene, and a second list of primitives in the set of second lists of primitives that is to be used for that sub-region of the scene in common with at least one other sub-region of the scene; and wherein the at least one processor prepares the set of first primitive lists and the set of second primitive lists by, for each primitive of a set of graphics primitives to be rendered for the scene; determining a location for the primitive in the scene; comparing the determined location for the primitive in the scene to the sub-regions and sets of plural sub-regions that the scene is divided into and for which primitive lists can be prepared, to determine which sub-regions and sets of plural sub-regions the primitive should be rendered for; and in response to the determination of the sub-regions and sets of plural sub-regions that the primitive should be rendered for, selectively including the primitive in at least one of; a first list of primitives of the set of first lists of primitives that is exclusive to a sub-region that it has been determined the primitive should be rendered for; and a second list of primitives of the set of second lists of primitives that is for a set of plural sub-regions that includes a sub-region that it has been determined that the primitive should be rendered for; the method further comprising; rendering each sub-region that the scene to be rendered has been divided into for rendering, including when rendering a sub-region of the scene; using said lists to determine which of said primitives should be rendered for which of said sub-regions, including; when rendering a sub-region of the scene; using both the first list of primitives of the set of first lists of primitives that is exclusive to that sub-region of the scene, and each second list of primitives in the set of second lists of primitives that is for a set of at least two sub-regions of the scene that includes the sub-region of the scene being rendered, to determine which primitives should be rendered for the sub-region, such that both a first list of primitives in the set of first lists of primitives and at least one second list of primitives in the set of second lists of primitives are used to determine which primitives should be rendered for the sub-region. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory, computer-readable storage medium, said storage medium storing computer software code which, when implemented on a graphics processing system, performs a method of sorting graphics primitives for rendering, in which a scene to be rendered is divided into a plurality of sub-regions for rendering, each sub-region including a respective area of the scene to be rendered, the method comprising:
-
preparing a set of plural first lists of primitives, each first list of primitives in the set of first lists of primitives being exclusive to a respective single sub-region of the scene and listing primitives for rendering for that single sub-region of the scene; further preparing a set of plural second lists of primitives, the set of plural second lists of primitives being in addition to and different to the set of plural first lists of primitives, and each second list of primitives in the set of second lists of primitives being a list of primitives to be used for a respective set of at least two sub-regions of the scene in common and listing primitives for rendering for that set of at least two sub-regions of the scene; wherein the sets of at least two sub-regions of the scene for which second lists of primitives in the set of plural second lists of primitives are prepared are arranged such that the respective sets of at least two sub-regions of the scene for which second lists of primitives are prepared together encompass all of the plurality of sub-regions for rendering that the scene to be rendered is divided into, such that for each sub-region for rendering that the scene to be rendered is divided into, there will be a first list of primitives in the set of plural first lists of primitives that is exclusive to that single sub-region of the scene, and a second list of primitives in the set of second lists of primitives that is to be used for that sub-region of the scene in common with at least one other sub-region of the scene; the method further comprising; preparing the set of first primitive lists and the set of second primitive lists by, for each primitive of a set of graphics primitives to be rendered for the scene; determining a location for the primitive in the scene; comparing the determined location for the primitive in the scene to the sub-regions and sets of plural sub-regions that the scene is divided into and for which primitive lists can be prepared, to determine which sub-regions and sets of plural sub-regions the primitive should be rendered for; and in response to the determination of the sub-regions and sets of plural sub-regions that the primitive should be rendered for, selectively including the primitive in at least one of; a first list of primitives of the set of first lists of primitives that is exclusive to a sub-region that it has been determined the primitive should be rendered for; and a second list of primitives of the set of second lists of primitives that is for a set of plural sub-regions that includes a sub-region that it has been determined that the primitive should be rendered for; the method further comprising; rendering each sub-region that the scene to be rendered has been divided into for rendering, including when rendering a sub-region of the scene;
using said lists to determine which of said primitives should be rendered for which of said sub-regions, including;when rendering a sub-region of the scene; using both the first list of primitives of the set of first lists of primitives that is exclusive to that sub-region of the scene, and each second list of primitives in the set of second lists of primitives that is for a set of at least two sub-regions of the scene that includes the sub-region of the scene being rendered, to determine which primitives should be rendered for the sub-region, such that both a first list of primitives in the set of first lists of primitives and at least one second list of primitives in the set of second lists of primitives are used to determine which primitives should be rendered for the sub-region.
-
Specification