Unified assembly instruction set for graphics processing
AssigneeNVIDIA Corporation
InventorsPatrick R. Brown, Eric S. Werness
Life of this patent
Estimating the term…
Abstract
Systems and methods for providing a unified instruction set allow shader programs of different types to use a common instruction set. The unified instruction set provides easy access for new graphics hardware features and faster compile times for shader programs. Programmers may use the unified instruction set to write fragment, vertex, or geometry programs. Functions that use the unified instruction set can be included in shader, vertex, or geometry programs without modification. Existing shader programs may be compiled to produce shader microcode based on the unified instruction set. The shader microcode may then be executed by processing units designed to support the unified instruction set.
Claims28
A method for generating shader microcode for execution by a processing unit, the method comprising:
- receiving a shader program comprised of both assembly instructions configured to be executed by a specific target execution unit within the processing unit and a set of assembly instructions from a unified shader program assembly instruction set that is configured to be executed by each target execution unit within the processing unit, including a vertex execution unit and a fragment execution unit,
- determining, based on a tag in the shader program, the specific target execution unit within the processing unit that is supposed to execute the shader program, wherein the specific target execution unit comprises either the vertex execution unit or the fragment execution unit;
- and
- converting, by a single unified microcode assembler regardless of whether the shader program relates to vertex shading or fragment shading, the shader program into shader microcode for execution by the specific target execution unit within the processing unit.
Dependencies are inferred from the claim text.