IP Library › Granted Patent US 11,399,194
Granted Patent B2
US 11,399,194 · App. 17/227,993 · Granted Jul 26, 2022

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/13G06T9/00G06T15/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 11,399,194
App. No.
17/227,993
Granted
Jul 26, 2022
Kind
B2
Abstract

Described herein is an apparatus having color compression circuitry coupled to a texture unit and shader execution array. The color compression circuitry performs lossless delta color compression of pixel color data provided by the shader execution array and texture unit to generate compressed color data. The compressed color data is stored at one or more levels of a multilevel cache subsystem.

Claims (79)

1. An apparatus comprising:

a graphics processor comprising graphics rendering circuitry to process graphics data within a plurality of graphics pipeline stages and render images, the graphics processor comprising:

a multilevel cache subsystem comprising a plurality of cache levels,

a shader execution array to simultaneously execute instructions of a plurality of shaders including graphics shaders and compute shaders, the graphics shaders comprising a first graphics shader type to process vertices and a second graphics shader type to process pixel data,

a primitive assembler to assemble triangles based on the vertices,

a rasterizer to generate pixels based on the triangles,

a texture unit coupled to the multilevel cache subsystem to perform texture mapping operations,

color compression circuitry coupled to the texture unit and shader execution array, the color compression circuitry to perform lossless delta color compression of pixel color data provided by the shader execution array and texture unit to generate compressed color data, the compressed color data to be stored at one or more levels of the multilevel cache subsystem;

a display engine to output image information for display, wherein the display engine is to support reading at least a portion of the compressed color data;

a multi-protocol on-chip communication fabric coupled to at least a portion of the multilevel cache subsystem and the shader execution array; and

a memory controller coupled to the multi-protocol on-chip communication fabric.

2. The apparatus of claim 1 further comprising:

virtualization circuitry to share the shader execution array with a plurality of virtual machines.

3. The apparatus of claim 2 wherein the virtualization circuitry comprises multiple sets of control registers to be associated with multiple corresponding virtual machines, a group of control registers to store one or more address pointers to identify a region of memory associated with a corresponding virtual machine.

4. The apparatus of claim 1 wherein the multilevel cache subsystem comprises a level 1 (L1) cache dedicated to a first shader execution array and level 2 (L2) cache shared by a plurality of shader execution arrays including the first shader execution array.

5. The apparatus of claim 1 further comprising:

depth test circuitry to perform depth testing of pixels using depth values associated with the pixels.

6. The apparatus of claim 5 further comprising:

culling circuitry to cull one or more of the pixels based on the depth testing.

7. The apparatus of claim 6 wherein the shader execution array is to execute instructions of a geometry shader to transform one or more of the triangles.

8. The apparatus of claim 1 further comprising:

memory management circuitry to map a shared virtual memory (SVM) space across a graphics memory and a system memory, the SVM space to be shared by the graphics processor and a host processor, allowing the host processor and graphics processor to access a system memory and a graphics memory using a consistent set of virtual memory addresses.

9. The apparatus of claim 8 wherein the memory management circuitry comprises:

an input-output memory management unit (IOMMU) to provide access by the shader execution array to page tables of the host processor.

10. A method comprising:

processing graphics data within a plurality of graphics pipeline stages of a graphics processor, the graphics processor including a multilevel cache subsystem comprising a plurality of cache levels;

simultaneously executing instructions of a plurality of shaders on a shader execution array, the plurality of shaders including graphics shaders and compute shaders, the graphics shaders comprising a first graphics shader type to process vertices and a second graphics shader type to process pixels;

assembling triangles based on the vertices,

generating pixels based on the triangles,

performing lossless delta color compression of pixel colors at a plurality of the stages of the graphics pipeline to generate compressed color data;

storing the compressed color data at multiple cache levels of the multilevel cache subsystem;

reading, by a display engine, at least a portion of the compressed color data to display a corresponding image;

wherein a multi-protocol on-chip communication fabric is coupled to at least a portion of the multilevel cache subsystem and the shader execution array; and

wherein a memory controller is coupled to the multi-protocol on-chip communication fabric.

11. The method of claim 10 further comprising:

sharing the shader execution array with a plurality of virtual machines.

