IP Library Granted Patent US 8,692,848
Granted Patent B2
US 8,692,848 · App. 12/868,508 · Granted Apr 8, 2014

Method and system for tile mode renderer with coordinate shader

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 8,692,848
App. No.
12/868,508
Granted
Apr 8, 2014
Kind
B2
Abstract

A method and system are provided in which one or more processors and/or circuits are operable to generate position information for a plurality of primitives utilizing a coordinate shader, one or more lists based on the generated position information, and rendering information for the plurality of primitives utilizing a vertex shader and the generated one or more lists. The generated one or more lists may comprise indices associated with one or more primitives from the plurality of primitives and with one or more tiles from a plurality of tiles in a screen plane. The position information and the one or more lists may be generated during a first rendering phase, and the rendering information may be generated during a second rendering phase different from the first rendering phase. The coordinate shader may perform a subset of the operations supported by the vertex shader.

Claims (47)

1. A method for graphics processing, comprising:

performing by one or more processors and/or circuits in a video processor:

generating position information for a plurality of primitives utilizing a coordinate shader;

generating one or more lists based on said generated position information, said one or more lists comprising indices associated with one or more primitives from said plurality of primitives and with one or more tiles from a plurality of tiles in a screen plane; and

generating rendering information for said plurality of primitives utilizing a vertex shader and said generated one or more lists, wherein the coordinate shader is generated from the vertex shader by compiling a vertex shader source code corresponding to texture operation data, lighting operation data, and positional operation data from the one or more lists.

2. The method according to claim 1 , comprising:

generating said position information and said one or more lists during a first rendering phase; and

generating said rendering information during a second rendering phase different from said first rendering phase.

3. The method according to claim 1 , comprising deleting said position information after said generated one or more lists are completed.

4. The method according to claim 1 , comprising transforming modeling coordinates from a model space to a viewing space utilizing said coordinate shader.

5. The method according to claim 4 , comprising projecting said transformed modeling coordinates onto said screen plane utilizing said coordinate shader.

6. The method according to claim 1 , comprising transforming modeling coordinates from a model space to a viewing space utilizing said vertex shader.

7. The method according to claim 6 , comprising projecting said transformed modeling coordinates onto said screen plane utilizing said vertex shader.

8. The method according to claim 7 , comprising determining, by said vertex shader, one or both of lightning information and texture information from said transformed modeling coordinates.

9. The method according to claim 1 , comprising performing, by said coordinate shader, a subset of the operations supported by said vertex shader.

10. The method according to claim 1 , comprising:

clipping a primitive from said plurality of primitives that lies outside said screen plane to produce one or more clipped primitives that lie within said screen plane;

associating each of said one or more clipped primitives with one or more tiles from said plurality of tiles in said screen plane; and

adding one or more pointers to said one or more lists, each of said one or more pointers indicating a record corresponding to one of said associated clipped primitives, said record comprising barycentric coordinates of said associated clipped primitive.

11. The method according to claim 1 , wherein the coordinate shader is generated from the vertex shader at compile time by slicing a portion of a vertex shader source code associated with operations of the coordinate shader.

12. The method according to claim 1 , wherein the coordinate shader is generated from the vertex shader automatically during vertex shader operation.

13. The method according to claim 1 , wherein compiling the data dependence of the texture operations, comprises accessing a root node for compiling the texture operations.

14. The method according to claim 13 , wherein the root node comprises an initial operation corresponding to the data dependence for compiling the texture operations.

15. The method according to claim 1 , wherein compiling the data dependence of the lighting operations, comprises accessing a root node for compiling the lighting operations.

16. A system for graphics processing, comprising:

one or more processors operable to generate position information for a plurality of primitives utilizing a coordinate shader;

said one or more processors being operable to generate one or more lists based on said generated position information, said one or more lists comprising indices associated with one or more primitives from said plurality of primitives, the one or more lists corresponding to one or more tiles from a plurality of tiles in a screen plane, and the one or more lists describing a data dependence of the generated positional information;

said one or more processors being operable to generate rendering information corresponding to a coordinate shader for said plurality of primitives utilizing the vertex shader and said generated one or more lists; and

said one or more processors being operable to transform a source code of the vertex shader to generate the coordinate shader.

17. The system according to claim 16 , wherein said one or more processors are operable to:

generate said position information and said one or more lists during a first rendering phase; and

generate said rendering information during a second rendering phase different from said first rendering phase.

18. The system according to claim 16 , wherein said one or more processors are operable to delete said position information after said generated one or more lists are completed.

19. The system according to claim 16 , wherein said one or more processors are operable to utilize said coordinate shader to transform modeling coordinates from a model space to a viewing space.

20. The system according to claim 19 , wherein said one or more processors are operable to utilize said coordinate shader to project said transformed modeling coordinates onto said screen plane.

21. The system according to claim 16 , wherein said one or more processors are operable to utilize said vertex shader to:

transform modeling coordinates from a model space to a viewing space;

project said transformed modeling coordinates onto said screen plane; and

determine one or both of lightning information and texture information from said transformed modeling coordinates.

22. The system according to claim 16 , wherein said one or more processors comprise both of said coordinate shader and said vertex shader.

23. The system according to claim 16 , wherein said one or more processors are operable to execute both of said coordinate shader and said vertex shader.

24. The system according to claim 16 , wherein said one or more processors are operable to:

clip a primitive from said plurality of primitives that lies outside said screen plane to produce one or more clipped primitives that lie within said screen plane;

associate each of said one or more clipped primitives with one or more tiles from said plurality of tiles in said screen plane; and

add one or more pointers to said one or more lists, each of said one or more pointers indicating a record corresponding to one of said associated clipped primitives, said record comprising barycentric coordinates of said associated clipped primitive.

25. The method according to claim 16 , wherein the positional information defines transformation information operable to transform modeling coordinates from a model space to a view space.

26. The method according to claim 25 , wherein the positional information defines projection information to project the transformed modeling coordinates from the view space onto a screen plane.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →