Systems and methods for providing an enhanced graphics pipeline
First Claim
1. A system for dynamically configuring a graphics pipeline, the system comprising:
- a graphics processing unit; and
a common core subunit, wherein;
the graphics processing unit is configured to;
receive a first stream of graphics data for processing;
determine a first configuration of the common core subunit in response to the first stream of graphics data, wherein the first configuration adapts the common core subunit to process a pixel shader, a vertex shader or a geometry shader;
configure the common core subunit to the first configuration;
receive a second stream of graphics data for processing;
determine a second configuration of the common core subunit in response to the second stream of graphics data, wherein the second configuration adapts the common core subunit to process a pixel shader, a vertex shader or a geometry shader, and wherein the second configuration is different than the first configuration; and
configure the common core subunit to the second configuration; and
the common core subunit is a hardware subelement of the graphics processing unit, wherein a configuration of the common core subunit is changeable from the first configuration to the second configuration.
2 Assignments
0 Petitions
Accused Products
Abstract
An enhanced graphics pipeline is provided that enables common core hardware to perform as different components of the graphics pipeline, programmability of primitives including lines and triangles by a component in the pipeline, and a stream output before or simultaneously with the rendering a graphical display with the data in the pipeline. The programmer does not have to optimize the code, as the common core will balance the load of functions necessary and dynamically allocate those instructions on the common core hardware. The programmer may program primitives using algorithms to simplify all vertex calculations by substituting with topology made with lines and triangles. The programmer takes the calculated output data and can read it before or while it is being rendered. Thus, a programmer has greater flexibility in programming. By using the enhanced graphics pipeline, the programmer can optimize the usage of the hardware in the pipeline, program vertex, line or triangle topologies altogether rather than each vertex alone, and read any calculated data from memory where the pipeline can output the calculated information.
-
Citations
6 Claims
-
1. A system for dynamically configuring a graphics pipeline, the system comprising:
-
a graphics processing unit; and a common core subunit, wherein; the graphics processing unit is configured to; receive a first stream of graphics data for processing; determine a first configuration of the common core subunit in response to the first stream of graphics data, wherein the first configuration adapts the common core subunit to process a pixel shader, a vertex shader or a geometry shader; configure the common core subunit to the first configuration; receive a second stream of graphics data for processing; determine a second configuration of the common core subunit in response to the second stream of graphics data, wherein the second configuration adapts the common core subunit to process a pixel shader, a vertex shader or a geometry shader, and wherein the second configuration is different than the first configuration; and configure the common core subunit to the second configuration; and the common core subunit is a hardware subelement of the graphics processing unit, wherein a configuration of the common core subunit is changeable from the first configuration to the second configuration.
-
-
2. A system for dynamically configuring a graphics pipeline, the system comprising:
-
a graphics processing unit; and a plurality of common core subunits, wherein; the graphics processing unit is configured to; receive a first stream of graphics data for processing; determine a first configuration for each one of the plurality of common core subunits in response to the first stream of graphics data, wherein the first configuration adapts each one of the plurality of common core subunits to process a pixel shader, a vertex shader or a geometry shader; configure each one of the plurality of common core subunits to the first configuration; receive a second stream of graphics data for processing; determine a second configuration for each one of the plurality of common core subunits in response to the second stream of graphics data, wherein the second configuration adapts each one of the plurality of common core subunits to process a pixel shader, a vertex shader or a geometry shader, and wherein the second configuration is different than the first configuration for at least one common core subunit of the plurality of common core subunits; and configure each one of the plurality of common core subunits to the second configuration; and each one of the plurality of common core subunits is a hardware subelement of the graphics processing unit, wherein a configuration of each one of the plurality of common core subunits is changeable from the first configuration to the second configuration. - View Dependent Claims (3, 4, 5, 6)
-
Specification