Patents by Inventor Justin Michael Mahan

Justin Michael Mahan 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: 9448766
    Abstract: An arithmetic logic stage in a graphics pipeline includes a number of arithmetic logic units (ALUs). The ALUs each include, for example, a multiplier and an adder. The ALUs are interconnected by circuitry that, for example, routes the output from the multiplier in one ALU to both the adder in that ALU and an adder in another ALU.
    Type: Grant
    Filed: August 27, 2013
    Date of Patent: September 20, 2016
    Assignee: NVIDIA Corporation
    Inventors: Tyson Bergland, Michael J. M. Toksvig, Justin Michael Mahan
  • Patent number: 9035957
    Abstract: An efficient pipeline debug statistics system and method are described. In one embodiment, an efficient pipeline debug is utilized in a graphics processing pipeline of a handheld device. In one embodiment, a pipeline debug statistics system includes a plurality of pipeline stages with probe points, a central statistic component, and a debug control component. The plurality of pipeline stages with probe points perform pipeline operations. The central statistic block gathers information from the probe points. The debug control component directs the gathering of information from the probe points. In one exemplary implementation, debug control component can direct gathering of information at a variety of levels and abstraction.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: May 19, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Justin Michael Mahan, Christopher J. Mills, Edward A. Hutchins
  • Patent number: 9024957
    Abstract: A method for loading a shader program from system memory into GPU memory. The method includes accessing the shader program in system memory of a computer system. A DMA transfer of the shader program from system memory into GPU memory is performed such that the shader program is loaded into GPU memory in an address independent manner.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: May 5, 2015
    Assignee: Nvidia Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins, Michael J. M. Toksvig
  • Patent number: 8780128
    Abstract: Data for data elements (e.g., pixels) can be stored in an addressable storage unit that can store a number of bits that is not a whole number multiple of the number of bits of data per data element. Similarly, a number of the data elements can be transferred per unit of time over a bus, where the width of the bus is not a whole number multiple of the number of bits of data per data element. Data for none of the data elements is stored in more than one of the storage units or transferred in more than one unit of time. Also, data for multiple data elements is packaged contiguously in the storage unit or across the width of the bus.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: July 15, 2014
    Assignee: Nvidia Corporation
    Inventors: Michael J. M. Toksvig, Justin Michael Mahan, Christopher L. Mills
  • Patent number: 8736624
    Abstract: Detailed herein are approaches to enabling conditional execution of instructions in a graphics pipeline. In one embodiment, a method of conditional execution controller operation is detailed. The method involves configuring the conditional execution controller to evaluate conditional test. A pixel data packet is received into the conditional execution controller, and evaluated, with reference to the conditional test. A conditional execution flag, associated with the pixel data packet, is set, to indicate whether a conditional operation should be performed on the pixel data packet.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: May 27, 2014
    Assignee: NVIDIA Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins
  • Patent number: 8698819
    Abstract: Embodiments for programming a graphics pipeline, and modules within the graphics pipeline, are detailed herein. One embodiment described a method of implementing software assisted shader merging for a graphics pipeline. The method involves accessing a first shader program in memory, and generating a first shader instruction from that program. This first instruction is loaded into an instruction table at a first location, indicated by an offset register. A second shader program in memory is then accessed, and used to generate a second shader instruction. The second shader instruction is loaded into the instruction table at a second location indicated by the offset register.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: April 15, 2014
    Assignee: NVIDIA Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins
  • Patent number: 8659601
    Abstract: A method for loading and executing an indeterminate length shader program. The method includes accessing a first portion of a shader program in graphics memory of a GPU and loading instructions from the first portion into a plurality of stages of the GPU to configure the GPU for program execution. A group of pixels is then processed in accordance with the instructions from the first portion. A second portion of the shader program is accessed in graphics memory of the GPU and instructions from the second portion are loaded into the plurality of stages of the GPU to configure the GPU for program execution. The group of pixels are then processed in accordance with the instructions from the second portion.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: February 25, 2014
    Assignee: NVIDIA Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins, Ewa M. Kubalska, James T. Battle
  • Publication number: 20130346462
    Abstract: An arithmetic logic stage in a graphics pipeline includes a number of arithmetic logic units (ALUs). The ALUs each include, for example, a multiplier and an adder. The ALUs are interconnected by circuitry that, for example, routes the output from the multiplier in one ALU to both the adder in that ALU and an adder in another ALU.
    Type: Application
    Filed: August 27, 2013
    Publication date: December 26, 2013
    Inventors: Tyson BERGLAND, Michael J.M. TOKSVIG, Justin Michael MAHAN
  • Patent number: 8411096
    Abstract: Embodiments for programming a graphics pipeline, and modules within the graphics pipeline, are detailed herein. Several of these embodiments utilize offset registers associated with the instruction tables for the modules within the pipeline. The offset register serves as a pointer to locations in the instruction table, which allows instructions to be written to be instruction table, without requiring that the shader programs have explicit addresses. One embodiment describes a method of programming a graphics pipeline. This method involves accessing the shader program stored in memory. A shader instruction is generated from this shader program, and loaded into an instruction table associated with a target module graphics pipeline. The shader instruction is loaded into the instruction table at the location indicated by an offset register.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: April 2, 2013
    Assignee: Nvidia Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins
  • Publication number: 20090157963
    Abstract: Data for data elements (e.g., pixels) can be stored in an addressable storage unit that can store a number of bits that is not a whole number multiple of the number of bits of data per data element. Similarly, a number of the data elements can be transferred per unit of time over a bus, where the width of the bus is not a whole number multiple of the number of bits of data per data element. Data for none of the data elements is stored in more than one of the storage units or transferred in more than one unit of time. Also, data for multiple data elements is packaged contiguously in the storage unit or across the width of the bus.
    Type: Application
    Filed: December 17, 2007
    Publication date: June 18, 2009
    Inventors: Michael J.M. Toksvig, Justin Michael Mahan, Christopher L. Mills
  • Patent number: 6999087
    Abstract: A graphics system may include a frame buffer and a hardware accelerator. The frame buffer may include a sample buffer and a double-buffered display area. The hardware accelerator may be coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. A host computer may be configured (e.g., by means of stored program instructions) to dynamically update programmable registers of the graphics system to reallocate the sample buffer in the frame buffer in response to user input specifying a change in one or more window size parameters.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: February 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Justin Michael Mahan
  • Patent number: 6784881
    Abstract: A graphics system that is configured to synchronize a slave display channel to a master display channel may include a master display timing generator configured to provide a frame event indication and a slave display timing generator. The slave display timing generator may be configured to receive the frame event indication and, in response to receiving the frame event indication during its active display period, the slave display timing generator may be configured to wait until its current active display period ends and then jump to its synchronization point. Alternatively, the slave display timing generator may be configured to jump to its synchronization point immediately or after the end of the current horizontal line, and any remaining display information in an interrupted frame may be displayed during the next active display period.
    Type: Grant
    Filed: January 4, 2002
    Date of Patent: August 31, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, Justin Michael Mahan, David Naegle, Glenn J. Gracon
  • Publication number: 20030218614
    Abstract: A graphics system may include a frame buffer and a hardware accelerator. The frame buffer may include a sample buffer and a double-buffered display area. The hardware accelerator may be coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. A host computer may be configured (e.g., by means of stored program instructions) to dynamically update programmable registers of the graphics system to reallocate the sample buffer in the frame buffer in response to user input specifying a change in one or more window size parameters.
    Type: Application
    Filed: March 6, 2003
    Publication date: November 27, 2003
    Inventors: Michael G. Lavelle, Justin Michael Mahan
  • Publication number: 20030137528
    Abstract: A graphics system that is configured to synchronize a slave display channel to a master display channel may include a master display timing generator configured to provide a frame event indication and a slave display timing generator. The slave display timing generator may be configured to receive the frame event indication and, in response to receiving the frame event indication during its active display period, the slave display timing generator may be configured to wait until its current active display period ends and then jump to its synchronization point. Alternatively, the slave display timing generator may be configured to jump to its synchronization point immediately or after the end of the current horizontal line, and any remaining display information in an interrupted frame may be displayed during the next active display period.
    Type: Application
    Filed: January 4, 2002
    Publication date: July 24, 2003
    Inventors: Michael A. Wasserman, Michael G. Lavelle, Justin Michael Mahan, David Naegle, Glenn J. Gracon