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: 9183607Abstract: 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: GrantFiled: August 15, 2007Date of Patent: November 10, 2015Assignee: NVIDIA CORPORATIONInventors: Justin M. Mahan, Edward A. Hutchins, Kevin P. Acken, Michael J. M. Toksvig, Christopher D. S. Donham
-
Patent number: 8773447Abstract: 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: GrantFiled: December 8, 2006Date of Patent: July 8, 2014Assignee: Nvidia CorporationInventor: Christopher D. S. Donham
-
Patent number: 8564598Abstract: 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: GrantFiled: December 10, 2007Date of Patent: October 22, 2013Assignee: Nvidia CorporationInventors: Edward A. Hutchins, William T. Warner, Jr., Christopher D. S. Donham
-
Patent number: 8547395Abstract: 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: GrantFiled: December 20, 2006Date of Patent: October 1, 2013Assignee: NVIDIA CorporationInventors: Edward A. Hutchins, Christopher D. S. Donham, Gary C. King, Michael J. M. Toksvig
-
Patent number: 8325203Abstract: 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: GrantFiled: August 15, 2007Date of Patent: December 4, 2012Assignee: NVIDIA CorporationInventor: Christopher D. S. Donham
-
Patent number: 8098257Abstract: 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: GrantFiled: February 15, 2008Date of Patent: January 17, 2012Assignee: NVIDIA CorporationInventors: Walter E. Donovan, Anders M. Kugler, Christopher D. S. Donham
-
Patent number: 8040357Abstract: 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: GrantFiled: August 15, 2007Date of Patent: October 18, 2011Assignee: Nvidia CorporationInventors: Edward A. Hutchins, Christopher D. S. Donham
-
Patent number: 8004522Abstract: 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: GrantFiled: August 7, 2007Date of Patent: August 23, 2011Assignee: NVIDIA CorporationInventors: Michael J. M. Toksvig, Brian K. Cabral, Edward A. Hutchins, Gary C. King, Christopher D. S. Donham
-
Patent number: 7996622Abstract: 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: GrantFiled: August 7, 2007Date of Patent: August 9, 2011Assignee: NVIDIA CorporationInventors: Michael J. M. Toksvig, Christopher D. S. Donham
-
Patent number: 7911470Abstract: 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: GrantFiled: December 12, 2007Date of Patent: March 22, 2011Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, John S. Montrym
-
Patent number: 7876332Abstract: 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: GrantFiled: December 20, 2006Date of Patent: January 25, 2011Assignee: Nvidia CorporationInventors: Christopher D. S. Donham, Edward A. Hutchins, Gary C. King, Michael J. M. Toksvig
-
Patent number: 7825935Abstract: 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: GrantFiled: November 30, 2001Date of Patent: November 2, 2010Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, Edward Hutchins, Alexander Minkin, George E. Scott, III
-
Patent number: 7821518Abstract: 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: GrantFiled: December 12, 2007Date of Patent: October 26, 2010Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, John S. Montrym
-
Patent number: 7817165Abstract: 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: GrantFiled: December 20, 2006Date of Patent: October 19, 2010Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, Edward A. Hutchins, Gary C. King, Michael J. M. Toksvig
-
Patent number: 7808512Abstract: 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: GrantFiled: December 19, 2006Date of Patent: October 5, 2010Assignee: NVIDIA CorporationInventors: Edward A. Hutchins, Christopher D. S. Donham, Gary C. King, Michael J. M. Toksvig, Mark J. Kilgard
-
Patent number: 7705846Abstract: 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: GrantFiled: December 12, 2007Date of Patent: April 27, 2010Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, Alexander L. Minkin
-
Patent number: 7697009Abstract: 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: GrantFiled: December 12, 2007Date of Patent: April 13, 2010Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, Alexander L. Minkin
-
Patent number: 7692654Abstract: 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: GrantFiled: December 8, 2006Date of Patent: April 6, 2010Assignee: Nvidia CorporationInventor: Christopher D. S. Donham
-
Patent number: 7589741Abstract: 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: GrantFiled: April 17, 2007Date of Patent: September 15, 2009Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, Alexander L. Minkin
-
Patent number: 7565490Abstract: 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: GrantFiled: December 20, 2005Date of Patent: July 21, 2009Assignee: NVIDIA CorporationInventors: Christopher D. S. Donham, John S. Montrym, Patrick R. Marchand