A system for processing primitive fragments in a rasterization phase of a graphics processing system wherein a rendering space is subdivided into a plurality of tiles, the system comprising: a priority queue for storing primitive fragments; a non-priority queue for storing primitive fragments; logic configured to: receive a plurality of primitive fragments, each primitive fragment corresponding to a pixel sample in a tile, the plurality of primitive fragments being divided into one or more sets of primitive fragments wherein each set is associated with one tile of the plurality of tiles; determine whether a depth buffer read is to be performed for hidden surface removal processing of one or more of the primitive fragments; sort the primitive fragments into the priority queue and the non-priority queue based on the depth buffer read determinations by placing only primitive fragments for which a depth buffer read is not to be performed in the priority queue and placing any primitive fragment for which a depth buffer read is to be performed in the non-priority queue; and in response to placing a first primitive fragment of a set of primitive fragments in the non-priority queue, initiate a read of the depth buffer for the tile associated with the set of primitive fragments; and hidden surface removal logic configured to perform hidden surface removal processing on the primitive fragments in the priority and non-priority queues wherein priority is given to the primitive fragments in the priority queue. a priority queue for storing primitive fragments; a non-priority queue for storing primitive fragments; logic configured to: receive a plurality of primitive fragments, each primitive fragment corresponding to a pixel sample in a tile, the plurality of primitive fragments being divided into one or more sets of primitive fragments wherein each set is associated with one tile of the plurality of tiles; determine whether a depth buffer read is to be performed for hidden surface removal processing of one or more of the primitive fragments; sort the primitive fragments into the priority queue and the non-priority queue based on the depth buffer read determinations by placing only primitive fragments for which a depth buffer read is not to be performed in the priority queue and placing any primitive fragment for which a depth buffer read is to be performed in the non-priority queue; and in response to placing a first primitive fragment of a set of primitive fragments in the non-priority queue, initiate a read of the depth buffer for the tile associated with the set of primitive fragments; and receive a plurality of primitive fragments, each primitive fragment corresponding to a pixel sample in a tile, the plurality of primitive fragments being divided into one or more sets of primitive fragments wherein each set is associated with one tile of the plurality of tiles; determine whether a depth buffer read is to be performed for hidden surface removal processing of one or more of the primitive fragments; sort the primitive fragments into the priority queue and the non-priority queue based on the depth buffer read determinations by placing only primitive fragments for which a depth buffer read is not to be performed in the priority queue and placing any primitive fragment for which a depth buffer read is to be performed in the non-priority queue; and in response to placing a first primitive fragment of a set of primitive fragments in the non-priority queue, initiate a read of the depth buffer for the tile associated with the set of primitive fragments; and hidden surface removal logic configured to perform hidden surface removal processing on the primitive fragments in the priority and non-priority queues wherein priority is given to the primitive fragments in the priority queue.