IP Library Granted Patent US 10,733,691
Granted Patent B2
US 10,733,691 · App. 16/145,003 · Granted Aug 4, 2020

Fragment shaders perform vertex shader computations

Inventors: Mark Evan Cerny (Los Angeles, CA); David Simpson (Los Angeles, CA); Jason Scanlin (Los Angeles, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT INC.
G06T1/20G06T1/60G06T15/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,733,691
App. No.
16/145,003
Granted
Aug 4, 2020
Kind
B2
Abstract

Graphics processing may include implementing a vertex shader and a pixel shader with the GPU. Vertex indices output from a vertex shader may be written to a cache. The vertex indices written to the cache may be accessed with the pixel shader and vertex parameter values associated with the vertex indices may be accessed from a memory unit with the pixel shader. 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:

writing vertex indices output from a vertex shader to a cache;

accessing the vertex indices written to the cache with a pixel shader; and

accessing raw vertex parameter values associated with the vertex indices from a memory unit with the pixel shader, wherein the raw vertex parameter values have not been processed by the vertex shader; and

performing vertex shader computations on the raw vertex parameter values with the pixel shader on a per-pixel basis, wherein the vertex shader computations are performed on a pixel for each vertex of a primitive containing the pixel.

2. The method of claim 1 , wherein the vertex shader computations include manipulating a visual effect of a primitive's vertex in three-dimensional virtual space.

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

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

5. The method of claim 1 , wherein accessing the vertex parameter values includes accessing parameter values of all three vertices of a triangle primitive.

6. The method of claim 1 , further comprising, after said accessing the vertex parameter values:

performing vertex shader computations on the vertex parameter values with the pixel shader;

interpolating the parameter values with the pixel shader;

performing pixel shader computations on the interpolated parameter values with the pixel shader.

7. The method of claim 1 , wherein the vertex shader output is limited to vertex position and the vertex indices, and wherein the pixel shader performs any remaining vertex shader computations after said accessing the vertex indices.

8. The method of claim 1 , wherein the parameter values are stored in vertex buffers in the memory unit.

9. A graphics processing system comprising:

a graphic processing unit (GPU);

a memory unit; 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;

writing vertex indices output from a vertex shader to the cache;

accessing the vertex indices written to the cache with the pixel shader;

accessing vertex parameter values associated with the vertex indices from the memory unit with the pixel shader, wherein the raw vertex parameter values have not been processed by the vertex shader; and

performing vertex shader computations on the raw vertex parameter values with the pixel shader on a per-pixel basis, wherein the vertex shader computations are performed on a pixel for each vertex of a primitive containing the pixel.

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 10 , wherein said accessing the vertex indices includes copying the vertex indices from the cache to the local memory units, and accessing the indices 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 performing vertex shader computations on the vertex parameter values with the pixel shader.

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

15. 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.

16. 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:

writing vertex indices output from a vertex shader to a cache;

accessing the vertex indices written to the cache with a pixel shader; and

accessing raw vertex parameter values associated with the vertex indices from a memory unit with the pixel shader, wherein the raw vertex parameter values have not been processed by the vertex shader; and

performing vertex shader computations on the raw vertex parameter values with the pixel shader on a per-pixel basis, wherein the vertex shader computations are performed on a pixel for each vertex of a primitive containing the pixel.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2018
From: CERNY, MARK EVAN; SIMPSON, DAVID; SCANLIN, JASON
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 047000/0313 →
CHANGE OF NAME Recorded Sep 27, 2018
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 047159/0324 →
Continuity (3)
Continuation 14297231 · Jun 5, 2014
Provisional Application 61833218 · Jun 10, 2013
Related Publication 20190035050A1 · Jan 31, 2019