Graphics processing systems
AssigneeArm Limited
InventorsSandeep KAKARLAPUDI, Andreas ENGH-HALSTVEDT, Frank Klaeboe LANGTIND
Life of this patent
Estimating the term…
Abstract
A method of operating a graphics processor to process sets of geometry to generate an output. Each set of geometry is associated with lower level geometry including vertex data to be used when rendering the geometry as well a separate higher level representation of the geometry. The higher level representations of the geometry can be obtained by the graphics processor independently of the other, lower level geometry and used to determine which sets of geometry should be processed for which regions of the output. Once this determination is made, the regions can be rendered by obtaining and processing the lower level geometry accordingly.
Claims20
A method of operating a graphics processor to process sets of geometry for an application in order to generate a render output for the application, the method comprising:
- when processing plural sets of geometry for the render output, wherein each set of geometry is associated with respective lower level geometry data that is to be used when rendering the set of geometry, the associated lower level geometry data for a set of geometry including vertex data representing a set of vertices for the geometry in the set of geometry, and wherein each set of geometry is further associated with a higher level representation of the position of the set of geometry, the higher level representation of the position of the set of geometry being separate and in addition to the associated lower level geometry data for the set of geometry and being obtainable by the graphics processor independently of the associated lower level geometry data:
- for each set of geometry to be processed:
- the graphics processor obtaining the higher level representation of the position of the set of geometry;
- and
- the graphics processor determining, using the higher level representation of the position of the set of geometry, which region or regions of a plurality of regions into which the render output has been divided, the set of geometry should be processed for, wherein each region comprises a respective area of the render output;
- the graphics processor thereby generating one or more lists indicating which sets of geometry should be processed for which regions of the render output;
- the method further comprising:
- after the one or more lists indicating which sets of geometry should be processed for which regions of the render output have been generated:
- for a region of the render output to be rendered:
- determining using the respective list(s) for the region of the render output which sets of geometry should be processed for the region of the render output;
- obtaining the associated lower level geometry data for each of the sets of geometry that are indicated to be processed for the region, the obtained lower level geometry data including the vertex data representing the vertices for the geometry in the sets of geometry that are indicated to be processed for the region;
- and
- processing the obtained lower level geometry data to generate a render output.
A computer program comprising software code that when executing on a data processor performs a method of operating a graphics processor to process sets of geometry for an application in order to generate a render output for the application, the method comprising:
- when processing plural sets of geometry for the render output, wherein each set of geometry is associated with respective lower level geometry data that is to be used when rendering the set of geometry, the associated lower level geometry data for a set of geometry including vertex data representing a set of vertices for the geometry in the set of geometry, and wherein each set of geometry is further associated with a higher level representation of the position of the set of geometry, the higher level representation of the position of the set of geometry being separate and in addition to the associated lower level geometry data for the set of geometry and being obtainable by the graphics processor independently of the associated lower level geometry data:
- for each set of geometry to be processed:
- the graphics processor obtaining the higher level representation of the position of the set of geometry;
- and
- the graphics processor determining, using the higher level representation of the position of the set of geometry, which region or regions of a plurality of regions into which the render output has been divided, the set of geometry should be processed for, wherein each region comprises a respective area of the render output;
- the graphics processor thereby generating one or more lists indicating which sets of geometry should be processed for which regions of the render output;
- the method further comprising:
- after the one or more lists indicating which sets of geometry should be processed for which regions of the render output have been generated:
- for a region of the render output to be rendered:
- determining using the respective list(s) for the region of the render output which sets of geometry should be processed for the region of the render output;
- obtaining the associated lower level geometry data for each of the sets of geometry that are indicated to be processed for the region, the obtained lower level geometry data including the vertex data representing the vertices for the geometry in the sets of geometry that are indicated to be processed for the region;
- and
- processing the obtained lower level geometry data to generate a render output.
A graphics processor operable to process sets of geometry for an application in order to generate a render output for the application, the graphics processor including:
- a sorting circuit that is configured to:
- when processing plural sets of geometry for a render output, wherein each set of geometry is associated with respective lower level geometry data that is to be used when rendering the set of geometry, the associated lower level geometry data for a set of geometry including vertex data representing a set of vertices for the geometry in the set of geometry, and wherein each set of geometry is further associated with a higher level representation of the position of the set of geometry, the higher level representation of the position of the set of geometry being separate and in addition to the associated lower level geometry data for the set of geometry and being obtainable by the graphics processor independently of the associated lower level geometry data:
- for each set of geometry to be processed:
- cause the graphics processor to obtain the higher level representation of the position of the set of geometry;
- determine, using the higher level representation of the position of the set of geometry, which region or regions of a plurality of regions into which the render output has been divided the set of geometry should be processed for, wherein each region comprises a respective area of the render output;
- and
- thereby generate one or more lists indicating which sets of geometry should be processed for which regions of the render output;
- the graphics processor further including a rendering circuit that is configured to render regions of the render output by:
- for each region to be rendered:
- the rendering circuit determining using the respective list(s) for the region of the render output which sets of geometry should be processed for the region of the render output;
- the rendering circuit obtaining the associated lower level geometry data for each of the sets of geometry that are indicated to be processed for the region, the obtained lower level geometry data including the vertex data representing the vertices for the geometry in the sets of geometry that are indicated to be processed for the region;
- and
- the rendering circuit processing the obtained lower level geometry data to generate a render output.
Dependencies are inferred from the claim text.