Patents by Inventor Vineet Goel
Vineet Goel 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: 20140204080Abstract: A graphics processing unit (GPU) includes an indexed streamout buffer. The indexed streamout buffer is configured to: receive vertex data of a primitive, and determine if any entries in a reuse table of the indexed streamout buffer reference the vertex data. Responsive to determining that an entry of in the reuse table references the vertex data, the buffer is further configured to: generate an index that references the vertex data, store the index in the buffer, and store a reference to the index in the reuse table. Responsive to determining that an entry does not reference the vertex data, the indexed streamout buffer is configured to: store the vertex data in the buffer, generate an index that references the vertex data, store the index in the buffer, and store a reference to the index in the reuse table.Type: ApplicationFiled: January 21, 2014Publication date: July 24, 2014Applicant: QUALCOMM IncorporatedInventors: Vineet Goel, Andrew Evan Gruber
-
Publication number: 20140111513Abstract: Systems and methods for a tessellation are described. These systems and methods may divide the domain into a plurality of portions, including a first portion. The systems and methods may also determine coordinates for vertices for a first set of shapes that reside within the first portion, wherein each shape of the first set of shapes includes at least one vertex on a first edge of the first portion. After determining coordinates for the vertices for the first set of shapes, the systems and methods may determine coordinates for vertices for a second set of shapes that reside within the first portion. Each shape of the second set of shapes shares at least one vertex with at least one shape of the first set of shapes and none of the shapes of the second set of shapes includes a vertex on the first edge of the first portion.Type: ApplicationFiled: October 24, 2012Publication date: April 24, 2014Applicant: QUALCOMM INCORPORATEDInventors: Usame Ceylan, Vineet Goel
-
Publication number: 20140098117Abstract: This disclosure describes techniques for rendering a plurality of primitives that includes at least two different types of primitives during the execution of a single draw call command. This disclosure also describes techniques for rendering a plurality of primitives using tessellation domains of different tessellation domain types during the execution of a single draw call command. The techniques of this disclosure may, in some examples, reduce the complexity and processing overhead for user applications, reduce the number of times that the rendering state of the graphics rendering pipeline needs to be switched during the drawing of a graphics scene, and/or reduce the number of times that shader programs need to be reloaded into different processing stages of a graphics pipeline during the rendering of a graphics scene.Type: ApplicationFiled: March 15, 2013Publication date: April 10, 2014Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Young In Yeo
-
Publication number: 20140078156Abstract: A system, method and a computer program product are provided for distributing prim groups for parallel processing in a single clock cycle. A work distributor divides a draw call for primitive processing into a plurality of prim groups according to a prim group size. The work distributor then distributes the plurality of prim groups to a plurality of shader engines for parallel processing of the plurality of prim groups during a clock cycle. The size of a prim group and a number of prim groups are scaled to the plurality of shader engines.Type: ApplicationFiled: September 14, 2012Publication date: March 20, 2014Applicant: Advanced Micro Devices, Inc.Inventors: Jason Carroll, Vineet Goel, Mangesh Nijasure, Todd E. Martin
-
Publication number: 20140063014Abstract: Techniques described in the disclosure are generally related to generating points of a domain. A tessellation unit may determine outer ring point coordinates for a point of an outer ring of the domain, and inner ring point coordinates for a point of an inner ring of the domain. The inner ring is inner to the outer ring within the domain. The tessellation unit may enqueue the inner ring point coordinates at a location of a queue, read the inner ring point coordinates from the queue, and read the outer ring point coordinates from the queue when the outer ring is not an outermost ring, where the outer ring point coordinates were previously enqueued in the queue when the outer ring was a previous inner ring. The tessellation unit may connect the inner ring coordinates and the outer ring coordinates each of which being read from the queue.Type: ApplicationFiled: August 30, 2012Publication date: March 6, 2014Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Jian Mao, Nariman Moezzi Madani
-
Publication number: 20140063013Abstract: Techniques described in the disclosure are generally related to determining the manner in which to connect points that reside along an outer ring edge and an inner ring edge for purposes of tessellation. For example, a two-dimensional (2D) stitching table may define the manner in which points along the edges should be connected together to form a plurality of primitives. The techniques may index the 2D stitching table to retrieve entry values that define the manner in which the points along the edges should be connected together.Type: ApplicationFiled: August 30, 2012Publication date: March 6, 2014Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Usame Ceylan
-
Publication number: 20140063012Abstract: Systems and methods for a tessellation are described. The tessellation unit is configured to determine a number of points that reside along a first edge of a first ring within a domain, determine a first set of coordinates for a first portion of the points that reside along the first edge of the first ring within the domain, and determine a second set of coordinates for a second portion of the points that reside along the first edge of the first ring within the domain based on the first set of coordinates for the first portion. The tessellation unit is also configured to stitch points that reside along the first edge of the first ring with points that reside along a second edge of a second ring to divide the domain into a plurality of primitives that are mapped to a patch.Type: ApplicationFiled: August 30, 2012Publication date: March 6, 2014Applicant: QUALCOMM INCORPORATEDInventors: Nariman Moezzi Madani, Jian Mao, Vineet Goel
-
Publication number: 20140043342Abstract: The present disclosure provides for path rendering including receiving, with a graphics processing unit (GPU), data indicative of a path segment of a path to be rendered. The systems and methods render the path segment by performing a fill of the path segment, which includes tessellating the path segment into a first plurality of primitives including a triangle per primitive, storing a first plurality of primitives in a stencil buffer, and drawing a bounding box of the path segment and rendering the bounding box with a stencil test enabled. The systems and methods also stroke the path segment, including tessellating the path into a second plurality of primitives, re-tessellating the second plurality of primitives, cutting the second plurality of primitives according to a dash pattern, creating a cap at a location of a cut, and creating a triangulation of a stroke and rasterizing the stroke based on the triangulation.Type: ApplicationFiled: March 15, 2013Publication date: February 13, 2014Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Usame Ceylan
-
Publication number: 20140043341Abstract: This disclosure is directed to techniques for performing GPU-accelerated path rendering. A GPU is described that is configured to receive data indicative of a path segment of a path to be rendered, tessellate the path segment into a plurality of primitives, and render at least one of a fill area and a stroke area for the path segment based on the plurality of primitives. The techniques of this disclosure may be used to improve the performance of path rendering operations, to reduce memory bandwidth requirements needed to perform path rendering operations, and/or to reduce the memory footprint needed to perform path rendering operations.Type: ApplicationFiled: March 6, 2013Publication date: February 13, 2014Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Usame Ceylan
-
Publication number: 20140043330Abstract: A tessellation unit of a graphics processing unit (GPU) determines domain coordinates for vertices of a received primitive. The tessellation unit outputs the determined domain coordinates for the vertices. The tessellation unit further determines that a domain type for the received primitive is not one of tri, isoline, or quad domain, and outputs information indicative of a graphical feature associated with one or more of the determined domain coordinates when the domain type is not one of the tri, isoline, or quad domain.Type: ApplicationFiled: March 15, 2013Publication date: February 13, 2014Inventors: Usame Ceylan, Vineet Goel
-
Publication number: 20130265308Abstract: 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: March 14, 2013Publication date: October 10, 2013Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Andrew E. Gruber, Donghyun Kim
-
Publication number: 20130265309Abstract: Aspects of this disclosure generally relate to a process for rendering graphics that includes performing, with a hardware shading unit of a graphics processing unit (GPU) designated for vertex shading, vertex shading operations to shade input vertices so as to output vertex shaded vertices, wherein the hardware unit is configured to receive a single vertex as an input and generate a single vertex as an output. The process also includes performing, with the hardware shading unit of the GPU, a geometry shading operation to generate one or more new vertices based on one or more of the vertex shaded vertices, wherein the geometry shading operation operates on at least one of the one or more vertex shaded vertices to output the one or more new vertices.Type: ApplicationFiled: March 14, 2013Publication date: October 10, 2013Applicant: QUALCOMM INCORPORATEDInventors: Vineet Goel, Andrew Evan Gruber, Donghyun Kim
-
Publication number: 20130265307Abstract: 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: ApplicationFiled: March 14, 2013Publication date: October 10, 2013Applicant: QUALCOMM IncorporatedInventors: Vineet Goel, Andrew E. Gruber
-
Patent number: 8482559Abstract: Tessellation triangles, which are used to model three-dimensional surfaces in computer-generated graphics, can be more efficiently calculated by retrieving tessellation triangle vertices and Bezier-function coefficients using a single, two-part address.Type: GrantFiled: November 4, 2002Date of Patent: July 9, 2013Assignee: ATI Technologies ULCInventors: Brian A. Buchner, Vineet Goel
-
Publication number: 20130169635Abstract: Disclosed herein is a vertex core. The vertex core includes a reset scanner configured to remove reset indices and partial primitives in an input stream and resolve draw calls into sub-draw calls at reset index boundaries; and provide the resolved sub-draw calls to a plurality of downstream vertex grouper tessellators.Type: ApplicationFiled: May 22, 2012Publication date: July 4, 2013Applicant: Advanced Micro Devices, Inc.Inventors: Jason CARROLL, Vineet GOEL, Mangesh NIJASURE, Todd E. MARTIN
-
Publication number: 20130169634Abstract: Embodiments include an apparatus, a computer readable medium and a method for distributing tessellations within an accelerated processing device (APD) including at least two compute units. Embodiments include processing a plurality of patches in a first compute unit using a hull shader to generate hull shader output data. Once generated, hull shader output data is stored to an off-chip memory when tessellation factors associated with the shader program are greater than a configured threshold. Once stored in the off-chip memory, at least a portion of the hull shader output data is dynamically processed using a second compute unit.Type: ApplicationFiled: April 18, 2012Publication date: July 4, 2013Inventors: Vineet GOEL, Jason David Carroll, Mangesh Nijasure, Todd Martin
-
Publication number: 20130162651Abstract: Methods, systems, and computer readable media embodiments are disclosed for generating primitives in a grid. Embodiments include generating a set of vertices in a section of the grid, selecting one or more vertices in the set of vertices in an order based on a proximity of the vertices to a boundary edge of the grid, and generating primitives based on the order of the selected vertices.Type: ApplicationFiled: December 23, 2011Publication date: June 27, 2013Inventors: Todd Martin, Mangesh Nijasure, Vineet Goel, Jason David Carroll
-
Patent number: 8326927Abstract: A conferencing system and method includes, during the conference session, invoking an interactive voice response (IVR) routine that provides names of one or more conference participants to a user of an audio-only endpoint device responsive to a request from the user to create a sidebar session. An invitation to join the sidebar session is then communicated to each of one or more participants selected by the user, the invitation being communicated via a private media channel separate from a media stream associated with the conference session. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.Type: GrantFiled: May 23, 2006Date of Patent: December 4, 2012Assignee: Cisco Technology, Inc.Inventors: Aseem Asthana, Manjunath S. Bangalore, Binh Don Ha, Vineet Goel, Connie Tang
-
Patent number: 8259111Abstract: A method, computer program product, and system are provided for processing data in a graphics pipeline. An embodiment of the method includes processing one or more vertices of a geometric primitive with a vertex shader function and generating new primitive information for the one or more processed vertices with a geometry shader function. The geometry shader function receives one or more processed vertices from the vertex shader function and emits a single vertex associated with the new primitive information. Each emitted vertex from the geometry shader function can be stored in a memory device. Unlike conventional graphic pipelines that require a memory device for data storage during the vertex and geometry shading processes, the present invention increases efficiency in the graphics pipeline by eliminating the need to access memory when the vertex and geometry shaders process vertex information.Type: GrantFiled: August 4, 2008Date of Patent: September 4, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Vineet Goel, Todd Martin
-
Publication number: 20120019541Abstract: Disclosed herein is a vertex core. The vertex core includes a grouper module configured to process two or more primitives during one clock period and two or more vertex translators configured to respectively receive the two or more processed primitives in parallel.Type: ApplicationFiled: July 20, 2010Publication date: January 26, 2012Applicant: Advanced Micro Devices, Inc.Inventors: Vineet Goel, Ralph C. Taylor, Todd E. Martin