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: 9633411Abstract: 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: GrantFiled: June 26, 2014Date of Patent: April 25, 2017Assignee: QUALCOMM IncorporatedInventors: Yun Du, Andrew Evan Gruber, Lin Chen, Guofang Jiao, Chun Yu
-
Publication number: 20160292812Abstract: 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: ApplicationFiled: September 25, 2015Publication date: October 6, 2016Inventors: Chehui Wu, Guofang Jiao, Jian Liang, Minjie Huang
-
Patent number: 9454841Abstract: 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: GrantFiled: August 5, 2014Date of Patent: September 27, 2016Assignee: QUALCOMM IncorporatedInventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
-
Publication number: 20160132987Abstract: 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: ApplicationFiled: November 10, 2014Publication date: May 12, 2016Inventors: Liang Li, Andrew Evan Gruber, Guofang Jiao, Zhenyu Qi, Gregory Steve Pitarys, Scott William Nolan
-
Publication number: 20160042549Abstract: 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: ApplicationFiled: August 5, 2014Publication date: February 11, 2016Inventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
-
Publication number: 20160042550Abstract: 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: ApplicationFiled: August 5, 2014Publication date: February 11, 2016Inventors: Liang Li, Guofang Jiao, Yunshan Kong, Javier Ignacio Girado
-
Publication number: 20160019027Abstract: 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: ApplicationFiled: July 15, 2014Publication date: January 21, 2016Inventors: Lin Chen, Andrew Evan Gruber, Guofang Jiao, Chiente Ho, Pramod Vasant Argade
-
Patent number: 9123168Abstract: 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: GrantFiled: January 30, 2013Date of Patent: September 1, 2015Assignee: QUALCOMM IncorporatedInventors: Chunhui Mei, Nariman Moezzi Madani, Vineet Goel, Usame Ceylan, Guofang Jiao
-
Publication number: 20150022534Abstract: 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: ApplicationFiled: October 6, 2014Publication date: January 22, 2015Inventors: YUN DU, Guofang Jiao, Chun Yu, Alexei Vladimirovich Bourd
-
Patent number: 8884972Abstract: 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: GrantFiled: May 25, 2006Date of Patent: November 11, 2014Assignee: QUALCOMM IncorporatedInventors: Yun Du, Guofang Jiao, Chun Yu, Alexei V. Bourd
-
Patent number: 8869147Abstract: 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: GrantFiled: May 31, 2006Date of Patent: October 21, 2014Assignee: QUALCOMM IncorporatedInventors: Yun Du, Guofang Jiao, Chun Yu
-
Patent number: 8854383Abstract: 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: GrantFiled: April 13, 2011Date of Patent: October 7, 2014Assignee: QUALCOMM IncorporatedInventors: Ming-Chang Tsai, Guofang Jiao
-
Patent number: 8832417Abstract: 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: GrantFiled: September 7, 2011Date of Patent: September 9, 2014Assignee: QUALCOMM IncorporatedInventors: Lin Chen, David Rigel Garcia Garcia, Andrew E. Gruber, Guofang Jiao
-
Publication number: 20140210819Abstract: 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: ApplicationFiled: January 30, 2013Publication date: July 31, 2014Applicant: QUALCOMM INCORPORATEDInventors: Chunhui Mei, Nariman Moezzi Madani, Vineet Goel, Usame Ceylan, Guofang Jiao
-
Patent number: 8773459Abstract: 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: GrantFiled: June 15, 2012Date of Patent: July 8, 2014Assignee: QUALCOMM IncorporatedInventors: Guofang Jiao, Chun Yu, Lingjun Chen, Yun Du
-
Patent number: 8766996Abstract: 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: GrantFiled: June 21, 2006Date of Patent: July 1, 2014Assignee: QUALCOMM IncorporatedInventors: Yun Du, Guofang Jiao, Chun Yu, De Dzwo Hsu
-
Patent number: 8766995Abstract: 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: GrantFiled: April 26, 2006Date of Patent: July 1, 2014Assignee: QUALCOMM IncorporatedInventors: Chun Yu, Guofang Jiao, Yun Du
-
Patent number: 8760457Abstract: 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: GrantFiled: July 24, 2007Date of Patent: June 24, 2014Assignee: QUALCOMM IncorporatedInventors: Alexei V. Bourd, Guofang Jiao, Lin Chen
-
Patent number: 8644643Abstract: 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: GrantFiled: June 14, 2006Date of Patent: February 4, 2014Assignee: QUALCOMM IncorporatedInventors: Guofang Jiao, Yun Du, Chun Yu, Lingjun Chen
-
Patent number: 8643644Abstract: 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: GrantFiled: March 20, 2008Date of Patent: February 4, 2014Assignee: QUALCOMM IncorporatedInventors: Jian Wei, Guofang Jiao, Ning Bi, Chehui Wu