IP Library Granted Patent US 9,495,722
Granted Patent B2
US 9,495,722 · App. 13/902,658 · Granted Nov 15, 2016

Developer controlled layout

Inventors: Richard B. Stenson (San Mateo, CA); Christopher Ho (Belmont, CA); Mark E. Cerny (Los Angeles, CA); Steven Osman (San Francisco, CA); Jun Murakawa (Foster City, CA); Dmitri Shtilman (Saratoga, CA); Jason Scanlin (Los Angeles, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT INC.
G06T1/20
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 9,495,722
App. No.
13/902,658
Granted
Nov 15, 2016
Kind
B2
Abstract

A method for processing graphics for a GPU program, translating instructions from a shading language into an intermediate language with a front end of a GPU compiler; translating the instructions from the intermediate language into a GPU object language with a back end of the GPU compiler; wherein the instructions in the shading language include instructions defining a layout of resources for the GPU program.

Claims (25)

1. A method of compiling instructions for a GPU program, the method comprising:

translating the instructions for the GPU program from a shading language into an intermediate language with a front end of a GPU compiler; and

translating the instructions from the intermediate language into a GPU object language with a back end of the GPU compiler;

wherein the instructions for the GPU program in the shading language include instructions defining a layout of resources for the GPU program, wherein the instructions in the shading language defining the layout are cross-compilable to a language executable by a CPU, wherein the GPU compiler is configured to cross-compile the instructions in the shading language defining the layout.

2. The method of claim 1 , wherein the cross-compilable instructions are incorporated into a header of the instructions in the shading language.

3. The method of claim 1 , wherein the instructions defining the layout of resources include instructions defining an allocation of memory resources for the GPU program.

4. The method of claim 1 , wherein the instructions defining the layout of resources include instructions defining a resource descriptor for the GPU program.

5. The method of claim 1 , wherein the instructions defining the layout of resources are programmed by a developer of the GPU program.

6. The method of claim 1 , wherein the instructions defining the layout of resources include a shader resource table.

7. The method of claim 1 , wherein the GPU program is configured to render graphics for a corresponding CPU program implemented by the CPU.

8. The method of claim 7 , wherein the method further includes running the GPU program with a GPU and running the corresponding CPU program with the CPU.

9. The method of claim 1 , wherein the instructions defining the layout of resources include instructions defining a layout of buffers of data and instructions defining a layout of uniform constants.

10. The method of claim 1 , wherein the GPU object language is machine code.

11. A system for processing graphics, the system comprising:

a central processing unit (CPU);

a graphics processing unit (GPU);

a memory;

and a GPU compiler embodied in the memory and executable by the CPU, wherein the GPU compiler is configured to implement a method of compiling instructions for a GPU program in a shading language, the method comprising:

translating the instructions for the GPU program from a shading language into an intermediate language with a front end of the GPU compiler; and

translating the instructions from the intermediate language into a GPU object language with a back end of the GPU compiler;

wherein the instructions for the GPU program in the shading language include instructions defining a layout of resources for the GPU program, wherein the GPU compiler is further configured to cross-compile the instructions defining the resource layout into a language executable by the CPU.

12. A non-transitory computer readable medium having embodied therein computer readable instructions configured to implement a method of compiling instructions for a GPU program, the method comprising:

translating the instructions for the GPU program from a shading language into an intermediate language with a front end of a GPU compiler; and

translating the instructions from the intermediate language into a GPU object language with a back end of the GPU compiler;

wherein the instructions for the GPU program in the shading language include instructions defining a layout of resources for the GPU program, wherein the instructions in the shading language defining the layout are cross-compilable to a language executable by a CPU, wherein the GPU compiler is configured to cross-compile the instructions in the shading language defining the layout.

Assignments (2)
CHANGE OF NAME Recorded Jul 1, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 039239/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2013
From: STENSON, RICHARD B.; HO, CHRIS; CERNY, MARK E.; OSMAN, STEVEN; MURAKAWA, JUN; SHTILMAN, DMITRI; SCANLIN, JASON
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 030597/0252 →
Continuity (1)
Related Publication 20140347375A1 · Nov 27, 2014