Patents by Inventor Guofang Jiao

Guofang Jiao 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: 9633411
    Abstract: Techniques are described for determining whether data of a variable for each of a plurality of graphics items is same. If determined that the data is the same, the techniques store the data in a storage location of a specialized shared general purpose register that is associated with the variable.
    Type: Grant
    Filed: June 26, 2014
    Date of Patent: April 25, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Andrew Evan Gruber, Lin Chen, Guofang Jiao, Chun Yu
  • Publication number: 20160292812
    Abstract: A graphics processing unit (GPU) may perform three-dimensional (3D) graphics processing in accordance with a 3D graphics pipeline using a first plurality of graphics processing hardware units of the GPU. The GPU may further perform a two-dimensional (2D) graphics operation using a second plurality of graphics processing hardware units of the GPU not used in performing the 3D graphics processing and one or more graphics processing hardware units of the first plurality of graphics processing hardware units of the GPU.
    Type: Application
    Filed: September 25, 2015
    Publication date: October 6, 2016
    Inventors: Chehui Wu, Guofang Jiao, Jian Liang, Minjie Huang
  • Patent number: 9454841
    Abstract: This disclosure describes techniques for performing high order filtering in a graphics processing unit (GPU). In examples of the disclosure, high order filtering may be implemented on a modified texture engine of a GPU using a single shader instruction. The modified texture engine may be configured to fetch all source pixels needed for the high order filtering and blend them together with pre-loaded filtering weights.
    Type: Grant
    Filed: August 5, 2014
    Date of Patent: September 27, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
  • Publication number: 20160132987
    Abstract: This disclosure describes an apparatus configured to process graphics data. The apparatus may include a fixed hardware pipeline configured to execute one or more functions on a current set of graphics data. The fixed hardware pipeline may include a plurality of stages including a bypassable portion of the plurality of stages. The apparatus may further include a shortcut circuit configured to route the current set of graphics data around the bypassable portion of the plurality of stages, and a controller positioned before the bypassable portion of the plurality of stages, the controller configured to selectively route the current set of graphics data to one of the shortcut circuit or the bypassable portion of the plurality of stages.
    Type: Application
    Filed: November 10, 2014
    Publication date: May 12, 2016
    Inventors: Liang Li, Andrew Evan Gruber, Guofang Jiao, Zhenyu Qi, Gregory Steve Pitarys, Scott William Nolan
  • Publication number: 20160042549
    Abstract: This disclosure describes techniques for performing high order filtering in a graphics processing unit (GPU). In examples of the disclosure, high order filtering may be implemented on a modified texture engine of a GPU using a single shader instruction. The modified texture engine may be configured to fetch all source pixels needed for the high order filtering and blend them together with pre-loaded filtering weights.
    Type: Application
    Filed: August 5, 2014
    Publication date: February 11, 2016
    Inventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
  • Publication number: 20160042550
    Abstract: This disclosure describes techniques for performing high order filtering in a graphics processing unit (GPU). In examples of the disclosure, high order filtering may be implemented on a modified texture engine of a GPU using a single shader instruction. The modified texture engine may be configured to fetch all source pixels needed for the high order filtering and blend them together with pre-loaded filtering weights.
    Type: Application
    Filed: August 5, 2014
    Publication date: February 11, 2016
    Inventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
  • Publication number: 20160019027
    Abstract: At least one processor may receive components of a vector, wherein each of the components of the vector comprises at least an exponent. The at least one processor may further determine a maximum exponent out of respective exponents of the components of the vector, and may determine a scaling value based at least in part on the maximum exponent. An arithmetic logic unit of the at least one processor may scale the vector, by subtracting the scaling value from each of the respective exponents of the components of the vector.
    Type: Application
    Filed: July 15, 2014
    Publication date: January 21, 2016
    Inventors: Lin Chen, Andrew Evan Gruber, Guofang Jiao, Chiente Ho, Pramod Vasant Argade
  • Patent number: 9123168
    Abstract: Systems and methods for a tessellation are described. For tessellation, a tessellation unit may divide a domain into a plurality of portions, where at least one portion is a contiguous portion. The tessellation unit may output domain coordinates of primitives along diagonal strips within the contiguous portion to increase the likelihood that patch coordinates that correspond to the domain coordinates are stored in a reuse buffer.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: September 1, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Chunhui Mei, Nariman Moezzi Madani, Vineet Goel, Usame Ceylan, Guofang Jiao
  • Publication number: 20150022534
    Abstract: A graphics processor capable of efficiently performing arithmetic operations and computing elementary functions is described. The graphics processor has at least one arithmetic logic unit (ALU) that can perform arithmetic operations and at least one elementary function unit that can compute elementary functions. The ALU(s) and elementary function unit(s) may be arranged such that they can operate in parallel to improve throughput. The graphics processor may also include fewer elementary function units than ALUs, e.g., four ALUs and a single elementary function unit. The four ALUs may perform an arithmetic operation on (1) four components of an attribute for one pixel or (2) one component of an attribute for four pixels. The single elementary function unit may operate on one component of one pixel at a time. The use of a single elementary function unit may reduce cost while still providing good performance.
    Type: Application
    Filed: October 6, 2014
    Publication date: January 22, 2015
    Inventors: YUN DU, Guofang Jiao, Chun Yu, Alexei Vladimirovich Bourd
  • Patent number: 8884972
    Abstract: A graphics processor capable of efficiently performing arithmetic operations and computing elementary functions is described. The graphics processor has at least one arithmetic logic unit (ALU) that can perform arithmetic operations and at least one elementary function unit that can compute elementary functions. The ALU(s) and elementary function unit(s) may be arranged such that they can operate in parallel to improve throughput. The graphics processor may also include fewer elementary function units than ALUs, e.g., four ALUs and a single elementary function unit. The four ALUs may perform an arithmetic operation on (1) four components of an attribute for one pixel or (2) one component of an attribute for four pixels. The single elementary function unit may operate on one component of one pixel at a time. The use of a single elementary function unit may reduce cost while still providing good performance.
    Type: Grant
    Filed: May 25, 2006
    Date of Patent: November 11, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu, Alexei V. Bourd
  • Patent number: 8869147
    Abstract: A multi-threaded processor is provided that internally reorders output threads thereby avoiding the need for an external output reorder buffer. The multi-threaded processor writes its thread results back to an internal memory buffer to guarantee that thread results are outputted in the same order in which the threads are received. A thread scheduler within the multi-threaded processor manages thread ordering control to avoid the need for an external reorder buffer. A compiler for the multi-threaded processor converts instructions that would normally send processed results directly to an external reorder buffer so that the processed thread results are instead sent to the internal memory buffer of the multi-threaded processor.
    Type: Grant
    Filed: May 31, 2006
    Date of Patent: October 21, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu
  • Patent number: 8854383
    Abstract: In general, aspects of this disclosure describe example techniques for efficient usage of the fixed data rate processing of a graphics processing unit (GPU) for a variable data rate processing. For example, the GPU may be coupled to a pixel value processing unit that receives pixel values for pixels in an image processed by the GPU. The pixel value processing unit may determine whether the pixel values are for pixels that require further processing, and store the pixel values for the pixels that are required for further processing in a buffer.
    Type: Grant
    Filed: April 13, 2011
    Date of Patent: October 7, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Ming-Chang Tsai, Guofang Jiao
  • Patent number: 8832417
    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: Grant
    Filed: September 7, 2011
    Date of Patent: September 9, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Lin Chen, David Rigel Garcia Garcia, Andrew E. Gruber, Guofang Jiao
  • Publication number: 20140210819
    Abstract: Systems and methods for a tessellation are described. For tessellation, a tessellation unit may divide a domain into a plurality of portions, where at least one portion is a contiguous portion. The tessellation unit may output domain coordinates of primitives along diagonal strips within the contiguous portion to increase the likelihood that patch coordinates that correspond to the domain coordinates are stored in a reuse buffer.
    Type: Application
    Filed: January 30, 2013
    Publication date: July 31, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Chunhui Mei, Nariman Moezzi Madani, Vineet Goel, Usame Ceylan, Guofang Jiao
  • Patent number: 8773459
    Abstract: A graphics processing unit (GPU) efficiently performs 3-dimensional (3-D) clipping using processing units used for other graphics functions. The GPU includes first and second hardware units and at least one buffer. The first hardware unit performs 3-D clipping of primitives using a first processing unit used for a first graphics function, e.g., an ALU used for triangle setup, depth gradient setup, etc. The first hardware unit may perform 3-D clipping by (a) computing clip codes for each vertex of each primitive, (b) determining whether to pass, discard or clip each primitive based on the clip codes for all vertices of the primitive, and (c) clipping each primitive to be clipped against clipping planes. The second hardware unit computes attribute component values for new vertices resulting from the 3-D clipping, e.g., using an ALU used for attribute gradient setup, attribute interpolation, etc. The buffer(s) store intermediate results of the 3-D clipping.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: July 8, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Chun Yu, Lingjun Chen, Yun Du
  • Patent number: 8766996
    Abstract: A multi-threaded processor is provided, such as a shader processor, having an internal unified memory space that is shared by a plurality of threads and is dynamically assigned to threads as needed. A mapping table that maps virtual registers to available internal addresses in the unified memory space so that thread registers can be stored in contiguous or non-contiguous memory addresses. Dynamic sizing of the virtual registers allows flexible allocation of the unified memory space depending on the type and size of data in a thread register. Yet another feature provides an efficient method for storing graphics data in the unified memory space to improve fetch and store operations from the memory space. In particular, pixel data for four pixels in a thread are stored across four memory devices having independent input/output ports that permit the four pixels to be read in a single clock cycle for processing.
    Type: Grant
    Filed: June 21, 2006
    Date of Patent: July 1, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu, De Dzwo Hsu
  • Patent number: 8766995
    Abstract: A graphics system includes a graphics processor and a cache memory system. The graphics processor includes processing units that perform various graphics operations to render graphics images. The cache memory system may include fully configurable caches, partially configurable caches, or a combination of configurable and dedicated caches. The cache memory system may further include a control unit, a crossbar, and an arbiter. The control unit may determine memory utilization by the processing units and assign the configurable caches to the processing units based on memory utilization. The configurable caches may be assigned to achieve good utilization of these caches and to avoid memory access bottleneck. The crossbar couples the processing units to their assigned caches. The arbiter facilitates data exchanges between the caches and a main memory.
    Type: Grant
    Filed: April 26, 2006
    Date of Patent: July 1, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Chun Yu, Guofang Jiao, Yun Du
  • Patent number: 8760457
    Abstract: Methods and apparatuses for accessing data within programmable graphics hardware are provided. According to one aspect, a user inserts special log commands into a software program, which is compiled into instructions for the programmable graphics hardware to execute. The hardware writes data to an external memory during runtime according to a flow control protocol, and the software driver reads the data from the memory to display to the user.
    Type: Grant
    Filed: July 24, 2007
    Date of Patent: June 24, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Alexei V. Bourd, Guofang Jiao, Lin Chen
  • Patent number: 8644643
    Abstract: Techniques for performing convolution filtering using hardware normally available in a graphics processor are described. Convolution filtering of an arbitrary H×W grid of pixels is achieved by partitioning the grid into smaller sections, performing computation for each section, and combining the intermediate results for all sections to obtain a final result. In one design, a command to perform convolution filtering on a grid of pixels with a kernel of coefficients is received, e.g., from a graphics application. The grid is partitioned into multiple sections, where each section may be 2×2 or smaller. Multiple instructions are generated for the multiple sections, with each instruction performing convolution computation on at least one pixel in one section. Each instruction may include pixel position information and applicable kernel coefficients. Instructions to combine the intermediate results from the multiple instructions are also generated.
    Type: Grant
    Filed: June 14, 2006
    Date of Patent: February 4, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Yun Du, Chun Yu, Lingjun Chen
  • Patent number: 8643644
    Abstract: This disclosure describes a multi-stage tessellation technique for tessellating a curve during graphics rendering. In particular, a first tessellation stage tessellates the curve into a first set of line segments that each represents a portion of the curve. A second tessellation stage further tessellates the portion of the curve represented by each of the line segments of the first set into additional line segments that more finely represent the shape of the curve. In this manner, each portion of the curve that was represented by only one line segment after the first tessellation stage is represented by more than one line segment after the second tessellation stage. In some instances, more than two tessellation stages may be performed to tessellate the curve.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: February 4, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Jian Wei, Guofang Jiao, Ning Bi, Chehui Wu