IP Library Granted Patent US 10,740,867
Granted Patent B2
US 10,740,867 · App. 16/050,829 · Granted Aug 11, 2020

Scheme for compressing vertex shader output parameters

Inventors: Mark Evan Cerny (Los Angeles, CA); David Simpson (Los Angeles, CA); Jason Scanlin (Los Angeles, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT INC.
G06T1/20G06T15/005
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,740,867
App. No.
16/050,829
Granted
Aug 11, 2020
Kind
B2
Abstract

A graphics processing may include implementing a vertex shader and a pixel shader with a GPU. Vertex parameter values may be compressed with the vertex shader and compressed vertex parameter values may be written to a cache. The pixel shader may access the compressed vertex parameter values that were written to the cache and decompress the compressed vertex parameter values. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

Claims (36)

1. A computer graphics processing method comprising:

performing compression of vertex parameter values with a vertex shader to generate compressed vertex parameter values;

writing the compressed vertex parameter values to a cache;

accessing the compressed vertex parameter values written to the cache with a pixel shader wherein accessing the compressed vertex parameter values includes disabling or bypassing hardware that performs interpolation on vertex parameter values; and

performing decompression of the compressed vertex parameter values with the pixel shader.

2. The method of claim 1 , further comprising interpolating the decompressed vertex parameter values with the pixel shader.

3. The method of claim 1 , wherein said accessing the compressed vertex parameter values includes copying the compressed vertex parameter values from the cache to a local memory unit of a GPU, and accessing the compressed vertex parameter values from the local memory unit with the pixel shader.

4. The method of claim 1 , wherein the vertex parameter values include parameter values of all three vertices of a triangle primitive.

5. The method of claim 1 , wherein said compressing the vertex parameter values includes storing two floating point numbers together as one value having twice as many bits as each of the two floating point numbers.

6. The method of claim 5 , wherein said compressing the vertex parameter values includes storing two 16-bit floating point numbers together as one 32-bit value.

7. The method of claim 2 , further comprising performing pixel shader computations on the interpolated parameter values.

8. The method of claim 1 , further comprising, before said compressing, modifying the parameter values with the vertex shader.

9. A graphics processing system comprising:

a graphic processing unit (GPU); and

a cache;

wherein the system is configured to implement a graphic processing method, the method comprising:

implementing a vertex shader and a pixel shader with the GPU;

performing compression of vertex parameter values with the vertex shader to generate compressed vertex parameter values;

writing the compressed vertex parameter values to the cache;

accessing the compressed vertex parameter values written to the cache with a pixel shader wherein accessing the compressed vertex parameter values includes bypassing or disabling hardware that performs interpolation on vertex parameter values or wherein such hardware is omitted from the graphics processing system; and

performing decompression of the compressed vertex parameter values with the pixel shader.

10. The system of claim 9 , wherein the GPU comprises a plurality of compute units and a plurality of local memory units, wherein each of the local memory units are associated with a respective one of the compute units.

11. The system of claim 9 , wherein said accessing, the compressed vertex parameter values includes copying the compressed vertex parameter values from the cache to the local memory units, and accessing the compressed vertex parameter values from the local memory units with the pixel shader.

12. The system of claim 9 , wherein the cache is integrated with the GPU.

13. The system of claim 9 , wherein the method further comprises interpolating the decompressed vertex parameter values with the pixel shader.

14. The system of claim 9 , wherein the vertex parameter values include parameter values of all three vertices of a triangle primitive.

15. The system of claim 9 , wherein said compressing the vertex parameter values includes storing two floating point numbers together as one value having twice as many bits as each of the two floating point numbers.

16. The system of claim 15 , wherein said compressing the vertex parameter values includes storing two 16-bit floating point numbers together as one 32-bit value.

17. The system of claim 13 , wherein the method further comprises performing pixel shader computations on the interpolated parameter values.

18. The system of claim 9 , wherein the method further comprises, before said compressing, modifying the parameter values with the vertex shader.

19. The system of claim, 9 , wherein the system is an embedded system, mobile phone, personal computer, tablet computer, portable game device, workstation, or game console.

20. A non-transitory computer readable medium having computer readable instructions embodied therein, the computer readable instructions being configured to implement a graphics processing method when executed, the graphics processing method comprising:

performing compression of vertex parameter values with a vertex shader to generate compressed vertex parameter values;

writing the compressed vertex parameter values to a cache;

accessing the compressed vertex parameter values written to the cache with a pixel shader wherein accessing the compressed vertex parameter values includes bypassing or disabling hardware that performs interpolation on vertex parameter values; and

performing decompression of the compressed vertex parameter values with the pixel shader.

Assignments (2)
CHANGE OF NAME Recorded Jul 31, 2018
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 047394/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: CERNY, MARK EVAN; SIMPSON, DAVID; SCANLIN, JASON
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 046515/0986 →