Patents by Inventor Andrew E. Gruber

Andrew E. Gruber 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).

  • Publication number: 20140176586
    Abstract: This disclosure describes techniques for performing memory transfer operations with a graphics processing unit (GPU) based on a selectable memory transfer mode, and techniques for selecting a memory transfer mode for performing all or part of a memory transfer operation with a GPU. In some examples, the techniques of this disclosure may include selecting a memory transfer mode for performing at least part of a memory transfer operation, and performing, with a GPU, the memory transfer operation based on the selected memory transfer mode. The memory transfer mode may be selected from a set of at least two different memory transfer modes that includes an interleave memory transfer mode and a sequential memory transfer mode. The techniques of this disclosure may be used to improve the performance of GPU-assisted memory transfer operations.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Andrew E. Gruber, Tao Wang, Shambhoo Khandelwal
  • Patent number: 8760454
    Abstract: A graphics processing architecture in one example performs vertex manipulation operations and pixel manipulation operations by transmitting vertex data to a general purpose register block, and performing vertex operations on the vertex data b a processor unless the general purpose register block does not have enough available space therein to store incoming vertex data; and continues pixel calculation operations that are to be or are currently being performed the processor based on instructions maintained in an instruction store until enough registers within the general purpose register block become available.
    Type: Grant
    Filed: May 17, 2011
    Date of Patent: June 24, 2014
    Assignee: ATI Technologies ULC
    Inventors: Stephen L. Morein, Laurent Lefebvre, Andrew E. Gruber, Andi Skende
  • Publication number: 20130265308
    Abstract: Aspects of this disclosure relate to a process for rendering graphics that includes performing, with a hardware unit of a graphics processing unit (GPU) designated for vertex shading, a vertex shading operation to shade input vertices so as to output vertex shaded vertices, wherein the hardware unit adheres to an interface that receives a single vertex as an input and generates a single vertex as an output. The process also includes performing, with the hardware unit of the GPU designated for vertex shading, a hull shading operation to generate one or more control points based on one or more of the vertex shaded vertices, wherein the one or more hull shading operations operate on at least one of the one or more vertex shaded vertices to output the one or more control points.
    Type: Application
    Filed: March 14, 2013
    Publication date: October 10, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Andrew E. Gruber, Donghyun Kim
  • Publication number: 20130265307
    Abstract: Aspects of this disclosure relate to a process for rendering graphics that includes designating a hardware shading unit of a graphics processing unit (GPU) to perform first shading operations associated with a first shader stage of a rendering pipeline. The process also includes switching operational modes of the hardware shading unit upon completion of the first shading operations. The process also includes performing, with the hardware shading unit of the GPU designated to perform the first shading operations, second shading operations associated with a second, different shader stage of the rendering pipeline.
    Type: Application
    Filed: March 14, 2013
    Publication date: October 10, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Vineet Goel, Andrew E. Gruber
  • Patent number: 8493404
    Abstract: This disclosure describes techniques for rendering pixels on a display. A processing unit may receive pixel values for surface pixels of each surface of a plurality of surface. The processing unit may also receive an order of the plurality of surfaces. Based on at least the location and order of the plurality surfaces, the processing unit may blend pixel values for co-located surface pixels. The processing unit may also accumulate opaqueness values for co-located surface pixels and/or opaqueness values for surfaces with co-located surface pixels.
    Type: Grant
    Filed: August 24, 2010
    Date of Patent: July 23, 2013
    Assignee: QUALCOMM Incorporated
    Inventor: Andrew E. Gruber
  • Patent number: 8473721
    Abstract: Disclosed herein is a processing unit configured to process video data, and applications thereof. In an embodiment, the processing unit includes a buffer and an execution unit. The buffer is configured to store a data word, wherein the data word comprises a plurality of bytes of video data. The execution unit is configured to execute a single instruction to (i) shift bytes of video data contained in the data word to align a desired byte of video data and (ii) process the desired byte of the video data to provide processed video data.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: June 25, 2013
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Michael J. Mantor, Jeffrey T. Brady, Christopher L. Spencer, Daniel W. Wong, Andrew E. Gruber
  • Patent number: 8400459
    Abstract: A graphics processing system comprises at least one memory device storing a plurality of pixel command threads and a plurality of vertex command threads. An arbiter coupled to the at least one memory device is provided that selects a pixel command thread from the plurality of pixel command threads and a vertex command thread from the plurality of vertex command threads. The arbiter further selects a command thread from the previously selected pixel command thread and the vertex command thread, which command thread is provided to a command processing engine capable of processing pixel command threads and vertex command threads.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: March 19, 2013
    Assignee: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew E. Gruber, Stephen L. Morein
  • Publication number: 20130061027
    Abstract: This disclosure describes techniques for handling divergent thread conditions in a multi-threaded processing system. In some examples, a control flow unit may obtain a control flow instruction identified by a program counter value stored in a program counter register. The control flow instruction may include a target value indicative of a target program counter value for the control flow instruction. The control flow unit may select one of the target program counter value and a minimum resume counter value as a value to load into the program counter register. The minimum resume counter value may be indicative of a smallest resume counter value from a set of one or more resume counter values associated with one or more inactive threads. Each of the one or more resume counter values may be indicative of a program counter value at which a respective inactive thread should be activated.
    Type: Application
    Filed: September 7, 2011
    Publication date: March 7, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Lin Chen, David Rigel Garcia Garcia, Andrew E. Gruber, Guofang Jiao
  • Publication number: 20120050313
    Abstract: This disclosure describes techniques for rendering pixels on a display. A processing unit may receive pixel values for surface pixels of each surface of a plurality of surface. The processing unit may also receive an order of the plurality of surfaces. Based on at least the location and order of the plurality surfaces, the processing unit may blend pixel values for co-located surface pixels. The processing unit may also accumulate opaqueness values for co-located surface pixels and/or opaqueness values for surfaces with co-located surface pixels.
    Type: Application
    Filed: August 24, 2010
    Publication date: March 1, 2012
    Applicant: QUALCOMM Incorporated
    Inventor: Andrew E. Gruber
  • Publication number: 20120019543
    Abstract: A graphics processing system comprises at least one memory device storing a plurality of pixel command threads and a plurality of vertex command threads. An arbiter coupled to the at least one memory device is provided that selects a command thread from either the plurality of pixel or vertex command threads based on relative priorities of the plurality of pixel command threads and the plurality of vertex command threads. The selected command thread is provided to a command processing engine capable of processing pixel command threads and vertex command threads.
    Type: Application
    Filed: October 5, 2011
    Publication date: January 26, 2012
    Applicant: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew E. Gruber, Stephen L. Morein
  • Publication number: 20110057940
    Abstract: Disclosed herein is a processing unit configured to process video data, and applications thereof. In an embodiment, the processing unit includes a buffer and an execution unit. The buffer is configured to store a data word, wherein the data word comprises a plurality of bytes of video data. The execution unit is configured to execute a single instruction to (i) shift bytes of video data contained in the data word to align a desired byte of video data and (ii) process the desired byte of the video data to provide processed video data.
    Type: Application
    Filed: April 16, 2010
    Publication date: March 10, 2011
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Michael J. MANTOR, Jeffrey T. Brady, Christopher L. Spencer, Daniel W. Wong, Andrew E. Gruber
  • Patent number: 7746348
    Abstract: A graphics processing system comprises a command processing engine capable of processing pixel command threads and vertex command threads. The command processing engine is coupled to both a renderer and a scan converter. Upon completing processing of a command thread, which may comprise a pixel command thread or a vertex command thread, the command engine provides the command thread to either the renderer or the scan converter.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: June 29, 2010
    Assignee: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew E. Gruber, Stephen L. Morein
  • Publication number: 20100156915
    Abstract: A graphics processing system comprises at least one memory device storing a plurality of pixel command threads and a plurality of vertex command threads. An arbiter coupled to the at least one memory device is provided that selects a command thread from either the plurality of pixel or vertex command threads based on relative priorities of the plurality of pixel command threads and the plurality of vertex command threads. The selected command thread is provided to a command processing engine capable of processing pixel command threads and vertex command threads.
    Type: Application
    Filed: March 5, 2010
    Publication date: June 24, 2010
    Applicant: ATI TECHNOLOGIES ULC
    Inventors: Laurent LEFEBVRE, Andrew E. GRUBER, Stephen L. MOREIN
  • Patent number: 7742053
    Abstract: A graphics processing system comprises at least one memory device storing a plurality of pixel command threads and a plurality of vertex command threads. An arbiter coupled to the at least one memory device is provided that selects a command thread from either the plurality of pixel or vertex command threads based on relative priorities of the plurality of pixel command threads and the plurality of vertex command threads. The selected command thread is provided to a command processing engine capable of processing pixel command threads and vertex command threads.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: June 22, 2010
    Assignee: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew E. Gruber, Stephen L. Morein
  • Patent number: 7735093
    Abstract: A method and apparatus includes a real time event engine that monitors event signals. A real time event detector within the real time event engine detects when the real time event occurs. Thereupon, real time event commands within a real time event command buffer are fetched and consumed by the command processor in response to the occurrence of the real time event. The real time event detector contains a plurality of control registers, which contain an event selector register, a real time command buffer point register, and a real time command buffer length register. A driver may program the registers, whereupon a singe real time event detector may be used in conjunction with a plurality of real time event command buffers.
    Type: Grant
    Filed: March 2, 2004
    Date of Patent: June 8, 2010
    Assignee: QUALCOMM Incorporated
    Inventors: Andrew E. Gruber, Stephen L. Morein
  • Patent number: 7602399
    Abstract: A device and method for controlling generation of a final pixel utilizes a conditional statement, referred to as an IF_NEIGHBOR statement, which when compiled, causes a programmable pixel shader to perform mip map texture lookups even if a pixel of interest does not meet the condition of the conditional statement. As such, any neighboring pixels needed for mip map selection have their associated shader code guaranteed to execute even though the pixel of interest may fail the conditional portion of the conditional statement. The device and method executes texture address calculations for pixels within a region and for pixels outside of a region but only those necessary to determine the mip map level corresponding to a pixel within the region. Execution of shader code for a current pixel is executed if any of the surrounding neighboring pixels meet the desired condition even if the current pixel does not meet the condition.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: October 13, 2009
    Assignee: ATI Technologies ULC
    Inventor: Andrew E. Gruber
  • Publication number: 20080005399
    Abstract: Command handling logic receives a plurality of command requests and groups the plurality of command requests into one of a plurality of command tracking classifications to produce classification tagged command requests. The plurality of classification tagged command requests and corresponding plurality of command responses are communicated via a bus. Command classification tracking logic tracks the plurality of classification tagged command requests and a corresponding plurality of classification tagged command response to determine when there are no outstanding command requests associated with one of the plurality of command tracking classifications. There are no outstanding command requests associated with one of the plurality of command tracking classifications when the command classification tracking logic has received a number of classification tagged command responses equal to the number of sent classification tagged command requests associated with the same command tracking classification.
    Type: Application
    Filed: May 16, 2006
    Publication date: January 3, 2008
    Applicant: ATI Technologies Inc.
    Inventors: Andrew E. Gruber, Mark Grossman
  • Patent number: 7012613
    Abstract: A method and apparatus for producing a fragment descriptor for use in oversampling anti-aliasing includes processing that begins by generating a single representative color value for a plurality of subpixels of a pixel. The processing then continues by generating a single representative Z value for the pixel. The processing continues by generating masking information for the pixel, wherein the masking information indicates, for a given object-element being rendered, coverage of the pixel by the object-element. The processing continues by packing the single representative color value, the single representative Z value, and the masking information into a fragment descriptor. The processing continues by transporting the fragment descriptor to a custom memory. When the custom memory receives the fragment descriptor it unpacks it to recapture the single representative color value, the single representative Z value and the masking information.
    Type: Grant
    Filed: May 2, 2000
    Date of Patent: March 14, 2006
    Assignee: ATI International SRL
    Inventors: Andrew E. Gruber, Stephen L. Morein
  • Patent number: 6789154
    Abstract: In a specific embodiment, a system for providing video is disclosed, the system having a system bus, which in one embodiment is an Advanced Graphics Port (AGP) bus. The system bus is connected to a data bridge, which is connected to a second and third AGP bus. Each of the AGP busses are connected to graphics processors. The bridge routes data requests from one graphics processor to the second graphics processor without accessing the system AGP bus based upon a memory mapping information stored in a routing table or a register set. In another aspect of the present invention, the bridge responds to initialization requests using attributes that may vary depending on the specific mode of operation. Another aspect of the present invention allows for conversion between various AGP protocol portions.
    Type: Grant
    Filed: May 26, 2000
    Date of Patent: September 7, 2004
    Assignee: ATI International, SRL
    Inventors: Brian Lee, Indra Laksono, Antonio Asaro, Andrew E. Gruber, Gordon Caruk, Milivoje Aleksic
  • Patent number: 6738058
    Abstract: A method and apparatus for compression and decompression of a two dimensional video object such that the video object may subsequently be displayed as a three dimensional object is generally accomplished by a set-up engine which receives vertex parameters and generates a plurality of derivatives and Bresenham parameters, therefrom. The derivatives and Bresenham parameters are provided to an edgewalker circuit which produces, therefrom, a plurality of spans which, in turn, is converted in to a set of texel addresses by a texel address generator. A texel fetch circuit receives the set of texel addresses and uses the addresses to retrieve a set of texels, which is subsequently processed by a texel processor to produce a filtered pixel. To retrieve the set of texels, the texel fetch circuit retrieves a set of indexes based on the texel addresses and uses the set of texels to retrieve the set of texels from a codebook.
    Type: Grant
    Filed: April 30, 1997
    Date of Patent: May 18, 2004
    Assignee: ATI Technologies, Inc.
    Inventors: Andrew E. Gruber, Mark A. Sprague