← Back to Patent Explorer
US5969726A Expired / Lapsed US ⏱️ 0.0 years remaining

Caching and coherency control of multiple geometry accelerators in a computer graphics system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1997-05-30
•
Granted: 1999-10-19
•
Expires: 2017-05-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer graphics system for rendering graphics primitives based upon primitive data received from a host computer through a graphics interface includes a plurality of geometry accelerators. A distributor divides the primitive data into chunks of primitive data and distributes the chunks to a current geometry accelerator recipient. A state controller is configured to store and resend selected primitive data to the geometry accelerators based upon whether one or more vertices of a graphics primitive are contained in more than one of the chunks of primitive data. Advantageously, this enables the computer graphics system to efficiently process primitive data while avoiding providing the geometry accelerators with an excessive amount of data than necessary for them to render the primitives. Specifically, the state controller includes in the selected primitive data vertex states which were sent to a previous current geometry accelerator recipient and which are required by the current geometry accelerator recipient to assemble at least a portion of the graphics primitive. In addition, the state controller resends the property states to the current geometry accelerator recipient when the currently-stored local state in the current geometry accelerator recipient is not the same as a currently-effective local state. Furthermore, when the resent vertex states include a first and second resent vertex state, the selected primitive data includes property states which changed from when the first vertex state was sent to the previous current geometry accelerator and the second vertex state was sent to the previous current geometry accelerator.

