Method and apparatus for parallel pixel shading
AssigneeIntel Corporation
InventorsPrasoonkumar Surti, Aditya Navale
Life of this patent
Estimating the term…
Abstract
An apparatus and method for identifying sub-groups of execution resources for parallel pixel processing. For example, one embodiment of a method comprises: determining X and Y coordinates for a pixel block to be processed; performing a first set of one or more modulus operations using even bits from the X and Y coordinates to generate a first intermediate result; performing a second set of one or more modulus operations using odd bits from the X and Y coordinates to generate a second intermediate result; comparing the first intermediate result and the second intermediate result to generate a final result; and using the final result to select a first set of processing resources from a set of N processing resources for processing the pixel block.
Claims20
A method implemented in a graphics processing unit (GPU) to perform hashing of pixel blocks among sub-groups of the GPU's processing resources, the method comprising:
- determining X and Y coordinates for a pixel block to be processed;
- performing a first set of one or more modulus operations using even bits from the X and Y coordinates to generate a first intermediate result;
- performing a second set of one or more modulus operations using odd bits from the X and Y coordinates to generate a second intermediate result;
- comparing the first intermediate result and the second intermediate result to generate a final result;
- and
- using the final result to select a first sub-group of processing resources from N sub-groups of processing resources for processing the pixel block.
A method implemented in a graphics processing unit (GPU) to perform hashing of pixel blocks among sub-groups of the GPU's processing resources, the method comprising:
- determining X and Y coordinates for a pixel block to be processed;
- and
- performing a hashing operation using the X and Y coordinates to assign each pixel block to a particular sub-group of processing resources,
- wherein performing the hashing operation comprises checking for divisibility by N where N is the number of sub-groups of processing resources, performing one or more additional operations to assign the pixel block to one of the N−1 sub-groups of processing resources if the divisibility by N operation is determined to be FALSE, the one or more additional operations comprising performing an XOR operation on a bit from the X coordinate and a bit from the Y coordinate to generate a result and adding one to the result;
- and
- using the result to select a specified one of the sub-groups of processing resources for processing the pixel block.
A processor comprising:
- N sub-groups of processing resources to perform parallel processing of graphics instructions;
- a dispatcher circuitry to dispatch graphics instructions to each of the processing resources within each of the N sub-groups;
- and
- sub-group selection circuitry to:
- determine X and Y coordinates for a pixel block to be processed;
- perform a first set of one or more modulus operations using even bits from the X and Y coordinates to generate a first intermediate result;
- perform a second set of one or more modulus operations using odd bits from the X and Y coordinates to generate a second intermediate result;
- compare the first intermediate result and the second intermediate result to generate a final result;
- and
- use the final result to select a first sub-group of processing resources from the set of N processing resources for processing the pixel block.
Dependencies are inferred from the claim text.