Assembling primitive data into multi-view primitive blocks in a graphics processing system

US12307597B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12307597-B2
Application numberUS-202318093786-A
CountryUS
Kind codeB2
Filing dateJan 5, 2023
Priority dateDec 14, 2017
Publication dateMay 20, 2025
Grant dateMay 20, 2025

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.

Methods and apparatus for generating a data structure for storing primitive data for a number of primitives and vertex data for a plurality of vertices, wherein each primitive is defined with reference to one or more of the plurality of vertices. The vertex data comprises data for more than one view, such as a left view and a right view, with vertex parameter values for a first group of vertex parameters being stored separately for each view and vertex parameter values for a second, non-overlapping group of vertex parameters being stored only once and used when rendering either or both views.

First claim

Opening claim text (preview).

What is claimed is: 1. A primitive block assembly hardware module for assembling primitive data into primitive blocks in a graphics processing system, the primitive block assembly module being configured to: receive primitive data that describes each of a plurality of views of a scene, wherein the primitive data comprises a plurality of parameters; and store the primitive data in a primitive block, wherein for each of a subset of the plurality of parameters, a common parameter value is stored to be shared for the plurality of views. 2. The primitive block assembly hardware module according to claim 1 , wherein the primitive block assembly module comprises: an input configured to receive the primitive data and wherein the plurality of views comprises at least a first view and a second view; processing logic arranged to generate the primitive block, the primitive block comprising: vertex data for a plurality of vertices; and primitive data for a plurality of primitives, wherein the primitive data for a primitive comprises a reference to one or more of the plurality of vertices; wherein the vertex data comprises, for each vertex in the plurality of vertices: for each of a first plurality of vertex parameters, a vertex parameter value for the first view and a vertex parameter value for the second view; and for each of a second plurality of vertex parameters, a single vertex parameter value for both the first and second views. 3. The primitive block assembly hardware module according to claim 2 , wherein the processing logic arranged to generate a primitive block comprises logic configured to store, in a primitive block, the primitive data for the plurality of primitives, and for each vertex in the plurality of vertices, to store, in the primitive block, for each of the first plurality of vertex parameters, the vertex parameter value for the first view and the vertex parameter value for the second view; and for each of the second plurality of vertex parameters, the single vertex parameter value for both the first and second views. 4. The primitive block assembly hardware module according to claim 2 , wherein the processing logic arranged to generate a primitive block comprises logic configured to determine which vertex parameters are in the first plurality of vertex parameters and which vertex parameters are in the second plurality of vertex parameters by: comparing, for each vertex and each vertex parameter, a vertex parameter value for the first view and a vertex parameter value for the second view; in response to determining that, for a vertex parameter, the vertex parameter value for the first view for at least one vertex does not match the vertex parameter for the second view for the same vertex, assigning the vertex parameter to the first plurality of vertex parameters; and in response to determining that, for a vertex parameter and for each vertex, the vertex parameter value for the first view and the vertex parameter for the second view match, assigning the vertex parameter to the second plurality of vertex parameters. 5. The primitive block assembly hardware module according to claim 4 , wherein the processing logic arranged to generate a primitive block further comprises logic arranged to store control data identifying which vertex parameters are in the first plurality of vertex parameters and/or which vertex parameters are in the second plurality of vertex parameters. 6. The primitive block assembly hardware module according to claim 2 , wherein the processing logic arranged to generate a primitive block comprises logic configured to determine which vertex parameters are in the first plurality of vertex parameters and which vertex parameters are in the second plurality of vertex parameters by: inspecting, for each vertex parameter, code configured to generate a vertex parameter value for the first view and a vertex parameter value for the second view; in response to determining that, for a vertex parameter, the code is capable of generating a vertex parameter value for the first view for at least one vertex that does not match the vertex parameter for the second view for the same vertex, assigning the vertex parameter to the first plurality of vertex parameters; and in response to determining that, for a vertex parameter, the code is not capable of generating a vertex parameter value for the first view for any vertex that does not match the vertex parameter for the second view for the same vertex, assigning the vertex parameter to the second plurality of vertex parameters. 7. The primitive block assembly hardware module according to claim 1 , wherein the primitive block comprises data for stereoscopic rendering, the plurality of views comprises a first view and a second view, and the first view is a left view and the second view is a right view. 8. The primitive block assembly hardware module according to claim 7 , wherein the primitive block comprises: a first portion comprising only vertex parameter values for the first plurality of vertex parameters for the first view; a second portion comprising only vertex parameter values for the first plurality of vertex parameters for the second view; and a third portion comprising only vertex parameter values for the second plurality of vertex parameters. 9. A method of assembling primitive data into primitive blocks in a graphics processing system, the method comprising: receiving primitive data that describes each of a plurality of views of a scene, wherein the primitive data comprises a plurality of parameters; and storing the primitive data in a primitive block; and for each of a subset of the plurality of parameters, a common parameter value is stored to be shared for the plurality of views. 10. The method according to claim 9 , wherein the plurality of views comprises at least a first view and a second view, and wherein storing primitive data in a primitive block comprises: generating, in a primitive block assembly module, a primitive block, the primitive block comprising: vertex data for a plurality of vertices; and primitive data for a plurality of primitives, wherein the primitive data for a primitive comprises a reference to one or more of the plurality of vertices; wherein the vertex data comprises, for each vertex in the plurality of vertices: for each of a first plurality of vertex parameters, a vertex parameter value for the first view and a vertex parameter value for the second view; and for each of a second plurality of vertex parameters, a single vertex parameter value for both the first and second views. 11. The method according to claim 10 , wherein generating a primitive block comprises: storing, in a primitive block, the primitive data; and storing in the primitive block, for each vertex in the plurality of vertices: for each of the first plurality of vertex parameters, the vertex parameter value for the first view and the vertex parameter value for the second view; and for each of the second plurality of vertex parameters, the single vertex parameter value for both the first and second views. 12. The method according to claim 10 , further comprising: comparing, for each vertex and each vertex parameter, a vertex parameter value for the first view and a vertex parameter value for the second view; in response to determining that, for a vertex parameter, the vertex parameter value for the first view for at least one vertex does not match the vertex parameter for the second view for the same vertex, assigning the vertex parameter to the first plurality of vertex parameters; and in response to determining that, for a vertex parameter and for each vertex, t

Assignees

Inventors

Classifications

  • Image acquisition · CPC title

  • G06T11/40Primary

    Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Memory management · CPC title

  • Encoding, multiplexing or demultiplexing different image signal components (for multi-view video sequence encoding H04N19/597) · 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 US12307597B2 cover?
Methods and apparatus for generating a data structure for storing primitive data for a number of primitives and vertex data for a plurality of vertices, wherein each primitive is defined with reference to one or more of the plurality of vertices. The vertex data comprises data for more than one view, such as a left view and a right view, with vertex parameter values for a first group of vertex …
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06T11/40. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).