12. The method of claim 11 further comprising:

associating multiple sets of control registers with multiple corresponding virtual machines, a group of control registers to store one or more address pointers to identify a region of memory associated with a corresponding virtual machine.

13. The method of claim 10 wherein the multilevel cache subsystem comprises a level 1 (L1) cache dedicated to a first shader execution array and level 2 (L2) cache shared by a plurality of shader execution arrays including the first shader execution array.

14. The method of claim 10 further comprising:

performing depth testing of the pixels using depth values associated with the pixels.

15. The method of claim 14 further comprising:

culling one or more of the pixels based on the depth testing.

16. The method of claim 15 further comprising:

executing, on the shader execution array, instructions of a geometry shader to transform one or more of the triangles.

17. The method of claim 10 further comprising:

mapping a shared virtual memory (SVM) space across a graphics memory and a system memory, the SVM space to be shared by the graphics processor and a host processor, allowing the host processor and graphics processor to access a system memory and a graphics memory using a consistent set of virtual memory addresses.

18. The method of claim 17 further comprising:

providing access by the shader execution array to page tables of the host processor.

19. A system comprising:

a system memory to store program code and data;

a graphics processor comprising graphics rendering circuitry to process graphics data within a plurality of graphics pipeline stages and render images, the graphics processor comprising:

a multilevel cache subsystem comprising a plurality of cache levels,

a shader execution array to simultaneously execute instructions of a plurality of shaders including graphics shaders and compute shaders, the graphics shaders comprising a first graphics shader type to process vertices and a second graphics shader type to process pixels;

a primitive assembler to assemble triangles based on the vertices,

a rasterizer to generate pixels based on the triangles,

multi-stage color compression circuitry to perform lossless delta color compression of pixel colors at a plurality of the stages of the graphics pipeline to generate compressed color data, the multi-stage color compression circuitry to store the compressed color data at multiple cache levels of the multilevel cache subsystem;

a display engine to read at least a portion of the compressed color data to display a corresponding image;

a multi-protocol on-chip communication fabric coupled to at least a portion of the multilevel cache subsystem and the shader execution array; and

a memory controller to couple the multi-protocol on-chip communication fabric to the system memory.

20. The system of claim 19 further comprising:

virtualization circuitry to share the shader execution array with a plurality of virtual machines.

21. The system of claim 20 wherein the virtualization circuitry comprises multiple sets of control registers to be associated with multiple corresponding virtual machines, a group of control registers to store one or more address pointers to identify a region of memory associated with a corresponding virtual machine.

22. The system of claim 19 wherein the multilevel cache subsystem comprises a level 1 (L1) cache dedicated to a first shader execution array and level 2 (L2) cache shared by a plurality of shader execution arrays including the first shader execution array.

23. The system of claim 19 further comprising:

depth test circuitry to perform depth testing of pixels using depth values associated with the pixels.

24. The system of claim 23 further comprising:

culling circuitry to cull one or more of the pixels based on the depth testing.

25. The system of claim 24 wherein the shader execution array is to execute instructions of a geometry shader to transform one or more of the triangles.

26. The system of claim 19 further comprising:

memory management circuitry to map a shared virtual memory (SVM) space across a graphics memory and a system memory, the SVM space to be shared by the graphics processor and a host processor, allowing the host processor and graphics processor to access a system memory and a graphics memory using a consistent set of virtual memory addresses.

27. The system of claim 26 wherein the memory management circuitry comprises:

an input-output memory management unit (IOMMU) to provide access by the shader execution array to page tables of the host processor.

28. The system of claim 19 further comprising:

a storage device coupled to the multi-protocol on-chip communication fabric.

29. The system of claim 28 further comprising:

a network controller coupled to the multi-protocol on-chip communication fabric.

30. The system of claim 29 further comprising:

a host processor coupled to the multi-protocol on-chip communication fabric.

Continuity (5)
Continuation 16661522 · Oct 23, 2019
Continuation 16228252 · Dec 20, 2018
Continuation 15873379 · Jan 17, 2018
Continuation 15477034 · Apr 1, 2017
Related Publication 20210258592A1 · Aug 19, 2021
Cited By (2)
US 12,439,067 US 12,615,061