Inventors

  • 👤 Eric M. Rentschler
  • 👤 Alan S. Krech, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 15:06
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/005

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 131 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators each configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in said geometry accelerator; and a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and further configured to store and resend selected primitive data to said plurality of geometry accelerators based upon whether the one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data.
Claim 2
Dependent Claim 131 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators each configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in said geometry accelerator; and a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and further configured to store and resend selected primitive data to said plurality of geometry accelerators based upon whether the one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data.
Claim 3
Dependent Claim 45 words
The system of claim 1, wherein said selected primitive data includes vertex states which have been sent previously to a previous current geometry accelerator recipient and which are required by said current geometry accelerator recipient to assemble at least a portion of said graphics primitive.
Claim 4
Dependent Claim 57 words
The system of claim 2, wherein said resent vertex states include a first and second resent vertex state, wherein said selected primitive data includes property states having values which changed from when said first vertex state was sent to said previous current geometry accelerator and said second vertex state was sent to said previous current geometry accelerator.
Claim 5
Dependent Claim 52 words
The system of claim 1, wherein said distributor resends each of said property states to said current geometry accelerator recipient when said currently-stored local state value in said current geometry accelerator recipient is not the same as a currently-effective local state value defined by said property states received from the host computer.
Claim 6
Dependent Claim 147 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators configured to process the primitive data to render graphics primitives from one or more vertex states in accordance with the property states currently-maintained in each said geometry accelerator; a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient; and a state controller, interposed between said distributor and said plurality of geometry accelerators, configured to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 7
Dependent Claim 147 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators configured to process the primitive data to render graphics primitives from one or more vertex states in accordance with the property states currently-maintained in each said geometry accelerator; a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient; and a state controller, interposed between said distributor and said plurality of geometry accelerators, configured to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 8
Dependent Claim 37 words
The system of claim 5, wherein said state controller logically divides said property states into one or more categories according to a frequency at which said values of said property states are changed by said host computer.
Claim 9
Dependent Claim 32 words
The system of claim 6, wherein said property states categories comprise: local states including those property states which are changed often; and global states including those property states which are changed rarely.
Claim 10
Dependent Claim 49 words
The system of claim 7, wherein one or more of said local states are provided by said state controller to only said current geometry accelerator recipient; and wherein one or more of said global states are provided by said state controller to all of said plurality of geometry accelerators.
Claim 11
Dependent Claim 93 words
The system of claim 5, wherein said state controller comprises: a graphics state memory logically divided into multiple memory regions each of which is dedicated to storing selected vertex states and property states associated with particular system states; coherency control means for identifying said selected vertex states and property states from said chunks of primitive data received from said distributor and for storing said selected vertex states and property states in said graphics state memory; and resend means for resending said selected vertex states and property states to said current geometry accelerator recipient.
Claim 12
Dependent Claim 130 words
The system of claim 9, wherein said property states include a currently-effective property state value defined by said values of said property states generated by the host computer, and currently-maintained property state values stored in each of said plurality of geometry accelerators, wherein, for each of the property states, said coherency control means maintains a status of whether a value for a currently-effective property state associated with a first resent vertex state is the same as a value for a same currently-effective property state associated with a second resent vertex state, and wherein said resend means resends property state values for a currently-effective property state associated with said first resent vertex state is different than said value for said same currently-effective property state associated with said second resent vertex state.
Claim 13
Dependent Claim 41 words
The system of claim 9, wherein said resend means comprises means, responsive to said coherency control means, for combining within said chunks of primitive data provided by said distributor said selected vertex and property states stored in said graphics state memory.
Claim 14
Dependent Claim 20 words
The system of claim 11, wherein said vertex state comprises X, Y, Z and W coordinates of an associated vertex.
Claim 15
Dependent Claim 21 words
The system of claim 11, wherein said global states include material states when said graphics interface is an OpenGL API interface.
Claim 16
Dependent Claim 36 words
The system of claim 11, wherein said local state include normal vector coordinates x, y and z, the current color r, g, b and α, texture coordinates s, r, t and q and the edge flag.
Claim 17
Dependent Claim 35 words
The system of claim 5, wherein said selected vertex states and said selected property states depend upon a type of primitive being rendered by said prior geometry accelerator recipient and said current geometry accelerator recipient.
Claim 18
Dependent Claim 85 words
The system of claim 5, wherein said distributor further comprises: means for generating one or more GA control words to identify which of said plurality of geometry accelerators is to be said current geometry accelerator which is to receive said chunk of primitive data, and wherein each of said plurality of geometry accelerators comprises means for sensing said one or more GA control words on said input bus, and means for determining said selected geometry accelerator based upon said one or more GA control words.
Claim 19
Dependent Claim 231 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators for configured to process the primitive data to render graphics primitives from one or more vertex states in accordance with the property states currently-maintained in each said geometry accelerator; a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient; a state controller, interposed between said distributor and said plurality of geometry accelerators, configured to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator, including, a graphics state memory logically divided into multiple memory regions each of which is dedicated to storing selected vertex states and property states associated with particular system states; coherency control means for identifying said selected vertex states and property states from said chunks of primitive data received from said distributor and for storing said selected vertex states and property states in said graphics state memory; and resend means for resending said selected vertex states and property states to said current geometry accelerator recipient.
Claim 20
Dependent Claim 231 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators for configured to process the primitive data to render graphics primitives from one or more vertex states in accordance with the property states currently-maintained in each said geometry accelerator; a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient; a state controller, interposed between said distributor and said plurality of geometry accelerators, configured to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator, including, a graphics state memory logically divided into multiple memory regions each of which is dedicated to storing selected vertex states and property states associated with particular system states; coherency control means for identifying said selected vertex states and property states from said chunks of primitive data received from said distributor and for storing said selected vertex states and property states in said graphics state memory; and resend means for resending said selected vertex states and property states to said current geometry accelerator recipient.
Claim 21
Dependent Claim 82 words
The system of claim 17, wherein said state controller logically divides said property states into categories comprising: local states including those property states which are changed often; and global states including those property states which are changed rarely, wherein one or more of said local states are provided by said state controller to only said current geometry accelerator recipient, and wherein one or more of said global states are provided by said state controller to all of said plurality of geometry accelerators.
Claim 22
Dependent Claim 130 words
The system of claim 18, wherein said property states include a currently-effective property state value defined by said values of said property states generated by the host computer, and currently-maintained property state values stored in each of said plurality of geometry accelerators, wherein, for each of the property states, said coherency control means maintains a status of whether a value for a currently-effective property state associated with a first resent vertex state is the same as a value for a same currently-effective property state associated with a second resent vertex state, and wherein said resend means resends property state values for a currently-effective property state associated with said first resent vertex state is different than said value for said same currently-effective property state associated with said second resent vertex state.
Claim 23
Dependent Claim 41 words
The system of claim 19, wherein said resend means comprises means, responsive to said coherency control means, for combining within said chunks of primitive data provided by said distributor said selected vertex and property states stored in said graphics state memory.
Claim 24
Independent Claim 134 words
A method for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, in a computer graphics system comprising the steps of: (a) receiving primitive data from the host computer; (b) dividing said primitive data into chunks of primitive data; (c) distributing each of said chunks of primitive data to a current geometry accelerator recipient; (d) processing said primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each said geometry accelerator; and (e) modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 25
Independent Claim 134 words
A method for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, in a computer graphics system comprising the steps of: (a) receiving primitive data from the host computer; (b) dividing said primitive data into chunks of primitive data; (c) distributing each of said chunks of primitive data to a current geometry accelerator recipient; (d) processing said primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each said geometry accelerator; and (e) modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 26
Dependent Claim 47 words
The method of claim 21, further comprising the step of: (f) resending selected primitive data to specific ones of said plurality of geometry accelerators based upon whether one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data.
Claim 27
Dependent Claim 62 words
The method of claim 22, wherein said step (e) comprises the steps of: (1) identifying said selected primitive data including selected vertex states and property states from said chunks of primitive data; (2) storing said selected vertex states and property states in said graphics state memory; and (3) resending said selected vertex states and property states to said current geometry accelerator recipient.
Claim 28
Dependent Claim 161 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators each configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in said geometry accelerator; and a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and further configured to store and resend selected primitive data to said plurality of geometry accelerators based upon whether the one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data, wherein said distributor divides said property states into one or more categories according to a frequency at which said values of said property states are changed by the host computer.
Claim 29
Dependent Claim 161 words
A computer graphics system for rendering graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system comprising: a plurality of geometry accelerators each configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in said geometry accelerator; and a distributor configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and further configured to store and resend selected primitive data to said plurality of geometry accelerators based upon whether the one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data, wherein said distributor divides said property states into one or more categories according to a frequency at which said values of said property states are changed by the host computer.
Claim 30
Dependent Claim 45 words
The system of claim 24, wherein said selected primitive data includes vertex states which have been sent previously to a previous current geometry accelerator recipient and which are required by said current geometry accelerator recipient to assemble at least a portion of said graphics primitive.
Claim 31
Dependent Claim 57 words
The system of claim 25, wherein said resent vertex states include a first and second resent vertex state, wherein said selected primitive data includes property states having values which changed from when said first vertex state was sent to said previous current geometry accelerator and said second vertex state was sent to said previous current geometry accelerator.
Claim 32
Dependent Claim 52 words
The system of claim 24, wherein said distributor resends each of said property states to said current geometry accelerator recipient when said currently-stored local state value in said current geometry accelerator recipient is not the same as a currently-effective local state value defined by said property states received from the host computer.
Claim 33
Dependent Claim 32 words
The system of claim 24, wherein said property states categories comprise: local states including those property states which are changed often; and global states including those property states which are changed rarely.
Claim 34
Dependent Claim 48 words
The system of claim 28, wherein one or more of said local states are provided by said distributor to only said current geometry accelerator recipient; and wherein one or more of said global states are provided by said state controller to all of said plurality of geometry accelerators.
Claim 35
Dependent Claim 143 words
A distributor for use in a computer graphics system that renders graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system including a plurality of geometry accelerators configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each of said plurality of geometry accelerators, the distributor comprising: a state controller configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 36
Dependent Claim 143 words
A distributor for use in a computer graphics system that renders graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system including a plurality of geometry accelerators configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each of said plurality of geometry accelerators, the distributor comprising: a state controller configured to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, and to modify said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator.
Claim 37
Dependent Claim 41 words
The distributor of claim 30, wherein said state controller is further configured to logically divide said property states into one or more categories according to a frequency at which said values of said property states are changed by said host computer.
Claim 38
Dependent Claim 32 words
The distributor of claim 31, wherein said property state categories comprise: local states including those property states which are changed often; and global states including those property states which are changed rarely.
Claim 39
Dependent Claim 49 words
The distributor of claim 32, wherein one or more of said local states are provided by said state controller to only said current geometry accelerator recipient; and wherein one or more of said global states are provided by said state controller to all of said plurality of geometry accelerators.
Claim 40
Dependent Claim 261 words
A distributor for use in a computer graphics system that renders graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system including a plurality of geometry accelerators configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each of said plurality of geometry accelerators, the distributor comprising: a state controller configured to receive primitive data and to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, comprising: a multiplexer having an input at which said primitive data is received from the host and an output connected to said plurality of geometry accelerators; a graphics state memory logically divided into multiple memory regions each of which is dedicated to storing selected vertex states and property states, said graphics state memory connected to an input of said multiplexer; a coherency control circuit constructed and arranged to identify and stored said selected vertex states and property states in said graphics state memory, and to control said multiplexer and said graphics state memory so as to cause retransmission of said selected vertex states and property states to said current geometry accelerator recipient, thereby modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a all or part of a primitive associated with vertex states in said chunk of primitive data.
Claim 41
Dependent Claim 261 words
A distributor for use in a computer graphics system that renders graphics primitives based upon primitive data, including vertex states and property states, received from a host computer through a graphics interface, the system including a plurality of geometry accelerators configured to process primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each of said plurality of geometry accelerators, the distributor comprising: a state controller configured to receive primitive data and to divide the primitive data into chunks of primitive data and to distribute each of said chunks of primitive data to a current geometry accelerator recipient, comprising: a multiplexer having an input at which said primitive data is received from the host and an output connected to said plurality of geometry accelerators; a graphics state memory logically divided into multiple memory regions each of which is dedicated to storing selected vertex states and property states, said graphics state memory connected to an input of said multiplexer; a coherency control circuit constructed and arranged to identify and stored said selected vertex states and property states in said graphics state memory, and to control said multiplexer and said graphics state memory so as to cause retransmission of said selected vertex states and property states to said current geometry accelerator recipient, thereby modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a all or part of a primitive associated with vertex states in said chunk of primitive data.
Claim 42
Dependent Claim 105 words
The distributor of claim 34, wherein said property states include a currently-effective property state value defined by said values of said property states generated by the host computer, and currently-maintained property state values stored in each of said plurality of geometry accelerators, wherein, for each of the property states, said coherency control circuit maintains status information of whether a value for a currently-effective property state associated with a first resent vertex state is the same as a value for a same currently-effective property state associated with a second resent vertex state, said status information stored in coherency control registers accessible to said coherency control circuit.
Claim 43
Dependent Claim 55 words
The distributor of claim 35, wherein said coherency control circuit controls said graphics state memory and said multiplexer so as to resend property state values for a currently-effective property state associated with said first resent vertex state is different than said value for said same currently-effective property state associated with said second resent vertex state.
Claim 44
Dependent Claim 35 words
The distributor of claim 34, wherein said selected vertex states and said selected property states depend upon a type of primitive being rendered by said prior geometry accelerator recipient and said current geometry accelerator recipient.
Claim 45
Dependent Claim 85 words
The distributor of claim 34, wherein said distributor further comprises: means for generating one or more GA control words to identify which of said plurality of geometry accelerators is to be said current geometry accelerator which is to receive said chunk of primitive data, and wherein each of said plurality of geometry accelerators comprises means for sensing said one or more GA control words on said input bus, and means for determining said selected geometry accelerator based upon said one or more GA control words.
Claim 46
Dependent Claim 218 words
In a computer graphics system, a method for rendering graphics primitives based upon primitive data received from a host computer through a graphics interface, the primitive data including vertex states and property states, the method comprising the steps of: (a) receiving at a distributor communicably coupled to the host computer, primitive data from the host computer; (b) dividing, by said distributor, said primitive data into chunks of primitive data; (c) distributing, by said distributor, each of said chunks of primitive data to a plurality of geometry accelerators coupled to said distributor, said plurality of geometry accelerators including a current geometry accelerator recipient; (d) modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator; (e) processing, by each of said geometry accelerator receiving a chunk of primitive data, said primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each said geometry accelerator; and (f) resending selected primitive data to specific ones of said plurality of geometry accelerators based upon whether one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data.
Claim 47
Dependent Claim 218 words
In a computer graphics system, a method for rendering graphics primitives based upon primitive data received from a host computer through a graphics interface, the primitive data including vertex states and property states, the method comprising the steps of: (a) receiving at a distributor communicably coupled to the host computer, primitive data from the host computer; (b) dividing, by said distributor, said primitive data into chunks of primitive data; (c) distributing, by said distributor, each of said chunks of primitive data to a plurality of geometry accelerators coupled to said distributor, said plurality of geometry accelerators including a current geometry accelerator recipient; (d) modifying said chunks of primitive data to include only the vertex and property states which are required by said current geometry accelerator to render a portion of a primitive associated with vertex states received by said current geometry accelerator; (e) processing, by each of said geometry accelerator receiving a chunk of primitive data, said primitive data to render graphics primitives from one or more vertex states in accordance with property states currently-maintained in each said geometry accelerator; and (f) resending selected primitive data to specific ones of said plurality of geometry accelerators based upon whether one or more vertices of a graphics primitive are contained in more than one of said chunks of primitive data.

References Cited (Backward Citations)

US5369738A Cited
US5485559A Cited
US5481669A Cited
US5517611A Cited
US5757385A Cited
US5835096A Cited
US5720019A Cited
US5801711A Cited
US5812136A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-18 2003-04-19 2003-10-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-18 2007-04-19 2007-10-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-18 2011-04-19 2011-10-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag