Patents by Inventor Christopher D. S. Donham

Christopher D. S. Donham 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: 9183607
    Abstract: A method in system for latency buffered scoreboarding in a graphics pipeline of a graphics processor. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive to generate a plurality pixels related to the graphics primitive. An ID stored to account for an initiation of parameter evaluation for each of the plurality of pixels as the pixels are transmitted to a subsequent stage of the graphics processor. A buffer is used to store the fragment data resulting from the parameter evaluation for each of the plurality of pixels by the subsequent stage. The ID and the fragment data from the buffering are compared to determine whether they correspond to one another. The completion of parameter evaluation for each of the plurality of pixels is accounted for when the ID and the fragment data match and as the fragment data is written to a memory.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: November 10, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Justin M. Mahan, Edward A. Hutchins, Kevin P. Acken, Michael J. M. Toksvig, Christopher D. S. Donham
  • Patent number: 8773447
    Abstract: A method for tag logic score boarding in a graphics pipeline of a graphics processor. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive to generate a plurality of pixels of pixels related to the graphics primitive. The method further includes accounting for an initiation of parameter evaluation for each of the plurality of pixels as the pixels are transmitted to a subsequent stage of the graphics pipeline and accounting for a completion of parameter evaluation for each of the plurality of pixels as the pixels complete processing in the subsequent stage of the graphics pipeline. Respective tag memory is allocated to track the initiation of parameter evaluation and the completion of parameter evaluation for each of the plurality of pixels.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: July 8, 2014
    Assignee: Nvidia Corporation
    Inventor: Christopher D. S. Donham
  • Patent number: 8564598
    Abstract: In a graphics pipeline of a graphics processor, a method for a unified primitive description for rasterization. The method includes receiving a group of primitives from a graphics application, wherein the group includes different types of primitives and the types of primitives include line primitives, point primitives and triangle primitives. For each of the types of primitives, the method includes generating a corresponding parallelogram, wherein the parallelogram has four sides disposed along an x-axis and a y-axis, and computing an inside y-axis mid point and an outside y-axis mid point based on the four sides. The parallelogram is controlled to represent to each of the primitive types respectively by adjusting a location of the inside y-axis mid point or the outside y-axis mid point.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: October 22, 2013
    Assignee: Nvidia Corporation
    Inventors: Edward A. Hutchins, William T. Warner, Jr., Christopher D. S. Donham
  • Patent number: 8547395
    Abstract: A computer-implemented graphics system has a mode of operation in which primitive coverage information is generated by a rasterizer for real sample locations and virtual sample locations for use in anti-aliasing. An individual pixel includes a single real sample location and at least one virtual sample location. If the coverage information cannot be changed by a pixel shader, then the rasterizer can write the coverage information to a framebuffer. If, however, the coverage information can be changed by the shader, then the rasterizer sends the coverage information to the shader.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: October 1, 2013
    Assignee: NVIDIA Corporation
    Inventors: Edward A. Hutchins, Christopher D. S. Donham, Gary C. King, Michael J. M. Toksvig
  • Patent number: 8325203
    Abstract: In a graphics pipeline of a graphics processor, a method for caching pixel data. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive to generate a plurality of tiles of pixels related to the graphics primitive. A subpixel sample group related to each of the plurality of tiles is determined. The plurality of tiles and the corresponding plurality of subpixel sample groups are stored into a frame buffer memory. A set of tiles and a set of corresponding subpixel sample groups from the frame buffer memory are stored in a rasterization cache, wherein the rasterization cache is configured for access by the raster stage to enable a subpixel anti-aliasing operation.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: December 4, 2012
    Assignee: NVIDIA Corporation
    Inventor: Christopher D. S. Donham
  • Patent number: 8098257
    Abstract: Floating-point texture filtering units leverage existing fixed-point filter circuits. Groups of floating-point texture values are converted to products of a fixed-point mantissa and a scaling factor that is the same for each texture value in the group. The fixed-point mantissas are filtered using a fixed-point filter circuit, and the filtered mantissa is combined with the scaling factor to determine a floating-point filtered value. Multiple floating-point filter results may be combined in a floating-point accumulator circuit. The same fixed-point filter circuit may also be used to filter fixed-point texture data by providing fixed-point input path that bypasses the format conversion and a fixed-point accumulator.
    Type: Grant
    Filed: February 15, 2008
    Date of Patent: January 17, 2012
    Assignee: NVIDIA Corporation
    Inventors: Walter E. Donovan, Anders M. Kugler, Christopher D. S. Donham
  • Patent number: 8040357
    Abstract: Embodiments of the present invention pixel processing system and method provide convenient and efficient processing of pixel information. In one embodiment, quotient-remainder information associated with barycentric coordinate information indicating the location of a pixel is received. In one exemplary implementation quotient-remainder information is associated with barycentric coordinate information through the relationship c divided by dcdx, where c is the barycentric coordinate for a particular edge and dcdx is the derivative of the barycentric coordinate in the screen horizontal direction. The relationship of a pixel with respect to a primitive edge is determined based upon the quotient-remainder information. For example, a positive quotient can indicate a pixel is inside a triangle and a negative quotient can indicate a pixel is outside a triangle. Pixel processing such as shading is performed in accordance with the relationship of the pixel to the primitive.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: October 18, 2011
    Assignee: Nvidia Corporation
    Inventors: Edward A. Hutchins, Christopher D. S. Donham
  • Patent number: 8004522
    Abstract: The boundary of a surface can be represented as a series of line segments. A number of polygons are successively superimposed onto the surface. The polygons utilize a common reference point and each of the polygons has an edge that coincides with one of the line segments. Coverage bits are associated with respective sample locations within a pixel. A value of a coverage bit is changed each time a sample location associated with the coverage bit is covered by one of the polygons. Final values of the coverage bits are buffered after all of the polygons have been processed. The values of the coverage bits can be used when the surface is subsequently rendered.
    Type: Grant
    Filed: August 7, 2007
    Date of Patent: August 23, 2011
    Assignee: NVIDIA Corporation
    Inventors: Michael J. M. Toksvig, Brian K. Cabral, Edward A. Hutchins, Gary C. King, Christopher D. S. Donham
  • Patent number: 7996622
    Abstract: In the event of a cache miss, data is written from main memory to the cache. To select a cache line to write the data to, cache lines in the cache that are not referenced during a certain interval are identified. One of the identified cache lines is selected and the data can be written to that cache line.
    Type: Grant
    Filed: August 7, 2007
    Date of Patent: August 9, 2011
    Assignee: NVIDIA Corporation
    Inventors: Michael J. M. Toksvig, Christopher D. S. Donham
  • Patent number: 7911470
    Abstract: An apparatus and method for fairly arbitrating between clients with varying workloads. The clients are configured in a pipeline for processing graphics data. An arbitration unit selects requests from each of the clients to access a shared resource. Each client provides a signal to the arbitration unit for each clock cycle. The signal indicates whether the client is waiting for a response from the arbitration unit and whether the client is not blocked from outputting processed data to a downstream client. The signals from each client are integrated over several clock cycles to determine a servicing priority for each client. Arbitrating based on the servicing priorities improves performance of the pipeline by ensuring that each client is allocated access to the shared resource based on the aggregate processing load distribution.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: March 22, 2011
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, John S. Montrym
  • Patent number: 7876332
    Abstract: A computer-implemented graphics system that includes a rasterizer and a shader has a mode of operation in which primitive coverage information is generated for real sample locations and virtual sample locations for use in anti-aliasing. An individual pixel includes a single real sample location and at least one virtual sample location. In some instances, a primitive may cover only virtual sample locations and does not cover a real sample location. These instances can be identified in the coverage information sent from the rasterizer to the shader, so that the shader can determine whether or not it can write color information, depth information and/or stencil information for the real sample location to a framebuffer.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: January 25, 2011
    Assignee: Nvidia Corporation
    Inventors: Christopher D. S. Donham, Edward A. Hutchins, Gary C. King, Michael J. M. Toksvig
  • Patent number: 7825935
    Abstract: A system, method and computer program product are provided for retrieving instructions from memory utilizing a texture module in a graphics pipeline. During use, an instruction request is sent to memory utilizing a texture module in a graphics pipeline. In response thereto, instructions are received from the memory in response to the instruction request utilizing the texture module in the graphics pipeline.
    Type: Grant
    Filed: November 30, 2001
    Date of Patent: November 2, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, Edward Hutchins, Alexander Minkin, George E. Scott, III
  • Patent number: 7821518
    Abstract: An apparatus and method for fairly arbitrating between clients with varying workloads. The clients are configured in a pipeline for processing graphics data. An arbitration unit selects requests from each of the clients to access a shared resource. Each client provides a signal to the arbitration unit for each clock cycle. The signal indicates whether the client is waiting for a response from the arbitration unit and whether the client is not blocked from outputting processed data to a downstream client. The signals from each client are integrated over several clock cycles to determine a servicing priority for each client. Arbitrating based on the servicing priorities improves performance of the pipeline by ensuring that each client is allocated access to the shared resource based on the aggregate processing load distribution.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: October 26, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, John S. Montrym
  • Patent number: 7817165
    Abstract: A computer-implemented graphics system has a mode of operation in which primitive coverage information is generated for real sample locations and virtual sample locations for use in anti-aliasing. An individual pixel includes a single real sample location and at least one virtual sample location. A block of real sample locations can be selected to delineate and encompass a region containing a number of virtual sample locations. Pixel attribute values (e.g., z-depth or stencil values) associated with the block of selected real sample locations can be used to associate each virtual sample location within the region with one of the selected real sample locations. The virtual sample location assumes the pixel attribute value of the real sample location with which it is associated.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: October 19, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, Edward A. Hutchins, Gary C. King, Michael J. M. Toksvig
  • Patent number: 7808512
    Abstract: In a raster unit of a graphics processor, a method for bounding region accumulation for graphics rendering. The method includes receiving a plurality of graphics primitives for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitives to generate a plurality pixels related to the graphics primitives and a plurality of respective bounding regions related to the graphics primitives. Upon receiving an accumulation start command, the bounding regions are accumulated in an accumulation register. The accumulation continues until an accumulation stop command is received. The operation results in an accumulated bounding region. Access to the accumulated bounding region is enabled to facilitate a subsequent graphics rendering operation.
    Type: Grant
    Filed: December 19, 2006
    Date of Patent: October 5, 2010
    Assignee: NVIDIA Corporation
    Inventors: Edward A. Hutchins, Christopher D. S. Donham, Gary C. King, Michael J. M. Toksvig, Mark J. Kilgard
  • Patent number: 7705846
    Abstract: Circuits, methods, and apparatus provide for the storage of texture descriptors in a graphics memory. Since the texture descriptors are stored in a graphics memory, they do not need to be stored in the graphics processor itself, thus reducing graphics processor circuitry and cost. This allows more textures to be associated with each graphics primitive, thereby improving image realism.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: April 27, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, Alexander L. Minkin
  • Patent number: 7697009
    Abstract: Circuits, methods, and apparatus provide for the storage of texture descriptors in a graphics memory. Since the texture descriptors are stored in a graphics memory, they do not need to be stored in the graphics processor itself, thus reducing graphics processor circuitry and cost. This allows more textures to be associated with each graphics primitive, thereby improving image realism.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: April 13, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, Alexander L. Minkin
  • Patent number: 7692654
    Abstract: In a graphics pipeline of a graphics processor, a method for determining pixel location subsequent to rasterization. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive to generate a plurality of tiles related to the graphics primitive. The method further includes performing a parameter evaluation on each of the plurality of tiles to eliminate noncontributing pixels and to generate a plurality of pixels related to the graphics primitive. A starting location is generated for a first of the plurality of pixels. For each subsequent pixel of the plurality of pixels, a vector to a starting location for each subsequent pixel is generated. Shader processing is performed on the plurality of pixels in a shader stage of the graphics processor by using the start location for the first pixel and the vector for each subsequent pixel.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: April 6, 2010
    Assignee: Nvidia Corporation
    Inventor: Christopher D. S. Donham
  • Patent number: 7589741
    Abstract: Circuits, methods, and apparatus provide for the storage of texture descriptors in a graphics memory. Since the texture descriptors are stored in a graphics memory, they do not need to be stored in the graphics processor itself, thus reducing graphics processor circuitry and cost. This allows more textures to be associated with each graphics primitive, thereby improving image realism.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: September 15, 2009
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, Alexander L. Minkin
  • Patent number: 7565490
    Abstract: Circuits, methods, and apparatus that provide an L2 cache that services requests out of order. This L2 cache processes requests that are hits without waiting for data corresponding to requests that are misses to be returned from a graphics memory. A first auxiliary memory, referred to as a side pool, is used for holding subsequent requests for data at a specific address while a previous request for data at that address is serviced by a frame buffer interface and graphics memory. This L2 cache may also use a second auxiliary memory, referred to as a take pool, to store requests or pointers to data that is ready to be retrieved from an L2 cache.
    Type: Grant
    Filed: December 20, 2005
    Date of Patent: July 21, 2009
    Assignee: NVIDIA Corporation
    Inventors: Christopher D. S. Donham, John S. Montrym, Patrick R. Marchand