Triangle Setup and Attribute Setup Integration with Programmable Execution Unit
AssigneeVIA Technologies, Inc.
InventorsYang (Jeff) Jiao, Mike Hong, Yin Li, Yunjie Xu
Life of this patent
Estimating the term…
Abstract
A system for integrating triangle setup and attribute setup operations into a programmable execution unit of a graphics processing unit is disclosed. A method for integrating triangle setup and attribute setup operations into a programmable execution unit graphics processing unit is also disclosed. In one embodiment, at least one execution unit is configured for multi-threaded operation. The at least one execution unit is configured to execute at least one thread for triangle setup operations and attribute setup operations as well as threads for pixel shader, geometry shader and vertex shader operations.
Claims20
A graphics processing unit, comprising:
- at least one execution unit, the at least one execution unit being configured for multi-threaded operation, wherein the at least one execution unit is configured to execute at least one thread for programmable triangle setup operations and programmable attribute setup operations via software instructions;
- wherein
- the at least one execution unit is programmable to execute at least one thread for at least one chosen from:
- vertex shader operations, pixel shader operations and geometry shader operations;
- the at least one execution unit is configured to suspend at least one thread created for the programmable triangle setup operations and the programmable attribute setup operations;
- the at least one execution unit is further configured to output data from the programmable triangle setup operations from the at least one thread to at least one hardware component external to the at least one execution unit;
- the at least one execution unit is further configured to resume the suspended at least one thread in response to receiving data corresponding to the at least one thread;
- and
- the at least one execution unit is further configured to store result data from the at least one thread in a buffer within the at least one execution unit for use by a subsequent thread created by the at least one execution unit.
A graphics processing unit, comprising:
- at least one execution unit, the at least one execution unit being configured for multi-threaded operation, wherein the at least one execution unit is configured to execute at least one thread for triangle setup operations and attribute setup operations and the at least one execution unit is further configured to perform programmable shader operations;
- and
- an execution unit pool control subsystem configured to schedule and manage operations of the at least one thread of the at least one execution unit;
- wherein the execution unit pool control subsystem is further configured to initiate the at least one thread for triangle setup operations and attribute setup operations simultaneously with the programmable shader operations.
A method for performing triangle setup operation and processing attributes in a graphics processing system, comprising the steps of:
- receiving vertex data, the vertex data corresponding to a geometry primitive,
- creating a thread within an execution unit configured for multi-threaded operation, the execution unit further configured to programmable shader operations,
- executing triangle setup operations within the thread on the vertex data,
- executing attribute setup operations within the thread to generate pixel attributes identified in connection with the vertex data, and
- terminating the thread.
Dependencies are inferred from the claim text.