Patents by Inventor Barthold B. Lichtenbelt

Barthold B. Lichtenbelt 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: 8253749
    Abstract: One embodiment of the present invention sets forth a set of application programming interface (API) extensions that enable a software application to control the processing work assigned to each GPU in a multi-GPU system. The software application enumerates a list of available GPUs, sets an affinity mask from the enumerated list of GPUs and generates an affinity device context associated with the affinity mask. The software application can then generate and utilize an affinity rendering context that directs rendering commands to a set of explicitly selected GPUs, thus allocating work among specifically selected GPUs. The software application is empowered to use domain specific knowledge to better optimize the work assigned to each GPU, thus achieving greater overall processing efficiency relative to the prior art techniques.
    Type: Grant
    Filed: March 7, 2007
    Date of Patent: August 28, 2012
    Assignee: NVIDIA Corporation
    Inventors: Barthold B. Lichtenbelt, Jeffrey F. Juliano, Jeffrey A. Bolz, Ross A. Cunniff
  • Patent number: 8223159
    Abstract: One embodiment of the present invention sets forth a system configured for transferring data between independent application programming interface (API) contexts on one or more graphics processing units (GPUs). Each API context may derive from an arbitrary API. Data is pushed from one API context to another API context using a peer-to-peer buffer “blit” operation executed between buffers allocated in the source and target API context memory spaces. The source and target API context memory spaces may be located within the frame buffers of the source and target GPUs, respectively, or located within the frame buffer of a single GPU. The data transfers between the API contexts are synchronized using semaphore operator pairs inserted in push buffer commands that are executed by the one or more GPUs.
    Type: Grant
    Filed: June 20, 2006
    Date of Patent: July 17, 2012
    Assignee: NVIDIA Corporation
    Inventors: Franck R. Diard, Barthold B. Lichtenbelt, Mark J. Harris, Simon G. Green
  • Patent number: 8044951
    Abstract: One embodiment of the present invention sets forth a technique for improving the flexibility and programmability of a graphics pipeline by adding application programming interface (API) extensions to the OpenGL Shading Language (GLSL) that provide native support for integer data types and operations. The integer API extensions span from the API to the hardware execution units within a graphics processing unit (GPU), thereby providing native integer support throughout the graphics pipeline.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: October 25, 2011
    Assignee: NVIDIA Corporation
    Inventors: Patrick R. Brown, Barthold B. Lichtenbelt, Christopher T. Dodd
  • Patent number: 7969444
    Abstract: A method and apparatus for distributing the workload of rendering an image where texture mapping is involved among multiple graphics processing units (GPUs) are provided. The method generally entails dividing a texture map among multiple GPUs, performing texture mapping in each GPU to render image data in each GPU's frame buffer, combining the image data from each frame buffer, and scanning out the combined image to a display.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: June 28, 2011
    Assignee: NVIDIA Corporation
    Inventors: Ralf Biermann, Barthold B. Lichtenbelt, Ross A. Cunniff, Jeffrey F. Juliano, Jeffrey A. Bolz
  • Patent number: 7958498
    Abstract: Methods and systems for processing a geometry shader program developed in a high-level shading language are disclosed. Specifically, in one embodiment, after having received the geometry shader program configured to be executed by a first processing unit in a programmable execution environment, the high-level shading language instructions of the geometry shader program is converted into low-level programming language instructions. The low-level programming language instructions are then linked with the low-level programming language instructions of a domain-specific shader program, which is configured to be executed by a second processing unit also residing in the programmable execution environment. The linked instructions of the geometry shader program are directed to the first processing unit, and the linked instructions of the domain-specific shader program are directed to the second processing unit.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: June 7, 2011
    Assignee: NVIDIA Corporation
    Inventors: Patrick R. Brown, Barthold B. Lichtenbelt, Christopher T. Dodd, Mark J. Kilgard
  • Patent number: 7928989
    Abstract: One embodiment of the invention is a method for storing transformed vertex attributes that includes the steps of allocating memory space for a transform feedback buffer, selecting one or more transformed vertex attributes to store in the transform feedback buffer independently of any shader programs executing on any processing units in the graphics rendering pipeline, configuring the transform feedback buffer to store the one or more transformed vertex attributes, and initiating a processing mode wherein vertex data is processed in the graphics rendering pipeline to produce the transformed vertices, the attributes of which are then written to the transform feedback buffer. One advantage is that the transform feedback buffer can be used to store and access transformed vertices, without having to convert the vertex data to a pixel format, store the pixels in a frame buffer, and then convert the pixels back to a vertex format.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: April 19, 2011
    Assignee: NVIDIA Corporation
    Inventors: Patrick R. Brown, Eric S. Werness, Barthold B. Lichtenbelt, Nicholas B. Carter
  • Patent number: 7852345
    Abstract: One embodiment of the invention is a method of accessing a bindable uniform variable bound to a buffer object that includes the steps of creating a linked program object comprising one or more shader programs, where each shader program includes instructions written in a high-level shader language, and where the linked program object includes a reference to a bindable uniform variable and indicates which shader programs use the bindable uniform variable. The method also includes determining a memory size to support the bindable uniform variable, allocating a buffer object having the memory size, binding the buffer object to the bindable uniform variable, populating the buffer object with values for the bindable uniform variable, and accessing the values of the bindable uniform with one or more of the shader programs in the linked program object.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: December 14, 2010
    Assignee: NVIDIA Corporation
    Inventors: Patrick R. Brown, Barthold B. Lichtenbelt
  • Patent number: 7746347
    Abstract: Methods and systems for processing a geometry shader program developed in a high-level shading language are disclosed. Specifically, in one embodiment, after having received the geometry shader program configured to be executed by a first processing unit in a programmable execution environment, the high-level shading language instructions of the geometry shader program is converted into low-level programming language instructions. The low-level programming language instructions are then linked with the low-level programming language instructions of a domain-specific shader program, which is configured to be executed by a second processing unit also residing in the programmable execution environment. The linked instructions of the geometry shader program are directed to the first processing unit, and the linked instructions of the domain-specific shader program are directed to the second processing unit.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: June 29, 2010
    Assignee: NVIDIA Corporation
    Inventors: Patrick R. Brown, Barthold B. Lichtenbelt, Christopher T. Dodd, Mark J. Kilgard