IP Library › Granted Patent US 10,212,443
Granted Patent B2
US 10,212,443 · App. 15/873,379 · Granted Feb 19, 2019

Lossless compression for multisample render targets alongside fragment compression

Inventors: Prasoonkumar Surti (Folsom, CA); Abhishek R. Appu (El Dorado Hills, CA); Michael J. Norris (Folsom, CA); Eric G. Liskay (Folsom, CA)
Assignee: Intel Corporation
H04N19/436G06T1/20G06T5/20G06T7/13G06T15/503H04N19/85G06T2200/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,212,443
App. No.
15/873,379
Granted
Feb 19, 2019
Kind
B2
Abstract

One embodiment provides for a general-purpose graphics processor comprising a multisample antialiasing compression module to perform planar multi-sample anti-aliasing, the multisample antialiasing compression module to analyze color data for a set of sample locations of a first pixel; determine a first plane to allocate for the first pixel, wherein the first plane is a lowest order plane to be allocated for the first pixel; and merge a plane allocation for the first pixel with a plane allocation for a second pixel in response to a determination that the first plane is the lowest order plane to be allocated for the second pixel.

Claims (38)

1. A graphics processor comprising:

a multisample antialiasing plane allocator to progressively allocate memory planes for multiple pixels; and

a multisample antialiasing compression module to compress planar multisample antialiasing allocations, the multisample antialiasing compression module to:

determine a first memory plane to allocate for a first pixel, wherein the first memory plane is a lowest order memory plane to be allocated for the first pixel, wherein the lowest order memory plane is a lowest numbered memory plane referenced by one or more sample locations of a pixel; and

merge a memory plane allocation for the first pixel with a memory plane allocation for a second pixel in response to a determination that the first memory plane is the lowest order memory plane to be allocated for the second pixel.

2. The graphics processor as in claim 1 , the multisample antialiasing plane allocator to allocate memory planes for multiple pixels in parallel.

3. The graphics processor as in claim 2 , the multisample antialiasing plane allocator to progressively allocate memory planes for multiple pixels without pre-calculating an entire set of planes to be allocated.

4. The graphics processor as in claim 3 , wherein to merge the memory plane allocation for the first pixel with the memory plane allocation for the second pixel includes to allocate a shared memory plane via the multisample antialiasing plane allocator.

5. The graphics processor as in claim 4 , wherein to merge the memory plane allocation for the first pixel with the memory plane allocation for the second pixel additionally includes to update a plane to pixel map to map the shared memory plane to the first pixel and the second pixel.

6. The graphics processor as in claim 1 , the multisample antialiasing compression module further to:

analyze color data for a set of sample locations of a first pixel;

determine the first memory plane to allocate for the first pixel based on a color of a sample of the first pixel, wherein the color of the sample of the first pixel is a first color and the first memory plane is to store the first color; and

merge the memory plane allocation for the first pixel with a memory plane allocation for the second pixel when a first plane to be allocated for the second pixel is to store a same color as the first color.

7. The graphics processor as in claim 6 , the first color generated via a fragment shader, pixel shader, or compute shader to be executed via a compute unit of the graphics processor.

8. A method of performing planar multisample antialiasing on a graphics processor, the method comprising:

determining a first memory plane to allocate for a first pixel, the first memory plane a lowest order memory plane allocated for the first pixel, wherein the lowest order memory plane is a lowest numbered plane referenced by one or more sample locations of a pixel;

merging a memory plane allocation for the first pixel with a memory plane allocation for a second pixel in response determining that the first memory plane is the lowest order memory plane to be allocated for the second pixel; and

progressively allocating memory planes for the first pixel and the second pixel within a memory of the graphics processor.

9. The method as in claim 8 , additionally comprising:

analyzing color data for a set of sample locations of a first pixel;

determining the first memory plane to allocate for the first pixel based on a color of a sample of the first pixel, wherein the color of the sample of the first pixel is a first color and the first memory plane is to store the first color; and

merging the memory plane allocation for the first pixel with a memory plane allocation for the second pixel when the first memory plane to be allocated for the second pixel is to store a same color as the first color.

10. The method as in claim 9 , additionally comprising generating the first color via a fragment shader, pixel shader, or compute shader via a compute unit of the graphics processor.

11. The method as in claim 8 , additionally comprising allocating memory planes for the first pixel in parallel with allocating memory planes for the second pixel.

12. The method as in claim 11 , progressively allocating memory planes for multiple pixels via a multisample antialiasing plane allocator without pre-calculating an entire set of planes to be allocated.

13. The method as in claim 12 , wherein to merge the memory plane allocation for the first pixel with the memory plane allocation for the second pixel includes to allocate a shared memory plane via the multisample antialiasing plane allocator.

14. The method as in claim 13 , wherein to merge the memory plane allocation for the first pixel with the memory plane allocation for the second pixel additionally includes to update a plane to pixel map to map the shared memory plane to the first pixel and the second pixel.

15. A non-transitory machine-readable medium to store instructions which, when executed, cause one or more processors to perform operations to enable planar multisample antialiasing on a graphics processor, the operations comprising;

analyzing color data for a set of sample locations of a first pixel;

determining a first memory plane to allocate for the first pixel, the first memory plane a lowest order memory plane to be allocated for the first pixel, wherein the lowest order memory plane is a lowest numbered memory plane referenced by one or more sample locations of a pixel; and

merging a memory plane allocation for the first pixel with a memory plane allocation for a second pixel in response to determining that the first memory plane is the lowest order memory plane to be allocated for the second pixel.

16. The non-transitory machine-readable medium as in claim 15 , the operations additionally comprising allocating one or more memory planes for the first pixel and the second pixel.

17. The non-transitory machine-readable medium as in claim 16 , the operations additionally comprising progressively allocating the memory planes without pre-calculating an entire set of planes to be allocated.

18. The non-transitory machine-readable medium as in claim 17 , wherein merging the memory plane allocation for the first pixel with the memory plane allocation for the second pixel includes allocating a shared memory plane via a multisample antialiasing plane allocator.

19. The non-transitory machine-readable medium as in claim 18 , wherein merging the memory plane allocation for the first pixel with the memory plane allocation for the second pixel additionally includes updating a plane to pixel map to map the shared memory plane to the first pixel and the second pixel.

20. The non-transitory machine-readable medium as in claim 15 , the operations additionally comprising:

determining the first memory plane to allocate for the first pixel based on a color of a sample of the first pixel, wherein the color of the sample of the first pixel is a first color and the first memory plane is to store the first color; and

merge the memory plane allocation for the first pixel with a memory plane allocation for the second pixel when the first memory plane to be allocated for the second pixel is to store a same color as the first color, the first color generated via a shader program configured to execute on one or more compute units of the graphics processor.

Continuity (2)
Continuation 15477034 · Apr 1, 2017
Related Publication 20180288429A1 · Oct 4, 2018
Cited By (1)
US 12,439,067