Patents by Inventor Mark J. French

Mark J. French 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: 8933933
    Abstract: One embodiment of the present invention sets forth an architecture for advancing the Z-test operation prior to pixel shading whenever possible. The current rendering state, as maintained by the setup engine, determines whether advancing the Z-test function above the shader engine for “early” Z-testing is possible or whether the Z-test function should be deferred until after shading operations for “late” Z-testing. Data is dynamically routed to each processing engine in the pipeline, so that the appropriate data flow for either early Z or late Z is dynamically constructed, as determined by the current rendering state. The same functional units are utilized in both early Z and late Z configurations.
    Type: Grant
    Filed: May 8, 2006
    Date of Patent: January 13, 2015
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Emmett M. Kilgariff, Steven E. Molnar, Walter R. Steiner, Douglas A. Voorhies, Adam Clark Weitkemper
  • Patent number: 8243069
    Abstract: The current invention involves new systems and methods for computing per-sample post-z test coverage when the memory is organized in multiple partitions that may not match the number of shaders. Shaded pixels output by the shaders can be processed by one of several z raster operations units. The shading processing capability can be configured independent of the number of memory partitions and number of z raster operations units. The current invention also involves new systems and method for using different z test modes with multiple render targets with a single or multiple memory partitions. Rendering performance may be improved by using an early z testing mode is used to eliminate non-visible samples prior to shading.
    Type: Grant
    Filed: November 1, 2007
    Date of Patent: August 14, 2012
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Phillip Keslin, Steven E Molnar, Adam Clark Weitkemper
  • Patent number: 8232991
    Abstract: The current invention involves new systems and methods for computing per-sample post-z test coverage when the memory is organized in multiple partitions that may not match the number of shaders. Shaded pixels output by the shaders can be processed by one of several z raster operations units. The shading processing capability can be configured independent of the number of memory partitions and number of z raster operations units. The current invention also involves new systems and method for using different z test modes with multiple render targets with a single or multiple memory partitions. Rendering performance may be improved by using an early z testing mode is used to eliminate non-visible samples prior to shading.
    Type: Grant
    Filed: November 1, 2007
    Date of Patent: July 31, 2012
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Phillip Keslin, Steven E Molnar, Adam Clark Weitkemper
  • Patent number: 8233004
    Abstract: One embodiment of the present invention sets forth a technique for improving graphics rendering efficiency by processing pixels in a compressed format whenever possible within a multi-sampling graphics pipeline. Each geometric primitive is rasterized into fragments, corresponding to screen space pixels covered at least partially by the geometric primitive. Fragment coverage represents the pixel area covered by the geometric primitive and determines the weighted contribution of a fragment color to the corresponding screen space pixel. Samples associated with a given fragment are called sibling samples and have the same color value. The property of sibling samples having the same color value is exploited to compress and process multiple samples, thereby reducing the size of the associated logic and the amount of data written to and read from the frame buffer.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: July 31, 2012
    Assignee: NVIDIA Corporation
    Inventors: Steven E Molnar, Daniel P. Wilde, Mark J. French, Robert J. Stoll
  • Patent number: 8228328
    Abstract: The current invention involves new systems and methods for computing per-sample post-z test coverage when the memory is organized in multiple partitions that may not match the number of shaders. Shaded pixels output by the shaders can be processed by one of several z raster operations units. The shading processing capability can be configured independent of the number of memory partitions and number of z raster operations units. The current invention also involves new systems and method for using different z test modes with multiple render targets with a single or multiple memory partitions. Rendering performance may be improved by using an early z testing mode is used to eliminate non-visible samples prior to shading.
    Type: Grant
    Filed: November 1, 2007
    Date of Patent: July 24, 2012
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Phillip Keslin, Steven E Molnar, Adam Clark Weitkemper
  • Patent number: 8207975
    Abstract: One embodiment of the present invention sets forth a graphics pipeline architecture for optimizing graphics rendering efficiency by advancing the Z-test operation prior to shading operations whenever possible, as determined by an upstream pipeline configuration unit. Each processing engine within the graphics pipeline maintains independent state for both early Z-mode and late Z-mode operations and also may maintain state common to both modes. The processing engines receive work transactions that include a Z-mode flag indicating whether the work transaction should be processed in late Z-mode or early Z-mode. The Z-mode flag is also used to dynamically route any resulting outbound data, so that the appropriate data flow for either early Z or late Z processing is dynamically constructed for each work transaction.
    Type: Grant
    Filed: December 18, 2007
    Date of Patent: June 26, 2012
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Mark J. French
  • Patent number: 8085272
    Abstract: A method and system for improving data coherency in a parallel rendering system is disclosed. Specifically, one embodiment of the present invention sets forth a method, which includes the steps of receiving a common input stream, tracking a periodic event associated with the common input stream, generating a plurality of fragment streams from the common input stream, inserting a marker based on an occurrence of the periodic event in a first fragment stream in the multiple fragment streams, and utilizing the marker to influence the processing of the first fragment stream so that a plurality of raster operation (ROP) request streams maintains substantially the same coherence as the common input stream. Each fragment stream is independently processed and corresponds to one of the ROP request streams.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: December 27, 2011
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Cass W. Everitt, Roger L. Allen, Gary M. Tarolli, John M. Danskin, Adam Clark Weitkemper, Mark J. French
  • Patent number: 8059128
    Abstract: A method of performing a blit operation in a parallel processing system includes dividing a blit operation into batches of pixels, performing reads of pixels associated with a first batch in any order, confirming that all reads of pixels associated with the first batch are completed, and performing writes of pixels associated with the first batch in any order. The pixels of the first batch and pixels of additional batches are applied to parallel processors, where the parallel processors include a corral defined by entry points and exit points distributed across the parallel processors.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: November 15, 2011
    Assignee: Nvidia Corporation
    Inventors: Justin S. Legakis, Mark J. French, Steven E. Molnar, Lukito Muliadi
  • Patent number: 7999820
    Abstract: Methods and systems for reusing memory addresses in a graphics system are disclosed, so that instances of address translation hardware can be reduced. One embodiment of the present invention sets forth a method, which includes mapping a footprint on a display screen to a group of contiguous physical memory locations in a memory system, determining an anchor physical memory address from a first transaction associated with the footprint, wherein the anchor physical memory address corresponds to an anchor in the group of contiguous physical memory locations, determining a second transaction that is also associated with the footprint, determining a set of least significant bits (LSBs) associated with the second transaction, and combining the anchor physical memory address with the set of LSBs associated with the second transaction to generate a second physical memory address for the second transaction, thereby avoiding a second full address translation.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: August 16, 2011
    Assignee: NVIDIA Corporation
    Inventors: Adam Clark Weitkemper, Steven E. Molnar, Mark J. French, Cass W. Everitt
  • Patent number: 7944452
    Abstract: Methods and systems for reusing memory addresses in a graphics system are disclosed, so that instances of address translation hardware can be reduced. One embodiment of the present invention sets forth a method, which includes mapping a footprint in screen space to a group of contiguous physical memory locations in a memory system, determining a first physical memory address for a first transaction associated with the footprint, wherein the first physical memory address is within the group of contiguous physical memory locations, determining a second transaction that is also associated with the footprint, determining a set of least significant bits associated with the second transaction, and combining a portion of the first physical memory address with the set of least significant bits associated with the second transaction to generate a second physical memory address for the second transaction, thereby avoiding a second full address translation.
    Type: Grant
    Filed: October 23, 2006
    Date of Patent: May 17, 2011
    Assignee: NVIDIA Corporation
    Inventors: Adam Clark Wietkemper, Steven E. Molnar, Mark J. French, Cass W. Everitt
  • Patent number: 7917736
    Abstract: A synchronization mechanism is used to synchronize events across multiple execution pipelines that process transaction streams. A common set of state configuration is included in each transaction stream to control processing of data that is distributed between the different transaction streams. Portions of the state configuration correspond to portions of the data. Execution of the transaction streams is synchronized to ensure that each portion of the data is processed using the state configuration that corresponds to that portion of the data. The synchronization mechanism may be used for multiple synchronizations and when the synchronization signals are pipelined to meet chip-level timing requirements.
    Type: Grant
    Filed: November 6, 2009
    Date of Patent: March 29, 2011
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Steven E. Molnar
  • Patent number: 7880747
    Abstract: A technique for handling floating-point special values, e.g., Infinity, NaN, ?Zero, and denorms, during blend operations is provided so that blend operations on fragment color values that contain special values can be performed in compliance with special value handling rules. In particular, the presence of special values is detected or the potential presence of special values is detected. This information is used to qualify when blend optimizations may be performed, so that floating point blend operations can remain conformant to special value handling rules.
    Type: Grant
    Filed: December 13, 2006
    Date of Patent: February 1, 2011
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Jerome F. Duluk, Jr., Henry P. Moreton, Daniel P. Wilde, Mark J. French, Bengt-Olaf Schneider, Jonathan J. Dunaisky, Weizhong Xu
  • Patent number: 7768519
    Abstract: A high-performance crossbar for a pipeline is disclosed. In particular, one embodiment of the crossbar receives multimedia data at a first throughput from a source operating in a first pipeline stage. The received data are stored in at least one input buffer corresponding to the source in the crossbar. The crossbar also causes the multimedia data from the input buffer to be routed to at least one output buffer at a second throughput. The output buffer corresponds to a destination operating in a second pipeline stage. Then the crossbar causes the multimedia data from the output buffer to be routed to the destination at the first throughput.
    Type: Grant
    Filed: September 19, 2006
    Date of Patent: August 3, 2010
    Assignee: NVIDIA Corporation
    Inventors: David L. Anderson, Mark J. French
  • Patent number: 7692659
    Abstract: One embodiment of the present invention sets forth a technique for improving graphics rendering efficiency by processing pixels in a compressed format whenever possible within a multi-sampling graphics pipeline. Each geometric primitive is rasterized into fragments, corresponding to screen space pixels covered at least partially by the geometric primitive. Fragment coverage represents the pixel area covered by the geometric primitive and determines the weighted contribution of a fragment color to the corresponding screen space pixel. Samples associated with a given fragment are called sibling samples and have the same color value. The property of sibling samples having the same color value is exploited to compress and process multiple samples, thereby reducing the size of the associated logic and the amount of data written to and read from the frame buffer.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: April 6, 2010
    Assignee: NVIDIA Corporation
    Inventors: Steven E Molnar, Daniel P. Wilde, Mark J. French, Robert J. Stoll
  • Patent number: 7626588
    Abstract: Prescient cache management methods and systems are disclosed. In one embodiment, a local cache that operates within a raster engine operations stage of a graphics rendering pipeline is managed by following a number of caching decisions related to a number of cached tiles. Each of these cached tiles has a certain priority to remain in the local cache, with the priority corresponding to a conflict type received from a buffer operating within a pre-raster engine operations stage of the graphics rendering pipeline.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: December 1, 2009
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Mark J. French, Cass W. Everitt, Adam Clark Weitkemper, Phillip Keslin, David L. Anderson, George R. Lynch
  • Patent number: 7620798
    Abstract: A synchronization mechanism is used to synchronize events across multiple execution pipelines that process transaction streams. A common set of state configuration is included in each transaction stream to control processing of data that is distributed between the different transaction streams. Portions of the state configuration correspond to portions of the data. Execution of the transaction streams is synchronized to ensure that each portion of the data is processed using the state configuration that corresponds to that portion of the data. The synchronization mechanism may be used for multiple synchronizations and when the synchronization signals are pipelined to meet chip-level timing requirements.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: November 17, 2009
    Assignee: NVIDIA Corporation
    Inventors: Mark J. French, Steven E. Molnar
  • Patent number: 7616209
    Abstract: Prescient cache management methods and systems are disclosed. In one embodiment, within a pre-raster engine operations stage in a graphics rendering pipeline, tile entries are stored in a buffer. Each of these tile entries is related a transaction request that enters the pre-raster engine operations stage and has a screen coordinates field and a conflict field. If this buffer includes a first tile entry, which is related to a first transaction request associated with a first tile, and a second tile entry, which is related to a second transaction request that enters the pre-raster engine operations stage after the first transaction request and is also associated with the first tile, the conflict field of the first tile entry is updated with a conflict type that reflects a number of tile entries between the first tile entry and the second tile entry.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: November 10, 2009
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Mark J. French, Cass W. Everitt, Adam Clark Weitkemper, Phillip Keslin, David L. Anderson, George R. Lynch
  • Patent number: 7519797
    Abstract: An event occurring in a graphics pipeline is detected and counted at the location of its occurrence using an event detector and a local counter. The event count maintained by the local counter is reported asynchronously to a global counter. The global counter is configured to be of higher precision than the local counter and is positioned at a place that is convenient for reporting the events, e.g., at the end of the graphics pipeline.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: April 14, 2009
    Assignee: NIVIDIA Corporation
    Inventors: Gregory J. Stiehl, David L. Anderson, Cass W. Everitt, Mark J. French, Steven E. Molnar
  • Patent number: 7382368
    Abstract: A z buffer stores compressed z data represented in a planar format for one or more tiles. The compressed format includes a set of tile specific coefficients defining a plane equation for each z tested primitive intersecting the tile. The z buffer stores a maximum number of sets of tile specific coefficients for each tile, and when the maximum number of sets is exceeded for a particular tile, an uncompressed format is used to store the z data for the particular tile.
    Type: Grant
    Filed: June 28, 2004
    Date of Patent: June 3, 2008
    Assignee: NVIDIA Corporation
    Inventors: Steven E. Molnar, Mark J. French, John S. Montrym, Bengt-Olaf Schneider, Daniel P. Wilde