1
Patrick R Brown, Mark J Kilgard, Robert Steven Glanville: Graphics API with branching capabilities. NVIDIA Corporation, Zilka Kotab PC, February 28, 2006: US07006101 (51 worldwide citation)

A system, method and computer program product are provided for branching during programmable processing utilizing a graphics application program interface in conjunction with a hardware graphics pipeline. Initially, a first instruction defined by the graphics application program interface is identif ...


2
Robert Steven Glanville, Mark J Kilgard, John Erik Lindholm: Software emulator for optimizing application-programmable vertex processing. NVIDIA Corporation, Cooley Godward Kronish, January 9, 2007: US07162716 (36 worldwide citation)

A central processing unit (CPU) including an operating system for executing code segments capable of performing graphics processing on the CPU. Associated therewith is a graphics application specific integrated circuit (ASIC) for performing graphics processing in accordance with a graphics processin ...


3
John Erik Lindholm, Simon S Moy, Robert Steven Glanville: System, method and computer program product for branching during programmable vertex processing. NVIDIA Corporation, Zilka Kotab PC, February 21, 2006: US07002588 (34 worldwide citation)

A system, method and computer program product are provided for branching during graphics processing. Initially, a first operation is performed on data. In response to the first operation, a branching operation is performed to a second operation. The first operation and the second operation are assoc ...


4
Mark J Kilgard, John Erik Lindholm, Robert Steven Glanville, Michael I Gold: System, method and computer program product for vertex attribute aliasing in a graphics pipeline. NVIDIA Corporation, Cooley Godward, May 17, 2005: US06894687 (32 worldwide citation)

A system, method and article of manufacture are provided for aliasing vertex attributes during vertex processing. Initially, a plurality of identifiers are each mapped to one of a plurality of parameters associated with vertex data. Thereafter, the vertex data is processed by calling the parameters ...


5
Boris Beylin, Robert Steven Glanville: Insertion of multithreaded execution synchronization points in a software program. NVIDIA Corporation, Patterson & Sheridan, February 19, 2013: US08381203 (18 worldwide citation)

A compiler is configured to determine a set of points in a flow graph for a software program where multithreaded execution synchronization points are inserted to synchronize divergent threads for SIMD processing. MIMD execution of divergent threads is allowed and execution of the divergent threads p ...


6
John Erik Lindholm, David C Tannenbaum, Robert Steven Glanville: System, method and computer program product for an improved programmable vertex processing model with instruction set. NVIDIA Corporation, Zilka Kotab PC, January 18, 2005: US06844880 (16 worldwide citation)

A system, method and computer program product are provided for branching during programmable processing in a computer graphics pipeline. Initially, data is received. Programmable operations are then performed on the data in order to generate output. Such operations are programmable by a user utilizi ...


7
Michael G Ludwig, Jayant B Kolhe, Robert Steven Glanville, Geoffrey C Berry, Boris Beylin, Michael T Bunnell: Method and apparatus for register allocation in presence of hardware constraints. NVIDIA Corporation, Townsend and Townsend and Crew, March 16, 2010: US07681187 (14 worldwide citation)

A method and apparatus for optimizing register allocation during scheduling and execution of program code in a hardware environment. The program code can be compiled to optimize execution given predetermined hardware constraints. The hardware constraints can include the number of register read and w ...


8
Mark J Kilgard, John Erik Lindholm, Robert Steven Glanville, Michael I Gold: System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline. Nvidia Corporation, Cooley Godward, February 24, 2004: US06697064 (12 worldwide citation)

A system, method and computer program product are provided for tracking a matrix during vertex processing. Initially, a request is received to track a matrix. Such matrix is identified in the request. The identified matrix is then tracked for vertex processing. In one aspect of the present embodimen ...


9
Robert Steven Glanville, Mark J Kilgard, Kurt B Akeley, William R Mark: System and method for interfacing graphics program modules. NVIDIA Corporation, Patterson & Sheridan, September 11, 2007: US07268785 (9 worldwide citation)

A system and method for interfacing graphics program modules written to execute on a plurality of functional units of a graphics processor using a shared memory. A central processing unit (CPU) receives a first graphics program module that outputs a first parameter referenced by a first graphics pro ...


10
Mark J Kilgard, Cass W Everitt, Christopher T Dodd, Robert Steven Glanville: Primitive program compilation for flat attributes with provoking vertex independence. NVIDIA Coporation, Patterson & Sheridan, May 1, 2012: US08171461 (8 worldwide citation)

Systems and methods for compiling high-level primitive programs are used to generate primitive program micro-code for execution by a primitive processor. A compiler is configured to produce micro-code for a specific target primitive processor based on the target primitive processor's capabilities. T ...