Patents by Inventor Loren McQuade

Loren McQuade has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8689199
    Abstract: A high level shader language compiler incorporates transforms to optimize shader code for graphics processing hardware. An instruction reordering transform determines instruction encapsulations of dependent instructions that reduce concurrent register usage by the shader. A phase pulling transform re-organizes the shader's instructions into phases that reduce a measure of depth of texture loads. A register assigning transform assigns registers to lower register usage by the shader.
    Type: Grant
    Filed: May 5, 2009
    Date of Patent: April 1, 2014
    Assignee: Microsoft Corporation
    Inventors: David Floyd Aronson, Anuj Bharat Gosalia, Craig Peeper, Daniel Kurt Baker, Loren McQuade
  • Patent number: 7619630
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Grant
    Filed: July 8, 2008
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Publication number: 20090217252
    Abstract: A high level shader language compiler incorporates transforms to optimize shader code for graphics processing hardware. An instruction reordering transform determines instruction encapsulations of dependent instructions that reduce concurrent register usage by the shader. A phase pulling transform re-organizes the shader's instructions into phases that reduce a measure of depth of texture loads. A register assigning transform assigns registers to lower register usage by the shader.
    Type: Application
    Filed: May 5, 2009
    Publication date: August 27, 2009
    Applicant: Microsoft Corporation
    Inventors: David Floyd Aronson, Anuj Bharat Gosalia, Craig Peeper, Daniel Kurt Baker, Loren McQuade
  • Patent number: 7530062
    Abstract: A high level shader language compiler incorporates transforms to optimize shader code for graphics processing hardware. An instruction reordering transform determines instruction encapsulations of dependent instructions that reduce concurrent register usage by the shader. A phase pulling transform re-organizes the shader's instructions into phases that reduce a measure of depth of texture loads. A register assigning transform assigns registers to lower register usage by the shader.
    Type: Grant
    Filed: May 23, 2003
    Date of Patent: May 5, 2009
    Assignee: Microsoft Corporation
    Inventors: David Floyd Aronson, Anuj Bharat Gosalia, Craig Peeper, Daniel Kurt Baker, Loren McQuade
  • Publication number: 20080291207
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Application
    Filed: July 8, 2008
    Publication date: November 27, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Patent number: 7394464
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: July 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Publication number: 20060170680
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Application
    Filed: January 28, 2005
    Publication date: August 3, 2006
    Applicant: Microsoft Corporation
    Inventors: Craig Peeper, Daniel Baker, David Aronson, Loren McQuade
  • Patent number: 6839062
    Abstract: Usage semantics allow for shaders to be authored independently of the actual vertex data and accordingly enables their reuse. Usage semantics define a feature that binds data between distinct components to allow them to work together. In various embodiments, the components include high level language variables that are bound by an application or by vertex data streams, high level language fragments to enable several fragments to be developed separately and compiled at a later time together to form a single shader, assembly language variables that get bound to vertex data streams, and parameters between vertex and pixel shaders. This allows developers to be able to program the shaders in the assembly and high level language with variables that refer to names rather than registers. By allowing this decoupling of registers from the language, developers can work on the language separately from the vertex data and modify and enhance high level language shaders without having to manually manipulate the registers.
    Type: Grant
    Filed: February 24, 2003
    Date of Patent: January 4, 2005
    Assignee: Microsoft Corporation
    Inventors: David F. Aronson, Amar Patel, Anantha R. Kancheria, Anuj B. Gosalia, Craig Peeper, Daniel K. Baker, Iouri Tarassov, Loren McQuade
  • Publication number: 20040237074
    Abstract: A high level shader language compiler incorporates transforms to optimize shader code for graphics processing hardware. An instruction reordering transform determines instruction encapsulations of dependent instructions that reduce concurrent register usage by the shader. A phase pulling transform re-organizes the shader's instructions into phases that reduce a measure of depth of texture loads. A register assigning transform assigns registers to lower register usage by the shader.
    Type: Application
    Filed: May 23, 2003
    Publication date: November 25, 2004
    Applicant: Microsoft Corporation
    Inventors: David Floyd Aronson, Anuj Bharat Gosalia, Craig Peeper, Daniel Kurt Baker, Loren McQuade
  • Publication number: 20040169671
    Abstract: Systems and methods for the integration of an effects framework pipeline with one or more programmable shaders of a computer graphics pipeline is provided. In an illustrative implementation, one ore more component interfaces is provided that allow for the communication and processing of data by one or more cooperating components of a computer graphics pipeline. The component interfaces operate on a data file having high level programming computer instruction sets that, inter alia, provide a manner to express one or more constraints and/or variables for desired constraints. In operation, the cooperating components, such as programmable shaders, of the computer graphics pipeline perform one or more steps according to the instruction sets found in the effects data file. The instruction sets are designed to allow a plain language expression of a desired effect without requiring knowledge of the machine level operations of the computer graphics pipeline.
    Type: Application
    Filed: March 1, 2003
    Publication date: September 2, 2004
    Inventors: David Floyd Aronson, Anuj B. Gosalia, Craig C. Peeper, Loren McQuade, David John Martin
  • Publication number: 20040164987
    Abstract: Usage semantics allow for shaders to be authored independently of the actual vertex data and accordingly enables their reuse. Usage semantics define a feature that binds data between distinct components to allow them to work together. In various embodiments, the components include high level language variables that are bound by an application or by vertex data streams, high level language fragments to enable several fragments to be developed separately and compiled at a later time together to form a single shader, assembly language variables that get bound to vertex data streams, and parameters between vertex and pixel shaders. This allows developers to be able to program the shaders in the assembly and high level language with variables that refer to names rather than registers. By allowing this decoupling of registers from the language, developers can work on the language separately from the vertex data and modify and enhance high level language shaders without having to manually manipulate the registers.
    Type: Application
    Filed: February 24, 2003
    Publication date: August 26, 2004
    Applicant: Microsoft Corporation
    Inventors: David F. Aronson, Amar Patel, Anantha R. Kancherla, Anuj B. Gosalia, Craig Peeper, Daniel K. Baker, Iouri Tarassov, Loren McQuade