Patents by Inventor Franklin C. Crow

Franklin C. Crow 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: 9123173
    Abstract: In a raster stage of a graphics pipeline, a method for rasterizing non-rectangular tile groups. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor. The graphics primitive is rasterized at a first level by generating a non-rectangular footprint comprising a set of pixels related to the graphics primitive. The graphics primitive is then rasterized at a second level by accessing the set of pixels and determining covered pixels out of the set of pixels. The raster stage subsequently outputs the covered pixels for rendering operations in a subsequent stage of the graphics processor.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: September 1, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Justin S. Legakis, Franklin C. Crow, John S. Montrym, Douglas A. Voorhies
  • Patent number: 9117309
    Abstract: A method for rendering polygons with a bounding box and a graphics processor unit. The method includes generating a bounding rectangle, wherein each edge of the bounding rectangle is defined to a sub-pixel precision. At least one polygon within the bounding rectangle is cropped to the sub-pixel precision. The polygon is blended with a background color outside the bounding rectangle to anti-alias the polygon with the background color, wherein the blending is performed with the sub-pixel precision of the bounding rectangle.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: August 25, 2015
    Assignee: NVIDIA CORPORATION
    Inventor: Franklin C. Crow
  • Patent number: 9105113
    Abstract: A graphics processor method and system for rendering a circle. The method includes the step of accessing an instruction to render a circle. A square is defined using at least one graphics primitive, and a circle is defined within the square, wherein a center of the circle corresponds to a center of the square and wherein a radius of the circle is defined by a width of the square. The circle is rasterized into at least one pixel and a coverage value is determined for each pixel of the circle by comparing a distance from the pixel to the center of the circle with the radius of the circle. Each pixel is then shaded in accordance with the coverage value.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: August 11, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Franklin C. Crow, Blaise A. Vignon
  • Patent number: 9070213
    Abstract: In a raster stage of a graphics processor, a method for tile based precision rasterization. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive at a first level precision to generate a plurality of tiles of pixels. The tiles are then rasterized at a second level precision to generate covered pixels. The covered pixels are then output for rendering operations in a subsequent stage of the graphics processor.
    Type: Grant
    Filed: July 26, 2006
    Date of Patent: June 30, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Franklin C. Crow, Blaise A. Vignon
  • Patent number: 9064333
    Abstract: Techniques for handling an interrupt in the rasterizer, in accordance with embodiment of the present technology, start with rasterizing one or more primitives of a first context. If an interrupt is received, the tile count of tiles of a current primitive that have been coarse rasterized is saved in a backing store. After storing the tile count, the one or more primitives of a second context are rasterized. After the second context is served, the coarse rasterization of the current primitive of the previous context is rerun without output until the tile corresponding to the stored tile count is coarse rasterized. Thereafter, rasterization of the current primitive of the first context from the next tile beyond the stored tile count is continued until rasterization is completed or another interrupt is received and the above described process is repeated.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: June 23, 2015
    Assignee: NVIDIA CORPORATION
    Inventors: Franklin C. Crow, Jeffrey R. Sewall
  • Patent number: 8941653
    Abstract: One embodiment of the present invention sets forth a technique for rendering graphics primitives in parallel while maintaining the API primitive ordering. Multiple, independent geometry units perform geometry processing concurrently on different graphics primitives. A primitive distribution scheme delivers primitives concurrently to multiple rasterizers at rates of multiple primitives per clock while maintaining the primitive ordering for each pixel. The multiple, independent rasterizer units perform rasterization concurrently on one or more graphics primitives, enabling the rendering of multiple primitives per system clock.
    Type: Grant
    Filed: November 18, 2013
    Date of Patent: January 27, 2015
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Emmett M. Kilgariff, John S. Rhoades, Timothy John Purcell, Sean J. Treichler, Ziyad S. Hakura, Franklin C. Crow, James C. Bowman
  • Patent number: 8928676
    Abstract: In a raster stage of a graphics processor, a method for parallel fine rasterization. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor. The graphics primitive is rasterized at a first level to generate a plurality of tiles of pixels. The titles are subsequently rasterized at a second level by allocating the tiles to an array of parallel second-level rasterization units to generate covered pixels. The covered pixels are then output for rendering operations in a subsequent stage of the graphics processor.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: January 6, 2015
    Assignee: Nvidia Corporation
    Inventors: Walter R. Steiner, Franklin C. Crow, Craig M. Wittenbrink, Roger L. Allen, Douglas A. Voorhies
  • Patent number: 8780123
    Abstract: Techniques for handling an interrupt in the rasterizer, in accordance with embodiment of the present technology, start with rasterizing one or more primitives of a first context. If an interrupt is received, state information of the rasterizer is saved in a backing store after coarse rasterizing a given tile. After storing the raster state information, the one or more primitives of a second context are rasterized. After the second context is served, the raster state information of the first context is restored and rasterization of the one or more primitives of the first context is restarted.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: July 15, 2014
    Assignee: NVIDIA Corporation
    Inventors: Franklin C. Crow, Jeffrey R. Sewall
  • Publication number: 20140152652
    Abstract: One embodiment of the present invention sets forth a technique for rendering graphics primitives in parallel while maintaining the API primitive ordering. Multiple, independent geometry units perform geometry processing concurrently on different graphics primitives. A primitive distribution scheme delivers primitives concurrently to multiple rasterizers at rates of multiple primitives per clock while maintaining the primitive ordering for each pixel. The multiple, independent rasterizer units perform rasterization concurrently on one or more graphics primitives, enabling the rendering of multiple primitives per system clock.
    Type: Application
    Filed: November 18, 2013
    Publication date: June 5, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Steven E. MOLNAR, Emmett M. KILGARIFF, John S. RHOADES, Timothy John PURCELL, Sean J. TREICHLER, Ziyad S. HAKURA, Franklin C. CROW, James C. BOWMAN
  • Patent number: 8698811
    Abstract: A method for traversing pixels of an area is described. The method includes the steps of traversing a plurality of pixels of an image using a first boustrophedonic pattern along a predominant axis, and, during the traversal using the first boustrophedonic pattern, traversing a plurality of pixels of the image using a second boustrophedonic pattern. The second boustrophedonic pattern is nested within the first boustrophedonic pattern.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: April 15, 2014
    Assignee: Nvidia Corporation
    Inventors: Franklin C. Crow, Justin S. Legakis, Jeffrey R. Sewall
  • Patent number: 8587581
    Abstract: One embodiment of the present invention sets forth a technique for rendering graphics primitives in parallel while maintaining the API primitive ordering. Multiple, independent geometry units perform geometry processing concurrently on different graphics primitives. A primitive distribution scheme delivers primitives concurrently to multiple rasterizers at rates of multiple primitives per clock while maintaining the primitive ordering for each pixel. The multiple, independent rasterizer units perform rasterization concurrently on one or more graphics primitives, enabling the rendering of multiple primitives per system clock.
    Type: Grant
    Filed: October 15, 2009
    Date of Patent: November 19, 2013
    Assignee: Nvidia Corporation
    Inventors: Steven E. Molnar, Emmett M. Kilgariff, Johnny S. Rhoades, Timothy John Purcell, Sean J. Treichler, Ziyad S. Hakura, Franklin C. Crow, James C. Bowman
  • Patent number: 8508544
    Abstract: A method and system for selective enablement of tile compression. The method includes receiving a graphics primitive for processing in a set-up unit of a graphics processor and determining a primitive characteristic that indicates a probability of whether a final compression of a tile related to the primitive will be retained. Compression for the tile related to the primitive is allowed when the characteristic indicates the final compression will be retained. Compression for the tile related to the primitive is disallowed in the characteristic indicates the final compression will not be retained.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: August 13, 2013
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Franklin C. Crow
  • Publication number: 20130176330
    Abstract: A method and system for smooth rasterization of graphics primitives. The method includes receiving a graphics primitive for rasterization in a raster stage of a processor, rasterizing the graphics primitive by generating a plurality of fragments related to the graphics primitive, and determining a coverage value for each of the plurality of fragments. If one edge of the graphics primitive lies within a predetermined inter-pixel distance from a pixel center, the one edge is used to calculate the coverage value by using a distance to the pixel center. If two edges of the graphics primitive lie within the predetermined inter-pixel distance from the pixel center, a distance to the pixel center of each edge is used individually to calculate the coverage value. The resulting coverage values for the plurality of fragments are output to a subsequent stage of the processor for rendering.
    Type: Application
    Filed: August 7, 2012
    Publication date: July 11, 2013
    Applicant: NVIDIA CORPORATION
    Inventor: Franklin C. Crow
  • Patent number: 8482567
    Abstract: A line rasterization technique in accordance with one embodiment includes conditioning a line by pulling in the ending vertex of the line or pushing out the starting vertex of the line. Thereafter, if the line exits a diamond test area of each pixel that it touches, the pixel may be lit.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: July 9, 2013
    Assignee: Nvidia Corporation
    Inventors: Henry Packard Moreton, Franklin C. Crow
  • Patent number: 8477134
    Abstract: In a raster stage of a graphics processor, a method for using low precision evaluation and high precision evaluation for conservative triage of polygon status. 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. The tiles are rasterized at a first level precision to generate a plurality of sub-tiles related to the graphics primitive, wherein the sub-tiles are evaluated against the graphics primitive at each of their respective corners. Each of the sub-tiles not related to the graphics primitive are discarded. The sub-tiles related to the graphics primitive are rasterized at a second level precision.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: July 2, 2013
    Assignee: Nvidia Corporation
    Inventors: Blaise Vignon, Franklin C. Crow
  • Patent number: 8427487
    Abstract: A method and system for interface compression in a raster stage 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 at a first level in a coarse raster component to generate a plurality of tiles related to the graphics primitive. The method determines whether a window ID operation is required for the plurality of tiles. If the operation is required, a respective plurality of uncompressed coverage masks for the tiles are output from the coarse raster component to a fine raster component on a one coverage mask per clock cycle basis. If the operation is not required, a compressed coverage mask for the tiles is output in a single clock cycle. The tiles are subsequently rasterized at a second-level in the fine raster component to generate pixels related to the graphics primitive.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: April 23, 2013
    Assignee: Nvidia Corporation
    Inventor: Franklin C. Crow
  • Patent number: 8390645
    Abstract: A method for rendering a plurality of line primitives. The method includes the step of accessing a first line primitive and a second line primitive of a line strip. For a junction between the first line primitive and the second line primitive, the first line primitive and the second line primitive are geometrically modified to generate an abutting edge between the first line primitive and the second line primitive. A majority status is assigned to a pixel on the abutting edge. A first color of the first line primitive or a second color of the second line primitive is allocated to the pixel in accordance with the majority status.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: March 5, 2013
    Assignee: Nvidia Corporation
    Inventors: Franklin C. Crow, John S. Montrym, David K. McAllister, Craig M. Wittenbrink
  • Patent number: 8237738
    Abstract: A method and system for smooth rasterization of graphics primitives. The method includes receiving a graphics primitive for rasterization in a raster stage of a processor, rasterizing the graphics primitive by generating a plurality of fragments related to the graphics primitive, and determining a coverage value for each of the plurality of fragments. If one edge of the graphics primitive lies within a predetermined inter-pixel distance from a pixel center, the one edge is used to calculate the coverage value by using a distance to the pixel center. If two edges of the graphics primitive lie within the predetermined inter-pixel distance from the pixel center, a distance to the pixel center of each edge is used individually to calculate the coverage value. The resulting coverage values for the plurality of fragments are output to a subsequent stage of the processor for rendering.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: August 7, 2012
    Assignee: Nvidia Corporation
    Inventor: Franklin C. Crow
  • Patent number: 8085264
    Abstract: A method for multiple queue output buffering in a raster stage of a graphics processor. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor. The graphics primitive is rasterized at a first level to generate a plurality of tiles of pixels related to the graphics primitive. Each tile is then rasterized to determine related sub-portions of each tile. The related sub-portions are transferred to a plurality of output queues. The related sub-portions are subsequently output on a per queue basis and on a per clock cycle basis.
    Type: Grant
    Filed: July 26, 2006
    Date of Patent: December 27, 2011
    Assignee: NVIDIA Corporation
    Inventors: Franklin C. Crow, Jeffrey R. Sewall
  • Patent number: 8063903
    Abstract: The edge evaluation technique, in accordance with one embodiment of the present technology, includes determining a number of edges of a given primitive to be evaluated. The technique also includes sequencing evaluation of a first edge by a first edge evaluation circuit and a second edge by a second edge evaluation circuit during a first clock cycle. The technique further includes sequencing evaluation of a third edge by the first edge evaluation circuit and a fourth edge by the second edge evaluation circuit during a second clock cycle if three or more edges are to be evaluated.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: November 22, 2011
    Assignee: NVIDIA Corporation
    Inventors: Blaise A. Vignon, Franklin C. Crow