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: 10867434Abstract: 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: GrantFiled: December 30, 2019Date of Patent: December 15, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
-
Patent number: 10650566Abstract: 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: GrantFiled: June 30, 2017Date of Patent: May 12, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ivan Nevraev, Martin J. I. Fuller, Adam J. Miles, Jason M. Gould
-
Publication number: 20200134913Abstract: 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: ApplicationFiled: December 30, 2019Publication date: April 30, 2020Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
-
Patent number: 10559124Abstract: 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: GrantFiled: November 1, 2018Date of Patent: February 11, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
-
Patent number: 10504281Abstract: 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: GrantFiled: June 30, 2017Date of Patent: December 10, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman
-
Patent number: 10388063Abstract: 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: GrantFiled: June 30, 2017Date of Patent: August 20, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Martin J. I. Fuller, Ivan Nevraev
-
Patent number: 10346943Abstract: 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: GrantFiled: January 3, 2017Date of Patent: July 9, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jason Gould, Ivan Nevraev, Martin J. I. Fuller, James A. Goossen
-
Publication number: 20190172257Abstract: 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: ApplicationFiled: November 1, 2018Publication date: June 6, 2019Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
-
Patent number: 10235799Abstract: 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: GrantFiled: June 30, 2017Date of Patent: March 19, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ivan Nevraev, Martin J. I. Fuller
-
Publication number: 20190005714Abstract: 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: ApplicationFiled: June 30, 2017Publication date: January 3, 2019Inventors: Martin J.I. FULLER, Ivan NEVRAEV
-
Publication number: 20190005712Abstract: 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: ApplicationFiled: June 30, 2017Publication date: January 3, 2019Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN
-
Publication number: 20190005713Abstract: 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: ApplicationFiled: June 30, 2017Publication date: January 3, 2019Inventors: Ivan NEVRAEV, Martin J.I. FULLER
-
Patent number: 10147227Abstract: 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: GrantFiled: June 22, 2017Date of Patent: December 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Ivan Nevraev, Martin J. I. Fuller, Mark S. Grossman, Jason M. Gould
-
Publication number: 20180240268Abstract: 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: ApplicationFiled: June 22, 2017Publication date: August 23, 2018Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Mark S. GROSSMAN, Jason M. GOULD
-
Publication number: 20180232936Abstract: 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: ApplicationFiled: June 30, 2017Publication date: August 16, 2018Inventors: Ivan NEVRAEV, Martin J. I. FULLER, Adam J. MILES, Jason M. GOULD
-
Publication number: 20180189924Abstract: 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: ApplicationFiled: January 3, 2017Publication date: July 5, 2018Inventors: Jason GOULD, Ivan NEVRAEV, Martin J. I. FULLER, James A. GOOSSEN