Patents by Inventor Andrew Evan Gruber

Andrew Evan 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).

  • Patent number: 10621690
    Abstract: A computing device may allocate a plurality of blocks in the memory, wherein each of the plurality of blocks is of a uniform fixed size in the memory. The computing device may further store a plurality of bandwidth-compressed graphics data into the respective plurality of blocks in the memory, wherein one or more of the plurality of bandwidth-compressed graphics data each has a size that is smaller than the fixed size. The computing device may further store data associated with the plurality of bandwidth-compressed graphics data into unused space of one or more of the plurality of blocks that contains the respective one or more of the plurality of bandwidth-compressed graphics data.
    Type: Grant
    Filed: September 17, 2015
    Date of Patent: April 14, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Andrew Evan Gruber, Rexford Alan Hill, Shambhoo Khandelwal
  • Publication number: 20200098165
    Abstract: A method, a computer-readable medium, and an apparatus are provided. The apparatus may be a GPU. The GPU generates first visibility information during a visibility pass associated with an application requested depth pre-pass. In addition, the GPU renders an application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass.
    Type: Application
    Filed: September 26, 2018
    Publication date: March 26, 2020
    Inventor: Andrew Evan GRUBER
  • Patent number: 10559123
    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: Grant
    Filed: March 14, 2013
    Date of Patent: February 11, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Vineet Goel, Andrew Evan Gruber
  • Publication number: 20200020067
    Abstract: A method, an apparatus, and a computer-readable medium may be configured to perform a binning pass for a first frame. The apparatus may be configured to perform a rendering pass for the first frame in parallel with the binning pass. The apparatus may be configured to enhance efficiency in performing a binning pass and a rendering pass for tile-based rendering, such that the binning pass and rendering pass are performed concurrently. The apparatus may be configured to perform the binning pass using a first hardware pipeline, and may be configured to perform the rendering pass using a second hardware pipeline.
    Type: Application
    Filed: July 13, 2018
    Publication date: January 16, 2020
    Inventors: Jian LIANG, Tao WANG, Chun YU, Andrew Evan GRUBER, Donghyun KIM, Nigel POOLE, Tzun-Wei LEE, Shambhoo KHANDELWAL
  • Patent number: 10535185
    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: Grant
    Filed: March 14, 2013
    Date of Patent: January 14, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Vineet Goel, Andrew Evan Gruber, Donghyun Kim
  • Publication number: 20200013137
    Abstract: Methods, systems, and devices for rendering are described. A device may divide a frame into a plurality of bins. The device may generate a command stream containing multiple repetitions of a fixed-stride draw table (FSDT), where each repetition of the FSDT includes a respective state vector for one or more hardware registers of a set of hardware registers. The device may identify, for each bin, a subset of the multiple repetitions of the FSDT in the command stream that include a live draw call. The device may execute, using the set of hardware registers, one or more rendering commands for each bin based at least in part on the corresponding subset of the multiple repetitions of the FSDT.
    Type: Application
    Filed: July 5, 2018
    Publication date: January 9, 2020
    Inventors: Richard Hammerstone, Nigel Poole, Thomas Edwin Frisinger, Andrew Evan Gruber, Anisha Datla
  • Patent number: 10521321
    Abstract: A graphics processing unit (GPU) of a GPU subsystem of a computing device operates in a first rendering mode to process graphics data to produce a first image. The GPU operates in a second rendering mode to process the graphics data to produce a second image. The computing device detects whether a fault has occurred in the GPU subsystem based at least in part on comparing the first image with the second image.
    Type: Grant
    Filed: December 21, 2017
    Date of Patent: December 31, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Alex Kwang Ho Jong, Jay Chunsup Yun, Donghyun Kim, Rahul Gulati, Brendon Lewis Johnson, Andrew Evan Gruber
  • Patent number: 10504278
    Abstract: A method, an apparatus, and a computer-readable medium for wireless communication are provided. In one aspect, an example method may include storing a first rendered bin corresponding to a frame into a memory. The example method may include storing a second rendered bin including a first over rendered region into the memory. The example method may include blending the first over rendered region with a region of the first rendered bin to generate a blended region in the first rendered bin.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: December 10, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Tate Hornbeck, Jonathan Wicks, Andrew Evan Gruber
  • Patent number: 10467723
    Abstract: A graphics processing unit (GPU) of a GPU subsystem of a computing device processes graphics data to produce a plurality of portions of a first image, and to produce a plurality of portions of a second image. The GPU generates a plurality of data integrity check values associated with the plurality of portions of the first image, and a plurality of data integrity check values associated with the plurality of portions of the second image. The GPU determines whether each of the plurality of portions of the second image matches a corresponding portion of the first image. The GPU determines, prior to producing every portion of the second image, whether an operational fault has occurred in the GPU subsystem based at least in part the determination of whether each of the plurality of portions of the second image matches a corresponding portion of the first image.
    Type: Grant
    Filed: December 21, 2017
    Date of Patent: November 5, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Brendon Lewis Johnson, Andrew Evan Gruber, Jay Chunsup Yun, Rahul Gulati, Donghyun Kim, Alex Kwang Ho Jong
  • Patent number: 10467774
    Abstract: Techniques of this disclosure may include processing data using one or more processors to produce a first image, including storing intermediate first results of processing the data in at least one internal memory of the one or more processors according to a first memory access pattern, processing the data using the one or more processors to produce a second image, including storing intermediate second results of processing the data in the at least one internal memory of the one or more processors according to a second memory access pattern, wherein the second memory access pattern is different than the first memory access pattern, comparing the first image to the second image, and generating an interrupt if the comparison indicates that the first image is different than the second image.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: November 5, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Andrew Evan Gruber, Rahul Gulati, Brendon Lewis Johnson, Jay Chunsup Yun, Alex Kwang Ho Jong, Donghyun Kim
  • Patent number: 10445902
    Abstract: Techniques are described in which a device is configured to retrieve a metadata buffer for rendering a sub-frame of a set of sub-frames for a frame. A data block of a data buffer is configured to store image data for rendering the sub-frame. In response to determining, based on the metadata buffer for rendering the sub-frame, that the sub-frame includes a color pattern, fixed color value, or combination thereof, the device refrains from retrieving the image data from the data block of the data buffer and determines the image data for rendering the sub-frame based on the metadata buffer.
    Type: Grant
    Filed: December 13, 2016
    Date of Patent: October 15, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Andrew Evan Gruber, Serag GadelRab, Zhenbiao Ma, Meghal Varia, Tao Wang, Tom Longo, Mark Sternberg, Paul Chow
  • Patent number: 10430912
    Abstract: A GPU may be configured to detect and nullify unnecessary instructions. Nullifying unnecessary instructions include overwriting a detected unnecessary instruction with a no operation (NOP) instruction. In another example, nullifying unnecessary instructions may include writing a value to a 1-bit instruction memory. Each bit of the 1-bit instruction memory may be associated with a particular instruction of the draw call. If the 1-bit instruction memory has a true value (e.g., 1), the GPU is configured to not execute the particular instruction.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: October 1, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Andrew Evan Gruber, Lin Chen
  • Publication number: 20190196926
    Abstract: A graphics processing unit (GPU) of a GPU subsystem of a computing device operates in a first rendering mode to process graphics data to produce a first image. The GPU operates in a second rendering mode to process the graphics data to produce a second image. The computing device detects whether a fault has occurred in the GPU subsystem based at least in part on comparing the first image with the second image.
    Type: Application
    Filed: December 21, 2017
    Publication date: June 27, 2019
    Inventors: Alex Kwang Ho Jong, Jay Chunsup Yun, Donghyun Kim, Rahul Gulati, Brendon Lewis Johnson, Andrew Evan Gruber
  • Publication number: 20190197651
    Abstract: A graphics processing unit (GPU) of a GPU subsystem of a computing device processes graphics data to produce a plurality of portions of a first image, and to produce a plurality of portions of a second image. The GPU generates a plurality of data integrity check values associated with the plurality of portions of the first image, and a plurality of data integrity check values associated with the plurality of portions of the second image. The GPU determines whether each of the plurality of portions of the second image matches a corresponding portion of the first image. The GPU determines, prior to producing every portion of the second image, whether an operational fault has occurred in the GPU subsystem based at least in part the determination of whether each of the plurality of portions of the second image matches a corresponding portion of the first image.
    Type: Application
    Filed: December 21, 2017
    Publication date: June 27, 2019
    Inventors: Brendon Lewis Johnson, Andrew Evan Gruber, Jay Chunsup Yun, Rahul Gulati, Donghyun Kim, Alex Kwang Ho Jong
  • Publication number: 20190171538
    Abstract: The disclosure describes techniques for a self-test of a graphics processing unit (GPU) independent of instructions from another processing device. The GPU may perform the self-test in response to a determination that the GPU enters an idle mode. The self-test may be based on information indicating a safety level, where the safety level indicates how many faults in circuits or memory blocks of the GPU need to be detected.
    Type: Application
    Filed: December 5, 2017
    Publication date: June 6, 2019
    Inventors: Rahul Gulati, Andrew Evan Gruber, Brendon Lewis Johnson, Jay Chunsup Yun, Donghyun Kim, Alex Kwang Ho Jong, Anshuman Saxena
  • Publication number: 20190139263
    Abstract: Techniques of this disclosure may include processing data using one or more processors to produce a first image, including storing intermediate first results of processing the data in at least one internal memory of the one or more processors according to a first memory access pattern, processing the data using the one or more processors to produce a second image, including storing intermediate second results of processing the data in the at least one internal memory of the one or more processors according to a second memory access pattern, wherein the second memory access pattern is different than the first memory access pattern, comparing the first image to the second image, and generating an interrupt if the comparison indicates that the first image is different than the second image.
    Type: Application
    Filed: November 6, 2017
    Publication date: May 9, 2019
    Inventors: Andrew Evan Gruber, Rahul Gulati, Brendon Lewis Johnson, Jay Chunsup Yun, Alex Kwang Ho Jong, Donghyun Kim
  • Publication number: 20190087930
    Abstract: A method for memory bandwidth compression comprising analyzing a texture surface to identify one or more areas of the texture surface that are fetchable with lower memory bandwidth consumption as compared to other areas of the texture surface, adding metadata to a metadata surface associated with the texture surface based on the analysis, the metadata indicating the one or more areas of the texture surface that are fetchable with lower memory bandwidth consumption as compared to other areas of the texture surface, and fetching the texture surface in accordance with the metadata.
    Type: Application
    Filed: September 18, 2017
    Publication date: March 21, 2019
    Inventor: Andrew Evan Gruber
  • Publication number: 20190050958
    Abstract: A method for processing data in a graphics processing unit including receiving an indication that all threads of a warp in a graphics processing unit (GPU) are to execute a same branch in a first set of instructions, storing one or more predicate bits in a memory as a single set of predicate bits, wherein the single set of predicate bits applies to all of the threads in the warp, and executing a portion of the first set of instructions in accordance with the single set of predicate bits. Executing the first set of instructions may include executing the first set of instruction in accordance with the single set of predicate bits using a single instruction, multiple data (SIMD) processing core and/or executing the first set of instruction in accordance with the single set of predicate bits using a scalar processing unit.
    Type: Application
    Filed: August 14, 2018
    Publication date: February 14, 2019
    Inventors: Andrew Evan Gruber, Pramod Vasant Argade, Jing Wu
  • Patent number: 10192280
    Abstract: A graphics processing unit (GPU) may rasterize a primitive into a plurality of samples, wherein vertices of the primitive are associated with VRS parameters. The GPU may determine a VRS quality group that comprises one or more sub regions of the plurality of samples based at least in part on the VRS parameters. The GPU may fragment shade a VRS tile that represents the VRS quality group, wherein the VRS tile comprises fewer samples than the VRS quality group. The GPU may amplify the stored VRS tile into shaded fragments that correspond to the VRS quality group.
    Type: Grant
    Filed: February 16, 2017
    Date of Patent: January 29, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Skyler Jonathon Saleh, Vineet Goel, Maurice Franklin Ribble, Andrew Evan Gruber
  • Patent number: 10157443
    Abstract: The techniques of this disclosure include deferred batching of incremental constant loads. Graphics APIs include the ability to use lightweight constants for use by shaders. A buffer is allocated by a graphics processing unit (GPU) driver that contains a snapshot of the current lightweight constants. This may provide a complete set of state to serve as a starting point. From then on updates to the lightweight constants may be appended to this buffer in an incremental fashion by inserting the update and increasing the size of the buffer by a command processor on a graphics processing unit (GPU). The incremental nature of the updates may be captured, but removes the need for issuing them on every draw call and instead the incremental updates may be batch processed when a live draw call is encountered.
    Type: Grant
    Filed: July 28, 2017
    Date of Patent: December 18, 2018
    Assignee: QUALCOMM Incorporated
    Inventors: Richard Hammerstone, Thomas Edwin Frisinger, Andrew Evan Gruber, Nigel Terence Poole