Patent ID: 7162716

Claim:
A system for improving performance during graphics processing of vertex data for generating primitives, comprising: (a) a central processing unit (CPU) including an operating system for executing code segments capable of performing graphics processing on the CPU; (b) a graphics application specific integrated circuit (ASIC) including a hardware-implemented graphics pipeline capable of performing vertex processing in accordance with a graphics processing standard having a set of per-vertex vertex processing operations with semantic meanings determined by the graphics processing standard; (c) software written in accordance with the graphics processing standard for directing the graphics ASIC to perform vertex processing; (d) an extension to the software operative to identify a first type of vertex processing to be performed on the graphics ASIC utilizing the set of vertex processing operations of the graphics processing standard supported by the graphics ASIC and a second alternate type of vertex processing to be performed on the CPU, wherein the second type of vertex processing includes at least one application-programmable vertex processing operation having application-programmable specified semantic meanings comprising an instruction sequence defining at least one per-vertex vertex processing operation not supported by the graphics ASIC; and (e) a compiler for compiling the software to execute the first type of vertex processing on the graphics ASIC and the second type of vertex processing on the CPU in accordance with the extension; wherein said vertex processing includes at least one member selected from the group consisting of per-vertex lighting, position transformation, and texture coordinate generation and transformation.