Caching and coherency control of multiple geometry accelerators in a computer graphics system
First Claim
1. 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.
3 Assignments
0 Petitions
Accused Products
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.
93 Citations
39 Claims
-
1. 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. - View Dependent Claims (2, 3, 4)
-
-
5. 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. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. 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. - View Dependent Claims (18, 19, 20)
-
-
21. 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. - View Dependent Claims (22, 23)
-
-
24. 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. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. 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. - View Dependent Claims (31, 32, 33)
-
34. 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. - View Dependent Claims (35, 36, 37, 38)
-
-
39. 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.
-
Specification