Graphics processing
AssigneeArm Limited
InventorAndreas Due Engh-Halstvedt
Life of this patent
Estimating the term…
Abstract
When generating a render output in which primitives to be rendered can be clipped against clip planes in a tile-based graphics processing system, it is determined whether a primitive should undergo a clipping process as part of its processing for a render output; and, if so, an effect of clipping the primitive against clip planes defined for the render output is estimated. The primitive is then processed for inclusion in one or more binning data structures based on the estimated effect of clipping of the primitive against clip planes defined for the render output. Thereafter a clipping process for the primitive is performed and the primitive is then rendered using the binning data structure(s) and the result of the clipping process for the primitive.
Claims20
A method of operating a graphics processor when executing a tile-based graphics processing pipeline to generate an output, the graphics processing pipeline being executed comprising:
- a sequence of one or more geometry processing stages to perform geometry processing;
- a binning stage that performs a binning process to generate data structures for identifying geometry to be processed for respective rendering tiles of a render output being generated;
- and
- a rendering stage for rendering tiles of a render output being generated;
- the method comprising, when generating a render output in which primitives to be rendered can be clipped against a clip plane defined for the render output, for a primitive to be processed for the render output being generated:
- determining whether the primitive should undergo a clipping process as part of its processing for the render output;
- when it is determined that the primitive should undergo a clipping process as part of its processing for the render output, estimating an effect of clipping the primitive against clip planes defined for the render output;
- the binning stage processing the primitive for inclusion in one or more data structures for identifying geometry to be processed for respective rendering tiles of the render output being generated based on the estimated effect of clipping of the primitive against clip planes defined for the render output;
- thereafter performing a clipping process for the primitive;
- and
- the rendering stage using the data structures generated by the binning stage and the result of the clipping process for the primitive for processing the primitive for the render output.
A graphics processor operable to execute a tile-based graphics processing pipeline to generate an output, the graphics processor comprising one or more processing circuits configured to execute a graphics processing pipeline comprising:
- a sequence of one or more geometry processing stages to perform geometry processing;
- a binning stage that performs a binning process to generate data structures for identifying geometry to be processed for respective rendering tiles of a render output being generated;
- and
- a rendering stage for rendering tiles of a render output being generated;
- the graphics processor comprising a processing circuit configured to, when generating a render output in which primitives to be rendered can be clipped against a clip plane defined for the render output:
- determine for a primitive to be processed for the render output being generated whether the primitive should undergo a clipping process as part of its processing for the render output;
- and
- when it is determined that the primitive should undergo a clipping process as part of its processing for the render output, estimate an effect of clipping the primitive against clip planes defined for the render output;
- wherein:
- the binning stage processing circuit is configured to process a primitive for which it has been determined that the primitive should undergo a clipping process as part of its processing for a render output for inclusion in one or more data structures for identifying geometry to be processed for respective rendering tiles of a render output being generated based on the estimated effect of clipping of the primitive against clip planes defined for the render output;
- the graphics processor comprises a clipping processing circuit configured to, after the binning stage processing circuit has processed a primitive for which it has been determined that the primitive should undergo a clipping process as part of its processing for a render output for inclusion in one or more data structures for identifying geometry to be processed for respective rendering tiles of the render output being generated based on the estimated effect of clipping of the primitive against clip planes defined for the render output, perform a clipping process for the primitive;
- and
- the rendering stage processing circuit is configured to use the data structures generated by the binning stage and the result of the clipping process for a primitive that has undergone a clipping process for a render output for processing the primitive for the render output.
A non-transitory computer readable storage medium storing computer software code which when executing on one or more processors performs a method of operating a graphics processor when executing a tile-based graphics processing pipeline to generate an output, the graphics processing pipeline being executed comprising:
- a sequence of one or more geometry processing stages to perform geometry processing;
- a binning stage that performs a binning process to generate data structures for identifying geometry to be processed for respective rendering tiles of a render output being generated;
- and
- a rendering stage for rendering tiles of a render output being generated;
- the method comprising, when generating a render output in which primitives to be rendered can be clipped against a clip plane defined for the render output, for a primitive to be processed for the render output being generated:
- determining whether the primitive should undergo a clipping process as part of its processing for the render output;
- when it is determined that the primitive should undergo a clipping process as part of its processing for the render output, estimating an effect of clipping the primitive against clip planes defined for the render output;
- the binning stage processing the primitive for inclusion in one or more data structures for identifying geometry to be processed for respective rendering tiles of the render output being generated based on the estimated effect of clipping of the primitive against clip planes defined for the render output;
- thereafter performing a clipping process for the primitive;
- and
- the rendering stage using the data structures generated by the binning stage and the result of the clipping process for the primitive for processing the primitive for the render output.
Dependencies are inferred from the claim text.