Methods of processing graphics data including reading and writing buffers
First Claim
1. A computer-readable medium that includes a set of instructions that when executed by a computing device causes the computing device to process fragment data in a fragment processing pipeline, by performing the steps of:
- shading a first fragment associated with a destination location in a buffer;
storing the result of the first fragment shading in the destination location in the buffer;
shading a second fragment which is to be based in part on reading the result of the first fragment shading from the destination location;
detecting in a conflict detection unit that a read after write position conflict exists for the destination location in the buffer associated with the first and second fragments and interrupting the processing of second fragment;
outputting write position information to the conflict detection unit confirming that shading of the first fragment and writing to the buffer is complete; and
on completing processing of the first fragment and storing the result in the destination location in the buffer resuming processing of the second fragment, processing of the second fragment including reading the destination location in the buffer without an intervening instruction to flush the fragment processing pipeline.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatuses and methods for detecting position conflicts during fragment processing are described. Prior to executing a program on a fragment, a conflict detection unit, within a fragment processor checks if there is a position conflict indicating a RAW (read after write) hazard may exist. A RAW hazard exists when there is a pending write to a destination location that source data will be read from during execution of the program. When the fragment enters a processing pipeline, each destination location that may be written during the processing of the fragment is entered in conflict detection unit. During processing, the conflict detection unit is updated when a pending write to a destination location is completed.
47 Citations
10 Claims
-
1. A computer-readable medium that includes a set of instructions that when executed by a computing device causes the computing device to process fragment data in a fragment processing pipeline, by performing the steps of:
-
shading a first fragment associated with a destination location in a buffer; storing the result of the first fragment shading in the destination location in the buffer; shading a second fragment which is to be based in part on reading the result of the first fragment shading from the destination location; detecting in a conflict detection unit that a read after write position conflict exists for the destination location in the buffer associated with the first and second fragments and interrupting the processing of second fragment; outputting write position information to the conflict detection unit confirming that shading of the first fragment and writing to the buffer is complete; and on completing processing of the first fragment and storing the result in the destination location in the buffer resuming processing of the second fragment, processing of the second fragment including reading the destination location in the buffer without an intervening instruction to flush the fragment processing pipeline. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A programmable graphics processor for execution of program instructions, comprising:
-
a read interface configured to read data from a graphics memory; a fragment processing unit configured to receive fragments, each fragment associated with a position, and the data from the graphics memory and generate processed fragments; a conflict detection unit configured to selectively store the position associated with each fragment and generate a position conflict status; a write interface configured to write the processed fragments to the graphics memory; and a fragment processing pipeline configured to handle read-after-write hazards during execution of shader programs including an instruction to write a location in graphics memory, an instruction to check the location in a conflict detection unit and a subsequent instruction to read a location in graphics memory without an intervening instruction to flush the fragment processing pipeline based on the check of the conflict detection unit. - View Dependent Claims (9, 10)
-
Specification