OPTIMIZING SHADING PROCESS FOR MIXED ORDER-SENSITIVE AND ORDER-INSENSITIVE SHADER OPERATIONS
First Claim
1. A method of a Graphics Processing Unit (GPU) comprising:
- receiving pixels collected from a set of primitives, wherein pixel locations of each primitive have been obtained through rasterization of a set of vertices of the primitive;
grouping the pixels into a set of groups having a sequential order, wherein none of the pixels in each group overlapped with each other in a display and overlapped pixels belong to different groups;
performing order-insensitive shader operations on the groups according to a first subset of an instruction set defined for a programmable shader, with two or more of the groups processed in parallel; and
performing order-sensitive shader operations on each of the groups in the sequential order according to a second subset of the instruction set defined for the programmable shader.
2 Assignments
0 Petitions
Accused Products
Abstract
A graphics processing unit (GPU) includes programmable shader hardware and grouping hardware. The grouping hardware receives pixels collected from a set of primitives, wherein pixel locations of each primitive have been obtained through rasterization of a set of vertices of the primitive. The grouping hardware also groups the pixels into a set of groups having a sequential order. None of the pixels in each group overlapped with each other in a display and overlapped pixels belong to different groups. The programmable shader hardware performs order-insensitive shader operations on the groups according to a first subset of an instruction set defined for a programmable shader, with two or more of the groups processed in parallel. The programmable shader hardware also performs order-sensitive shader operations on each of the groups in the sequential order according to a second subset of the instruction set defined for the programmable shader.
13 Citations
20 Claims
-
1. A method of a Graphics Processing Unit (GPU) comprising:
-
receiving pixels collected from a set of primitives, wherein pixel locations of each primitive have been obtained through rasterization of a set of vertices of the primitive; grouping the pixels into a set of groups having a sequential order, wherein none of the pixels in each group overlapped with each other in a display and overlapped pixels belong to different groups; performing order-insensitive shader operations on the groups according to a first subset of an instruction set defined for a programmable shader, with two or more of the groups processed in parallel; and performing order-sensitive shader operations on each of the groups in the sequential order according to a second subset of the instruction set defined for the programmable shader. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A Graphics Processing Unit (GPU) comprising:
-
grouping hardware to receive pixels collected from a set of primitives, wherein pixel locations of each primitive have been obtained through rasterization of a set of vertices of the primitive, and to group the pixels into a set of groups having a sequential order, wherein none of the pixels in each group overlapped with each other in a display and overlapped pixels belong to different groups, programmable shader hardware coupled to the grouping hardware and including an array of computing units, the programmable shader hardware operative to; perform order-insensitive shader operations on the groups according to a first subset of an instruction set defined for a programmable shader, with two or more of the groups processed in parallel; and perform order-sensitive shader operations on each of the groups in the sequential order according to a second subset of the instruction set defined for the programmable shader. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification