Patents by Inventor Joel J. McCormack

Joel J. McCormack 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: 8456481
    Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
    Type: Grant
    Filed: March 16, 2012
    Date of Patent: June 4, 2013
    Assignee: Nvidia Corporation
    Inventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
  • Patent number: 8436868
    Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
    Type: Grant
    Filed: March 28, 2011
    Date of Patent: May 7, 2013
    Assignee: NVIDIA Corporation
    Inventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
  • Publication number: 20120176377
    Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
    Type: Application
    Filed: March 16, 2012
    Publication date: July 12, 2012
    Applicant: NVIDIA CORPORATION
    Inventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
  • Publication number: 20110169850
    Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
    Type: Application
    Filed: March 28, 2011
    Publication date: July 14, 2011
    Applicant: NVIDIA CORPORATION
    Inventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
  • Patent number: 7916149
    Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
    Type: Grant
    Filed: January 4, 2005
    Date of Patent: March 29, 2011
    Assignee: NVIDIA Corporation
    Inventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
  • Patent number: 7884831
    Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.
    Type: Grant
    Filed: January 19, 2010
    Date of Patent: February 8, 2011
    Assignee: NVIDIA Corporation
    Inventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donavan, Emmett M. Kilgariff
  • Publication number: 20100118043
    Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.
    Type: Application
    Filed: January 19, 2010
    Publication date: May 13, 2010
    Applicant: NVIDIA Corporation
    Inventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J.M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donavan, Emmett M. Kilgariff
  • Patent number: 7649538
    Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: January 19, 2010
    Assignee: NVIDIA Corporation
    Inventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donovan, Emmett M. Kilgariff
  • Patent number: 6329977
    Abstract: A computer graphics system renders an image on a display device using improved pre-filtering techniques that minimize aliasing artifacts in the image, particularly at the endpoints of lines. To anti-alias the image, a plurality of edges are placed near a line in the image. An edge function represents the edge. This edge function is multiplied by a scale factor to produce a distance function. This scale factor is the reciprocal of the Euclidean length of the line. The distance function is evaluated to determine the distance of selected pixels from each edge in units of pixels. These distances determine the intensity value for each selected pixel. Pixels on or beyond an edge, with respect to the line, are given a minimum intensity value; pixels inside all edges are given intensity values corresponding to their distances from the edge. An intensity function describing a relationship between pixel distances from the edges and their corresponding intensity values is developed.
    Type: Grant
    Filed: March 10, 1998
    Date of Patent: December 11, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Robert S. McNamara, Joel J. McCormack, Norman P. Jouppi, James T. Claffey, James M. Knittel, Larry D. Seiler
  • Patent number: 6292193
    Abstract: A computer graphics system maps textures to displayed anti-aliased images with surfaces defined at oblique angles to the viewer. A circular pixel filter is projected onto a texture map to define an elliptical footprint in that texture map. The elliptical footprint has a major axis. Sample points are determined on a line in the footprint that closely approximates the major axis. These sample points are mapped to levels of detail and locations within a mip-map. Using a space-invariant filter, a texture value is computed for each sample point using data from one or more texture maps within the mip-map. These texture values for the sample points are post-filtered using a Gaussian filter function and summed to produce a final texture value. Blending the final texture with other characteristics of the pixel a produces the pixel data that are displayed on a display screen.
    Type: Grant
    Filed: July 30, 1998
    Date of Patent: September 18, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Ronald Perry, Norman P. Jouppi, Joel J. McCormack, Keith Istvan Farkas
  • Patent number: 6204859
    Abstract: A method and an apparatus determine a color for pixels in a graphics system in which images are defined by pixels. Multiple fragments of an image may be visible in any given pixel. Each visible fragment has a fragment value that includes the color of that fragment. For such given pixel, up to a predetermined number of the fragment values are stored. When a new fragment is visible in the given pixel, one of the fragment values is discarded to determine which fragment values are stored and subsequently used to generate the color of the pixel. The discarded fragment value may be the new fragment value or one of the stored fragment values. Various strategies can be used to determine which fragment value is discarded. One such scheme selects the stored fragment value with the greatest Z-depth. Another scheme selects the stored fragment value that produces the smallest color difference from the new fragment value.
    Type: Grant
    Filed: October 15, 1997
    Date of Patent: March 20, 2001
    Assignee: Digital Equipment Corporation
    Inventors: Norman P. Jouppi, Joel J. McCormack, Chun-Fa Chang
  • Patent number: 6128000
    Abstract: A method and an apparatus reduces aliasing artifacts in images defined by pixels. A pixel is partitioned into subpixel locations from which sample points are selected. A fragment of the image is determined to be visible at at least one of the sample points. A fragment value associated with that fragment is stored. Each sample point at which the fragment is visible is linked to the stored fragment value. A color of the pixel is computed from the stored fragment values to reduce the aliasing artifacts in the image.
    Type: Grant
    Filed: October 15, 1997
    Date of Patent: October 3, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Norman P. Jouppi, Joel J. McCormack
  • Patent number: 6112318
    Abstract: An apparatus and method for counting event signals generated by a computer system is described. The event signals are indicative of the performance of the computer system. Programmable logic enhances the functionality of performance counters by enabling the system user to specify, during the execution of an application program, which event signals to count. The system user can dynamically configure the programmable logic to select a subset of the event signals generated by the computer system, and to combine the selected subset of event signals to generate a new event signal that can be counted. Other new event signals can be generated by the programmable logic from the selected subset of event signals. A user of the computer system can dynamically make the selection of any one of the new event signals for counting.
    Type: Grant
    Filed: August 11, 1997
    Date of Patent: August 29, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Norman P. Jouppi, Joel J. McCormack, Larry D. Seiler, Mark O. Yeager
  • Patent number: 6109777
    Abstract: A computing system performs non-restoring division. Quotient selection logic selects quotient digits that are used to produce a final quotient. The quotient digits are selected according to a predetermined relationship among certain bits of the divisor and the partial remainder. Only non-zero quotient digits are selected. A quotient accumulator combines each selected quotient digit with a current partial quotient concurrently while each quotient digit is selected. The quotient digits are selected and combined until the final quotient is produced.
    Type: Grant
    Filed: April 16, 1997
    Date of Patent: August 29, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Norman P. Jouppi, Joel J. McCormack, John H. Zurawski
  • Patent number: 6085292
    Abstract: A cache includes an address cache for storing memory addresses. An address queue is connected to the address cache for storing missed addresses in the order that the address cache is probed. A memory controller receives the missed addresses from the address queue. A data queue receives data stored at the missed addresses from the memory controller. A probe result queue is connected to the address cache for storing data cache line addresses and hit/miss information. A multiplexer connected to the data cache, the data queue, and the probe result queue selects output data from the data cache or the data queue depending on the hit/miss information.
    Type: Grant
    Filed: June 5, 1997
    Date of Patent: July 4, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Joel J. McCormack, Kenneth W. Correll, Barton W. Berkowitz, Christopher C. Gianos
  • Patent number: 5870109
    Abstract: A graphics system for storing and editing graphic images represented by digital data, includes a frame memory for storing pixel data representing graphic images including first and second graphic objects. The pixel data is stored at addresses, each being associated with one or more graphic fragment forming the first and second graphic objects. First and second addresses are respectively associated with those of the graphic fragments forming the first and second graphic objects. A memory controller controls writing and reading the pixel data to and from the frame memory. A fragment editor is provided to receive the pixel data read from the first address and modify the associated fragment with the received pixel data so as to form modified pixel data. An address detector detects the first address responsive to a request to read the pixel data from the first address and the second address responsive to a subsequent request to read pixel data from the second address.
    Type: Grant
    Filed: June 6, 1997
    Date of Patent: February 9, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Joel J. McCormack, Christopher C. Gianos, Andrew V. Hoar, Larry D. Seiler, Norman P. Jouppi, James T. Claffey
  • Patent number: 5781201
    Abstract: A method for improving the performance of a graphics system includes the steps of allocating appropriate pixels to slices of memory such that corresponding subsets of bits of neighboring pixels are allocated to different slices of memory, where `neighboring pixels` includes both consecutive pixels in a scan line, or pixels in consecutive scan lines. In addition, hardware is provided that allows for the individual memory slices to be independently accessed, thus allowed each slice to access data from a different 64 bit word in video memory during one video access period. Controllers which independently access the memory slices are advantageously totally time independent, to allow the most flexibility in the starting and finishing of the access of the memory slice. Performance is further gained by buffering of both the read and write requests to the video memory.
    Type: Grant
    Filed: May 1, 1996
    Date of Patent: July 14, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Joel J. McCormack, Robert S. McNamara, Larry D. Seiler, Christopher C. Gianos
  • Patent number: 5696945
    Abstract: A video subsystem of a computer processor is shown to include a graphics controller coupled to a video memory. A method for improving graphics performance for applications which use fewer bits per pixel than provided in the graphics subsystem includes the steps of rearranging the pixel and byte data in video memory such that corresponding bytes of different pixels are stored in different, simultaneously accessible locations of the video memory. With such an arrangement, accesses to video memory may be provided which utilize all of the available bytes of the video memory bus, thereby increasing the performance of the graphics operation. In addition, a graphics system having a plurality of independently operating memory controllers is shown to further improve graphics performance by ensuring that the video memory bus operates at full capacity.
    Type: Grant
    Filed: January 6, 1997
    Date of Patent: December 9, 1997
    Assignee: Digital Equipment Corporation
    Inventors: Larry D. Seiler, Robert S. McNamara, Christopher C. Gianos, Joel J. McCormack
  • Patent number: 5559953
    Abstract: An apparatus and method for storing pixel data in a video memory having a plurality of slices increases the performance of line drawing by ensuring that for a given pixel, neighboring pixels in neighboring scan lines are stored in separate slices of video memory. One embodiment of the invention includes the step of appending a number of offset bits to the end of each scan line, where the number of offset bits is less than the total number of bits contained in the plurality of slices. Another embodiment of the invention rearranges the pixels of every other scan line. Another embodiment adds an offset number of pixels which is equal to the number of pixels per slice times the number of slices, then alternates ordered pixels with rearranged pixels throughout successive scan lines. Performance is further increased by providing a plurality of memory controllers corresponding to the plurality of slices of memory which may operate asynchronously to interleave memory access commands.
    Type: Grant
    Filed: July 1, 1994
    Date of Patent: September 24, 1996
    Assignee: Digital Equipment Corporation
    Inventors: Larry D. Seiler, Robert S. McNamara, Christopher C. Gianos, Joel J. McCormack