Patents by Inventor Martin J. I. FULLER

Martin J. I. FULLER 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: 10867434
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Grant
    Filed: December 30, 2019
    Date of Patent: December 15, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
  • Patent number: 10650566
    Abstract: Methods and devices for rendering graphics in a computer device include receiving, at a graphics processing unit (GPU), a memory location address of a portion of a primitive to be rendered along with an indication of one or more values of one or more pixel shader parameters for the portion of the primitive, selecting, by the GPU, a pixel shader from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters, and generating, by the GPU, at least one output of a render target of the portion of the primitive based on applying the pixel shader to the portion of the primitive.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: May 12, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller, Adam J. Miles, Jason M. Gould
  • Publication number: 20200134913
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Application
    Filed: December 30, 2019
    Publication date: April 30, 2020
    Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
  • Patent number: 10559124
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Grant
    Filed: November 1, 2018
    Date of Patent: February 11, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
  • Patent number: 10504281
    Abstract: Methods and devices for performing variable rate shading are described. Invocation information and lineage information for each pixel of a plurality of pixels of a primitive are stored in an invocation buffer and a lineage buffer of a graphics processing unit. One or more deferred shading or post-processing operations are performed on the image based at least in part on the invocation information and the lineage information associated with each pixel of the plurality of pixels.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: December 10, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman
  • Patent number: 10388063
    Abstract: Methods and devices for performing variable rate shading in graphics processing are described. A transformation pass can be performed over a current frame associate a current pixel in a current frame with a previous pixel in a previous frame. A previous fragment, including the previous pixel, in the previous frame can be analyzed to determine whether the previous fragment includes one or more areas of frequency detail achieving a threshold. A variable shading rate to apply to a current fragment including the current pixel can be determined based on analyzing the previous fragment.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: August 20, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Martin J. I. Fuller, Ivan Nevraev
  • Patent number: 10346943
    Abstract: Methods and devices for graphics shading in a computing device. The methods and devices may include receiving a respective cache line of a plurality of cache lines of a shader stored in a memory, wherein the respective cache line and one or more other ones of the plurality of cache lines include at least one jump instruction. Further, the methods and devices may include executing the respective cache line of the shader and skipping to a next portion of the plurality of cache lines based on the at least one jump instruction. Moreover, the methods and devices may include executing one or more prefetchers contemporaneously with the shader in response to the at least one jump instruction, each prefetcher requesting a subsequent one of the plurality of cache lines from the memory, wherein each prefetcher corresponds to a respective jump instruction.
    Type: Grant
    Filed: January 3, 2017
    Date of Patent: July 9, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Gould, Ivan Nevraev, Martin J. I. Fuller, James A. Goossen
  • Publication number: 20190172257
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Application
    Filed: November 1, 2018
    Publication date: June 6, 2019
    Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
  • Patent number: 10235799
    Abstract: Methods and devices for performing pixel shading in graphics processing are described. Multiple primitives of an image can be shaded at one or more variable shading rates. A subset of pixels, in at least one screen-space tile corresponding to a portion of the image, corresponding to samples that are shaded in the shading at the one or more variable shading rates, can be determined. One or more deferred passes can be applied to the subset of pixels in the at least one screen-space tile to provide additional shading of the subset of pixels. After completing the deferred passes, the set of pixels not processed by the deferred passes can be filled using adjacent shaded pixels.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: March 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller
  • Publication number: 20190005714
    Abstract: Methods and devices for performing variable rate shading in graphics processing are described. A transformation pass can be performed over a current frame associate a current pixel in a current frame with a previous pixel in a previous frame. A previous fragment, including the previous pixel, in the previous frame can be analyzed to determine whether the previous fragment includes one or more areas of frequency detail achieving a threshold. A variable shading rate to apply to a current fragment including the current pixel can be determined based on analyzing the previous fragment.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Inventors: Martin J.I. FULLER, Ivan NEVRAEV
  • Publication number: 20190005712
    Abstract: Methods and devices for performing variable rate shading are described. Invocation information and lineage information for each pixel of a plurality of pixels of a primitive are stored in an invocation buffer and a lineage buffer of a graphics processing unit. One or more deferred shading or post-processing operations are performed on the image based at least in part on the invocation information and the lineage information associated with each pixel of the plurality of pixels.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN
  • Publication number: 20190005713
    Abstract: Methods and devices for performing pixel shading in graphics processing are described. Multiple primitives of an image can be shaded at one or more variable shading rates. A subset of pixels, in at least one screen-space tile corresponding to a portion of the image, corresponding to samples that are shaded in the shading at the one or more variable shading rates, can be determined. One or more deferred passes can be applied to the subset of pixels in the at least one screen-space tile to provide additional shading of the subset of pixels. After completing the deferred passes, the set of pixels not processed by the deferred passes can be filled using adjacent shaded pixels.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Inventors: Ivan NEVRAEV, Martin J.I. FULLER
  • Patent number: 10147227
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Grant
    Filed: June 22, 2017
    Date of Patent: December 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
  • Publication number: 20180240268
    Abstract: Methods and devices for rendering graphics in a computer system include a graphical processing unit (GPU) with a flexible, dynamic, application-directed mechanism for varying the rate at which fragment shading is performed for rendering an image to a display. In particular, the described aspects include determining, at a rasterization stage, map coordinates based on coarse scan converting a primitive of an object, the map coordinates indicating a location on a sampling rate parameter (SRP) map of a fragment within the primitive of the object, and identifying a lookup value for the fragment within the primitive of the object based at least on map coordinates, and calculating a respective fragment variable SRP value for the fragment within the primitive of the object based at least on the lookup value.
    Type: Application
    Filed: June 22, 2017
    Publication date: August 23, 2018
    Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
  • Publication number: 20180232936
    Abstract: Methods and devices for rendering graphics in a computer device include receiving, at a graphics processing unit (GPU), a memory location address of a portion of a primitive to be rendered along with an indication of one or more values of one or more pixel shader parameters for the portion of the primitive, selecting, by the GPU, a pixel shader from a plurality of possible pixel shaders based on the indication of the one or more values of the one or more pixel shader parameters, and generating, by the GPU, at least one output of a render target of the portion of the primitive based on applying the pixel shader to the portion of the primitive.
    Type: Application
    Filed: June 30, 2017
    Publication date: August 16, 2018
    Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Adam J. MILES, Jason M. GOULD
  • Publication number: 20180189924
    Abstract: Methods and devices for graphics shading in a computing device. The methods and devices may include receiving a respective cache line of a plurality of cache lines of a shader stored in a memory, wherein the respective cache line and one or more other ones of the plurality of cache lines include at least one jump instruction. Further, the methods and devices may include executing the respective cache line of the shader and skipping to a next portion of the plurality of cache lines based on the at least one jump instruction. Moreover, the methods and devices may include executing one or more prefetchers contemporaneously with the shader in response to the at least one jump instruction, each prefetcher requesting a subsequent one of the plurality of cache lines from the memory, wherein each prefetcher corresponds to a respective jump instruction.
    Type: Application
    Filed: January 3, 2017
    Publication date: July 5, 2018
    Inventors: Jason GOULD, Ivan NEVRAEV, Martin J. I. FULLER, James A. GOOSSEN