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: 11615504Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may receive a plurality of indices for each of a plurality of primitives. The apparatus may also determine a size of each of a plurality of primitive batches, each of the plurality of primitive batches including at least one primitive of the plurality of primitives. Additionally, the apparatus may divide, based on the determined size of each of the plurality of primitive batches, the plurality of primitives into the plurality of primitive batches. The apparatus may also distribute each of the plurality of primitive batches to each of a plurality of geometry slices, each of the plurality of geometry slices including one or more primitives of the plurality of primitives.Type: GrantFiled: April 13, 2021Date of Patent: March 28, 2023Assignee: QUALCOMM IncorporatedInventors: Vishwanath Shashikant Nikam, Kalyan Kumar Bhiravabhatla, Suvam Chatterjee, Siva Satyanarayana Kola, Abhishek Lal, Andrew Evan Gruber
-
Publication number: 20230092394Abstract: Aspects presented herein relate to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may receive a plurality of primitives associated with one or more frames in a scene, a portion of the scene being associated with an upscaled sample space and/or a downscaled sample space. The apparatus may also perform a binning pass for the plurality of primitives, the binning pass being associated with an unscaled sample space, where the binning pass sorts each of the primitives into one or more bins associated with each of the one or more frames. Further, the apparatus may perform one of one or more rendering passes for each of the one or more bins. The apparatus may also rasterize each of the plurality of primitives based on at least one of the upscaled sample space or the downscaled sample space.Type: ApplicationFiled: September 17, 2021Publication date: March 23, 2023Inventors: Ashokanand NEELAMBARAN, Piyush GUPTA, Kalyan Kumar BHIRAVABHATLA, Tao WANG, Andrew Evan GRUBER
-
Patent number: 11600002Abstract: Methods, systems, and devices for graphics processing are described. A device may receive an image including a set of pixels. The device may render a first subset of pixels in each bin of a set of bins during a first rendering pass, and defer rendering a second subset of pixels and a third subset of pixels in each bin of the set of bins during the first rendering pass. The second subset of pixels may include edge pixels and the third subset of pixels may be between the first subset of pixels and the second subset of pixels. The device may render the second subset of pixels and the third subset of pixels in each bin of the set of bins during a second rendering pass based on rendering the first subset of pixels. The device may then output the image based on the first and second rendering pass.Type: GrantFiled: June 3, 2020Date of Patent: March 7, 2023Assignee: QUALCOMM IncorporatedInventors: Jian Liang, Andrew Evan Gruber, Tao Wang, Srihari Babu Alla, Kalyan Kumar Bhiravabhatla, Jonnala Gadda Nagendra Kumar, William Licea-Kane, Fredrick Alan Hickman
-
Publication number: 20230019763Abstract: The present disclosure relates to methods and apparatus for graphics processing. For example, disclosed techniques facilitate improving bindless state processing at a graphics processor. Aspects of the present disclosure can receive, at a graphics processor, a shader program including a preamble section and a main instructions section. Aspects of the present disclosure can also execute, with a scalar processor dedicated to processing preamble sections, instructions of the preamble section to implement a bindless mechanism for loading constant data associated with the shader program. Additionally, aspects of the present disclosure can distribute the main instructions section and the constant data to a streaming processor for executing the shader program.Type: ApplicationFiled: January 31, 2020Publication date: January 19, 2023Inventors: Yun DU, Andrew Evan GRUBER, Chun YU, Chihong ZHANG, Thomas Edwin FRISINGER, Richard HAMMERSTONE, Zilin YING, Heng QI, Quanquan XU, Sheng GU
-
Publication number: 20230017522Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may configure a portion of a GPU to include at least one depth processing block, the at least one depth processing block being associated with at least one depth buffer. The apparatus may also identify one or more depth passes of each of a plurality of graphics workloads, the plurality of graphics workloads being associated with a plurality of frames. Further, the apparatus may process each of the one or more depth passes in the portion of the GPU including the at least one depth processing block, each of the one or more depth passes being processed by the at least one depth processing block, the one or more depth passes being associated with the at least one depth buffer.Type: ApplicationFiled: July 12, 2021Publication date: January 19, 2023Inventors: Sreyas KURUMANGHAT, Kalyan Kumar BHIRAVABHATLA, Andrew Evan GRUBER, Tao WANG, Baoguang YANG, Pavan Kumar AKKARAJU
-
Publication number: 20220414814Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may generate a table including a plurality of entries to store data associated with at least one of a constant value or an immediate value. The apparatus may also process, upon generating the table, first data including at least one of a constant value or an immediate value. Further, the apparatus may store, in the generated table, at least one of the constant value or the immediate value of the first data. The apparatus may also transmit, upon storing at least one of the constant value or the immediate value in the table, the table including the stored at least one of the constant value or the immediate value of the first data.Type: ApplicationFiled: June 23, 2021Publication date: December 29, 2022Inventors: Yun DU, Andrew Evan GRUBER, Chihong ZHANG, Jian JIANG, Gang ZHONG, Baoguang YANG, Yang XIA, Chun YU, Eric DEMERS
-
Publication number: 20220357983Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may receive a plurality of workloads based on a workload order, each of the plurality of workloads being received in the workload order including at least a first workload and a second workload. The apparatus may also allocate one or more workloads of the plurality of workloads to one or more wave slots. Additionally, the apparatus may execute the one or more allocated workloads at the one or more wave slots, such that at least the first workload is executed at the first wave slot and the second workload is executed at the second wave slot. The apparatus may also allocate at least one other workload of the plurality of workloads to at least one previously-allocated wave slot of the one or more wave slots.Type: ApplicationFiled: May 7, 2021Publication date: November 10, 2022Inventors: Yun DU, Andrew Evan GRUBER, Zilin YING, Gang ZHONG, Baoguang YANG, Yang YU, Yang XIA, Ravindra KUMAR, Chun YU, Eric DEMERS
-
Patent number: 11481865Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may modify at least one texture memory object to support a data structure for one or more tensor objects. The apparatus may also determine one or more supported memory layouts for the one or more tensor objects based on the modified at least one texture memory object. Additionally, the apparatus may access data associated with the one or more tensor objects based on the one or more supported memory layouts, the data for each of the one or more tensor objects corresponding to at least one data instruction. The apparatus may also execute the at least one data instruction based on the accessed data associated with the one or more tensor objects.Type: GrantFiled: February 11, 2021Date of Patent: October 25, 2022Assignee: QUALCOMM IncorporatedInventors: Elina Kamenetskaya, Liang Li, Andrew Evan Gruber, Jeffrey Leger, Balaji Calidas, Ruihao Zhang
-
Patent number: 11475533Abstract: This disclosure provides systems, devices, apparatus and methods, including computer programs encoded on storage media, for GPR optimization in a GPU based on a GPR release mechanism. More specifically, a GPU may determine at least one unutilized branch within an executable shader based on constants defined for the executable shader. Based on the at least one unutilized branch, the GPU may further determine a number of GPRs that can be deallocated from previously allocated GPRs. The GPU may deallocate, for a subsequent thread within a draw call, the number of GPRs from the previously allocated GPRs during execution of the executable shader based on the determined number of GPRs to be deallocated.Type: GrantFiled: May 18, 2020Date of Patent: October 18, 2022Assignee: QUALCOMM IncorporatedInventors: Andrew Evan Gruber, Yun Du
-
Publication number: 20220327654Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may receive a plurality of indices for each of a plurality of primitives. The apparatus may also determine a size of each of a plurality of primitive batches, each of the plurality of primitive batches including at least one primitive of the plurality of primitives. Additionally, the apparatus may divide, based on the determined size of each of the plurality of primitive batches, the plurality of primitives into the plurality of primitive batches. The apparatus may also distribute each of the plurality of primitive batches to each of a plurality of geometry slices, each of the plurality of geometry slices including one or more primitives of the plurality of primitives.Type: ApplicationFiled: April 13, 2021Publication date: October 13, 2022Inventors: Vishwanath Shashikant NIKAM, Kalyan Kumar BHIRAVABHATLA, Suvam CHATTERJEE, Siva Satyanarayana KOLA, Abhishek LAL, Andrew Evan GRUBER
-
Publication number: 20220284537Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may determine whether to divide a group of threads into a plurality of sub-groups of threads, each thread of the group of threads being associated with a shader program. The apparatus may also divide, upon determining to divide the group of threads into the plurality of sub-groups of threads, the group of threads into the plurality of sub-groups of threads. Additionally, the apparatus may execute, upon dividing the group of threads into the plurality of sub-groups of threads, a subsection of the shader program for each sub-group of threads of the plurality of sub-groups of threads.Type: ApplicationFiled: March 3, 2021Publication date: September 8, 2022Inventor: Andrew Evan GRUBER
-
Patent number: 11423600Abstract: The present disclosure relates to methods and apparatus for configuring a texture filtering logic unit for deep learning operation. The apparatus can map one or more inputs of a deep learning operation to a respective input of a texture filtering logic unit in a graphics pipeline. Moreover, the apparatus can generate, by the texture filtering logic unit, at least one output for the deep learning operation based on the one or more inputs mapped to the texture filtering logic unit. Furthermore, the apparatus can communicate the at least one output to a programmable shader, which can analyze the output result to determine information relating to an input image based on the deep learning operation.Type: GrantFiled: July 24, 2020Date of Patent: August 23, 2022Assignee: QUALCOMM IncorporatedInventors: Liang Li, Elina Kamenetskaya, Andrew Evan Gruber
-
Publication number: 20220253969Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may modify at least one texture memory object to support a data structure for one or more tensor objects. The apparatus may also determine one or more supported memory layouts for the one or more tensor objects based on the modified at least one texture memory object. Additionally, the apparatus may access data associated with the one or more tensor objects based on the one or more supported memory layouts, the data for each of the one or more tensor objects corresponding to at least one data instruction. The apparatus may also execute the at least one data instruction based on the accessed data associated with the one or more tensor objects.Type: ApplicationFiled: February 11, 2021Publication date: August 11, 2022Inventors: Elina KAMENETSKAYA, Liang LI, Andrew Evan GRUBER, Jeffrey LEGER, Balaji CALIDAS, Ruihao ZHANG
-
Patent number: 11373268Abstract: The present disclosure relates to methods and apparatus for hybrid rendering of video/graphics content by a graphics processing unit. The apparatus can configure the graphics processing unit of a display apparatus to perform multiple rendering passes for a frame of a scene to be displayed on a display device. Moreover, the apparatus can control the graphics processing unit to perform a first rendering pass of the multiple rendering passes to generate a first render target that is stored in either an on-chip graphics memory of the GPU or a system of the display apparatus. The apparatus can also control the graphics processing unit to perform a second rendering pass to generate a second render target that is alternatively stored in the system memory of the display apparatus or on-chip graphics memory of the GPU.Type: GrantFiled: September 30, 2020Date of Patent: June 28, 2022Assignee: QUALCOMM IncorporatedInventors: Srihari Babu Alla, Jonnala Gadda Nagendra Kumar, Avinash Seetharamaiah, Andrew Evan Gruber, Richard Hammerstone, Thomas Edwin Frisinger, Daniel Archard
-
Patent number: 11373267Abstract: The present disclosure relates to methods and apparatus for graphics processing. Aspects of the present disclosure can determine a portion of a display area, where the portion of the display area is determined based on display content of the display area. Further, aspects of the present disclosure can communicate display information corresponding to the determined portion of the display area. Additionally, aspects of the present disclosure can update the display information corresponding to the determined portion of the display area. Aspects of the present disclosure can also communicate the updated display information corresponding to the determined portion of the display area. Aspects of the present disclosure can also render at least some display content of the display area corresponding to the determined portion of the display area. In some aspects, the updated display information can be based on the rendered display content of the display area.Type: GrantFiled: November 4, 2019Date of Patent: June 28, 2022Assignee: QUALCOMM IncorporatedInventors: Tao Wang, Shambhoo Khandelwal, Andrew Evan Gruber, Shangmei Yu, Jing Gao, Junmei Shao, Thomas Edwin Frisinger, Rick Hammerstone
-
Publication number: 20220139021Abstract: This disclosure provides systems, devices, apparatus, and methods, including computer programs encoded on storage media, for fast incremental shared constants. In aspects, a CPU may determine/update shared constant data for a first draw call of a plurality of draw calls. The shared constant data, which may correspond to at least one shader, may be updated based on a draw call update for the first draw call. The CPU may communicate the updated shared constant data for the first draw call to a GPU. The GPU may receive, in at least one register, the updated shared constant data from the CPU and configure the at least one register based on the updated shared constant data corresponding to the draw call update of the first draw call of the plurality of draw calls.Type: ApplicationFiled: October 30, 2020Publication date: May 5, 2022Inventors: Thomas Edwin FRISINGER, Richard HAMMERSTONE, Andrew Evan GRUBER, Gang ZHONG, Yun DU, Jonnala Gadda NAGENDRA KUMAR
-
Publication number: 20220122238Abstract: This disclosure provides systems, devices, apparatus, and methods, including computer programs encoded on storage media, for configurable aprons for expanded binning. Aspects of the present disclosure include identifying one or more pixel tiles in at least one bin and determining edge information for each pixel tile of the one or more pixel tiles. The edge information may be associated with one or more pixels adjacent to each pixel tile. The present disclosure further describes determining whether at least one adjacent bin is visible based on the edge information for each pixel tile, where the at least one adjacent bin may be adjacent to the at least one bin.Type: ApplicationFiled: October 16, 2020Publication date: April 21, 2022Inventors: Kalyan Kumar BHIRAVABHATLA, Krishnaiah GUMMIDIPUDI, Ankit Kumar SINGH, Andrew Evan GRUBER, Pavan Kumar AKKARAJU, Srihari Babu ALLA, Jonnala Gadda NAGENDRA KUMAR, Vishwanath Shashikant NIKAM
-
Publication number: 20220101479Abstract: The present disclosure relates to methods and apparatus for hybrid rendering of video/graphics content by a graphics processing unit. The apparatus can configure the graphics processing unit of a display apparatus to perform multiple rendering passes for a frame of a scene to be displayed on a display device. Moreover, the apparatus can control the graphics processing unit to perform a first rendering pass of the multiple rendering passes to generate a first render target that is stored in either an on-chip graphics memory of the GPU or a system of the display apparatus. The apparatus can also control the graphics processing unit to perform a second rendering pass to generate a second render target that is alternatively stored in the system memory of the display apparatus or on-chip graphics memory of the GPU.Type: ApplicationFiled: September 30, 2020Publication date: March 31, 2022Inventors: Srihari Babu ALLA, Jonnala Gadda NAGENDRA KUMAR, Avinash SEETHARAMAIAH, Andrew Evan GRUBER, Richard HAMMERSTONE, Thomas Edwin FRISINGER, Daniel ARCHARD
-
Publication number: 20220068015Abstract: 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: ApplicationFiled: November 9, 2021Publication date: March 3, 2022Inventors: Vineet GOEL, Andrew Evan Gruber, Donghyun Kim
-
Patent number: 11257277Abstract: The present disclosure relates to methods and apparatus for graphics processing. In some aspects, the apparatus selects a first mip-map layer with a first texture size and a second mip-map layer with a second texture size based on a third texture size of an image. The apparatus also determines a relative distance associated with the texture sizes. Additionally, the apparatus determines a first quantity of samples to select from the first mip-map layer, and determines a second quantity of samples to select from the second mip-map layer, the second quantity of samples being less than the first quantity of samples, and a second quantity of filter taps being less than a first quantity of filter taps. Also, the apparatus generates the image at the third texture size through filtering based on the first quantity of samples and the second quantity of samples.Type: GrantFiled: June 25, 2020Date of Patent: February 22, 2022Assignee: QUALCOMM IncorporatedInventors: Liang Li, Andrew Evan Gruber, Yunshan Kong