Clipping of graphics primitives

US2015161814A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2015161814-A1
Application numberUS-201414536070-A
CountryUS
Kind codeA1
Filing dateNov 7, 2014
Priority dateDec 11, 2013
Publication dateJun 11, 2015
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for performing clipping of graphics primitives 60 with respect to a clipping boundary 65 are described. The clipping step 10 may be performed separately for each tile of a graphics frame to be rendered, after a primitive list for the tile has been read from a primitive memory 38 . Clipping may be performed only for larger primitives whose size exceeds a given threshold. Clipping of a primitive 60 to the clipping boundary 65 may be performed inexactly so that only a single clipped primitive is generated which may extend beyond the clipping boundary. A clipped primitive generated by clipping may be used for a depth function calculation of a primitive setup operation and not for an edge determination.

First claim

Opening claim text (preview).

1 . A method of processing graphics primitives for a frame to be displayed, the method comprising steps of: allocating each primitive to at least one of a plurality of tiles forming the frame to be displayed; for each tile, storing in a primitive memory a primitive list identifying vertex data for vertices of the primitives allocated to the corresponding tile; and performing tile processing separately for each tile, the tile processing comprising: (i) reading the primitive list for the tile from the primitive memory; (ii) if the primitive list identifies a target primitive that satisfies a clipping condition, performing a clipping operation for clipping the target primitive with respect to the clipping boundary to generate additional vertex data for at least one additional vertex for a clipped primitive not identified in the primitive list, the clipped primitive extending beyond the clipping boundary by a smaller amount than the target primitive; (iii) performing at least one further graphics processing operation using the vertex data identified in the primitive list and the additional vertex data generated by the clipping operation; and (iv) outputting display data generated by the at least one further graphics processing operation for the tile. 2 . The method according to claim 1 , wherein the additional vertex data generated by the clipping operation is stored in a cache memory having a lower access latency than the primitive memory. 3 . The method according to claim 1 , wherein the additional vertex data is represented by weight values for determining the additional vertex data from the vertex data of the target primitive. 4 . The method according to claim 1 , wherein the clipping boundary corresponds to a boundary of a view frustum. 5 . The method according to claim 1 , wherein the clipping boundary is outside a boundary of a view frustum. 6 . The method according to claim 1 , wherein the clipping condition is satisfied if the target primitive extends beyond the clipping boundary. 7 . The method according to claim 1 , wherein the clipping condition is satisfied if the target primitive extends beyond the clipping boundary and a primitive size parameter indicative of a size of the target primitive exceeds a predetermined threshold. 8 . The method according to claim 1 , wherein the at least one further graphics processing operation comprises at least one of: a primitive setup operation comprising at least one of an edge determination for determining which positions are inside or outside an edge of the primitive and a depth function determination for determining a depth function for determining depth values within the primitive; and a rasterization operation for calculating position data for a plurality of graphics fragments to be used to represent the primitive. 9 . An apparatus for processing graphics primitives for a frame to be displayed, comprising: allocation circuitry configured to allocate each primitive to at least one of a plurality of tiles forming the frame to be displayed; a primitive memory configured to store for each tile a primitive list identifying vertex data for vertices of the primitives allocated to the corresponding tile; and a tile processing pipeline configured to perform tile processing separately for each tile, the tile processing comprising: (i) reading the primitive list for the tile from the primitive memory; (ii) if the primitive list identifies a target primitive that satisfies a clipping condition, performing a clipping operation for clipping the target primitive with respect to the clipping boundary to generate additional vertex data for at least one additional vertex for a clipped primitive not identified in the primitive list, the clipped primitive extending beyond the clipping boundary by a smaller amount than the target primitive; (iii) performing at least one further graphics processing operation using the vertex data identified in the primitive list and the additional vertex data generated by the clipping operation; and (iv) outputting display data generated by the at least one further graphics processing operation for the tile. 10 . An apparatus for processing graphics primitives for a frame to be displayed, comprising: allocation means for allocating each primitive to at least one of a plurality of tiles forming the frame to be displayed; primitive memory means for storing for each tile a primitive list identifying vertex data for vertices of the primitives allocated to the corresponding tile; and tile processing means for performing tile processing separately for each tile, the tile processing comprising: (i) reading the primitive list for the tile from the primitive memory means; (ii) if the primitive list identifies a target primitive that satisfies a clipping condition, performing a clipping operation for clipping the target primitive with respect to the clipping boundary to generate additional vertex data for at least one additional vertex for a clipped primitive not identified in the primitive list, the clipped primitive extending beyond the clipping boundary by a smaller amount than the target primitive; (iii) performing at least one further graphics processing operation using the vertex data identified in the primitive list and the additional vertex data generated by the clipping operation; and (iv) outputting display data generated by the at least one further graphics processing operation for the tile. 11 . A method of processing graphics primitives for display, wherein the primitives have vertex coordinates represented in floating-point format, comprising steps of: determining, based on the vertex coordinates for a target primitive to be processed, a primitive size parameter indicative of a size of the target primitive; if the primitive size parameter exceeds a predetermined threshold, performing a clipping operation on the target primitive with respect to a clipping boundary to generate at least one clipped primitive which extends beyond the clipping boundary by a smaller amount than the target primitive, and performing at least one graphics processing operation using the at least one clipped primitive; and if the primitive size parameter does not exceed the predetermined threshold, omitting the clipping operation for the target primitive and performing the at least one graphics processing operation using the target primitive. 12 . The method according to claim 11 , wherein the primitive size parameter comprises a magnitude of one of the vertex coordinates for the target primitive. 13 . The method according to claim 11 , wherein the predetermined threshold has a value such that a primitive for which the primitive size parameter does not exceed the predetermined threshold is processed by the at least one graphics processing operation without errors caused by loss of floating-point precision. 14 . The method according to claim 11 , wherein the clipping boundary corresponds to a boundary of a view frustum. 15 . The method according to claim 11 , wherein the clipping boundary is outside a boundary of a view frustum. 16 . The method according to claim 11 , wherein the clipping operation clips the target primitive exactly to the clipping boundary to generate the at least one clipped primitive. 17 . The method according to claim 11 , wherein the clipping operation generates a single clipped primitive corresponding to the target primitive; and if a portion of the target primitive lying within the clipping boundary can

Assignees

Inventors

Classifications

  • General purpose rendering architectures · CPC title

  • G06T15/30Primary

    Clipping · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Parallel processing · CPC title

  • Memory management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2015161814A1 cover?
Techniques for performing clipping of graphics primitives 60 with respect to a clipping boundary 65 are described. The clipping step 10 may be performed separately for each tile of a graphics frame to be rendered, after a primitive list for the tile has been read from a primitive memory 38 . Clipping may be performed only for larger primitives whose size exceeds a given threshold. Clippi…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06T15/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 11 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).