Graphics processing systems
AssigneeArm Limited
InventorAndreas Engh-Halstvedt
Life of this patent
Estimating the term…
Abstract
A tile-based graphics processing system comprises a host processor 1 and a graphics processing pipeline 3. The graphics processing pipeline 3 includes a rasterizer, a renderer, a tile buffer comprising an allocated amount of memory for use as the tile buffer, and a write out stage configured to write data stored in the tile buffer to an external memory. The driver 4 for the graphics processing pipeline 3 on the host processor 1 determines the tile data storage requirements for each render target to be generated for a render output to be generated by the graphics processing system and allocates portions of the memory allocated for use as the tile buffer to respective ones of the render targets based on the determination.
Claims15
A tile-based graphics processing system comprising:
- a graphics processing pipeline comprising:
- a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points associated with it, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data;
- a tile buffer configured to store rendered fragment data locally to the graphics processing pipeline prior to that data being written out to an external memory, the tile buffer comprising an allocated amount of memory for use as the tile buffer;
- write out stage circuitry configured to write data stored in the tile buffer to an external memory;
- and
- wherein the graphics processing system further comprises:
- a memory allocator configured to determine the tile data storage requirements for each render target to be generated for a render output to be generated by the graphics processing system and operable to allocate portions of the memory allocated for use as the tile buffer to respective ones of the render targets based on the determination;
- wherein each render target to be stored in the tile buffer has state information associated with it that indicates the tile buffer region that data for the render target in question should be written to;
- and
- wherein the state information for each render target also indicates one or more of:
- the format that the data for the render target is to be stored in whether write out of the render target to external memory is enabled;
- where the render target data should be written to in external memory;
- and how the data should be written out to external memory.
A method of operating a tile-based graphics processing system that comprises:
- a graphics processing pipeline comprising:
- a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points associated with it, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data;
- a tile buffer configured to store rendered fragment data locally to the graphics processing pipeline prior to that data being written out to an external memory, the tile buffer comprising an allocated amount of memory for use as the tile buffer;
- and
- write out stage circuitry configured to write data stored in the tile buffer to an external memory;
- the method comprising:
- when the graphics processing system is to generate a render output:
- determining the tile data storage requirements for each render target to be generated for the render output;
- allocating portions of the memory allocated for use as the tile buffer to respective ones of the render targets based on the determination;
- associating with each render target to be stored in the tile buffer state information that indicates the tile buffer region that data for the render target in question should be written to;
- wherein the state information for each render target also indicates one or more of:
- the format that the data for the render target is to be stored in whether write out of the render target to external memory is enabled;
- where the render target data should be written to in external memory;
- and how the data should be written out to external memory;
- and
- the graphics processing pipeline when generating rendered tile data for a respective render target for the render output, storing the rendered tile data in the portion of the tile buffer allocated to that render target.
A non-transitory computer readable storage medium storing computer software code which when executing on a processor performs a method of operating a tile-based graphics processing system that comprises:
- a graphics processing pipeline comprising:
- a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points associated with it, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data;
- a tile buffer configured to store rendered fragment data locally to the graphics processing pipeline prior to that data being written out to an external memory, the tile buffer comprising an allocated amount of memory for use as the tile buffer;
- and
- write out stage circuitry configured to write data stored in the tile buffer to an external memory;
- the method comprising:
- when the graphics processing system is to generate a render output:
- determining the tile data storage requirements for each render target to be generated for the render output;
- allocating portions of the memory allocated for use as the tile buffer to respective ones of the render targets based on the determination;
- associating with each render target to be stored in the tile buffer state information that indicates the tile buffer region that data for the render target in question should be written to;
- wherein the state information for each render target also indicates one or more of:
- the format that the data for the render target is to be stored in whether write out of the render target to external memory is enabled;
- where the render target data should be written to in external memory;
- and how the data should be written out to external memory;
- and
- the graphics processing pipeline when generating rendered tile data for a respective render target for the render output, storing the rendered tile data in the portion of the tile buffer allocated to that render target.
Dependencies are inferred from the claim text.