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: 20140098117
    Abstract: 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: Application
    Filed: March 15, 2013
    Publication date: April 10, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Young In Yeo
  • Publication number: 20140078156
    Abstract: 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: Application
    Filed: September 14, 2012
    Publication date: March 20, 2014
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Jason Carroll, Vineet Goel, Mangesh Nijasure, Todd E. Martin
  • Publication number: 20140063013
    Abstract: 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: Application
    Filed: August 30, 2012
    Publication date: March 6, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Usame Ceylan
  • Publication number: 20140063012
    Abstract: 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: Application
    Filed: August 30, 2012
    Publication date: March 6, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Nariman Moezzi Madani, Jian Mao, Vineet Goel
  • Publication number: 20140063014
    Abstract: 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: Application
    Filed: August 30, 2012
    Publication date: March 6, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Jian Mao, Nariman Moezzi Madani
  • Publication number: 20140043341
    Abstract: 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: Application
    Filed: March 6, 2013
    Publication date: February 13, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Usame Ceylan
  • Publication number: 20140043342
    Abstract: 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: Application
    Filed: March 15, 2013
    Publication date: February 13, 2014
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Usame Ceylan
  • Publication number: 20140043330
    Abstract: 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: Application
    Filed: March 15, 2013
    Publication date: February 13, 2014
    Inventors: Usame Ceylan, Vineet Goel
  • Publication number: 20130265308
    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: Application
    Filed: March 14, 2013
    Publication date: October 10, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Andrew E. Gruber, Donghyun Kim
  • Publication number: 20130265309
    Abstract: 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: Application
    Filed: March 14, 2013
    Publication date: October 10, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Vineet Goel, Andrew Evan Gruber, Donghyun Kim
  • Publication number: 20130265307
    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: Application
    Filed: March 14, 2013
    Publication date: October 10, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Vineet Goel, Andrew E. Gruber
  • Patent number: 8482559
    Abstract: 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: Grant
    Filed: November 4, 2002
    Date of Patent: July 9, 2013
    Assignee: ATI Technologies ULC
    Inventors: Brian A. Buchner, Vineet Goel
  • Publication number: 20130169635
    Abstract: 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: Application
    Filed: May 22, 2012
    Publication date: July 4, 2013
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Jason CARROLL, Vineet GOEL, Mangesh NIJASURE, Todd E. MARTIN
  • Publication number: 20130169634
    Abstract: 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: Application
    Filed: April 18, 2012
    Publication date: July 4, 2013
    Inventors: Vineet GOEL, Jason David Carroll, Mangesh Nijasure, Todd Martin
  • Publication number: 20130162651
    Abstract: 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: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Inventors: Todd Martin, Mangesh Nijasure, Vineet Goel, Jason David Carroll
  • Patent number: 8326927
    Abstract: 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: Grant
    Filed: May 23, 2006
    Date of Patent: December 4, 2012
    Assignee: Cisco Technology, Inc.
    Inventors: Aseem Asthana, Manjunath S. Bangalore, Binh Don Ha, Vineet Goel, Connie Tang
  • Patent number: 8259111
    Abstract: 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: Grant
    Filed: August 4, 2008
    Date of Patent: September 4, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Vineet Goel, Todd Martin
  • Publication number: 20120019541
    Abstract: 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: Application
    Filed: July 20, 2010
    Publication date: January 26, 2012
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Vineet Goel, Ralph C. Taylor, Todd E. Martin
  • Publication number: 20120017062
    Abstract: Methods are disclosed for improving data processing performance in a processor using on-chip local memory in multiple processing units. According to an embodiment, a method of processing data elements in a processor using a plurality of processing units, includes: launching, in each of the processing units, a first wavefront having a first type of thread followed by a second wavefront having a second type of thread, where the first wavefront reads as input a portion of the data elements from an off-chip shared memory and generates a first output; writing the first output to an on-chip local memory of the respective processing unit; and writing to the on-chip local memory a second output generated by the second wavefront, where input to the second wavefront comprises a first plurality of data elements from the first output. Corresponding system and computer program product embodiments are also disclosed.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 19, 2012
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Vineet GOEL, Todd Martin, Mangesh Nijasure
  • Patent number: 7907707
    Abstract: Techniques for storing voicemails in real-time in a caller's voicemail system when a voicemail is left in a callee's voicemail system are provided. A connection to the callee's voicemail system is detected during a call from the caller to the callee. When a voicemail is being left on the caller's voicemail system, a copy of the voicemail message is automatically forked to the caller's voicemail system. Thus, when a voicemail message is recorded on the callee's voicemail system, a copy of the voicemail message is also stored on the caller's voicemail system.
    Type: Grant
    Filed: June 7, 2006
    Date of Patent: March 15, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Vineet Goel, Aseem Asthana, Ashish Chotai, Sravan Vadlakonda