US 11,983,792 B2
Fragment dependency management for variable rate shading
Olof Henrik Uhrenholt, Lund (SE); Toni Viki Brkic, Lund (SE); and Edward Hardy, Cambridge (GB)
Assigned to Arm Limited, Cambridge (GB)
Filed by Arm Limited, Cambridge (GB)
Filed on May 9, 2022, as Appl. No. 17/662,565.
Claims priority of application No. 2106685 (GB), filed on May 11, 2021.
Prior Publication US 2022/0366524 A1, Nov. 17, 2022
Int. Cl. G06T 1/20 (2006.01); G06T 1/60 (2006.01); G06T 15/00 (2011.01)
CPC G06T 1/20 (2013.01) [G06T 1/60 (2013.01); G06T 15/005 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method of operating a graphics processor that comprises:
a rasteriser configured to rasterise input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points of an array of sampling points associated with it;
a renderer configured to process fragments generated by the rasteriser to generate rendered fragment data; and
a fragment dependency manager operable to maintain plural queues, wherein each queue corresponds to a respective block of one or more fine pixels corresponding to a respective set of plural sets of one or more sampling points that the array is divided into, and wherein each queue entry is indicative of one or more fragments that when processed by the renderer will produce rendered fragment data for one or more of the sampling points of the set of one or more sampling points to which the queue corresponds;
the method comprising:
the rasteriser generating graphics fragments; and
for each of one or more graphics fragments, the fragment dependency manager adding an entry indicative of the graphics fragment or a group of graphics fragments to at least one queue;
wherein for a graphics fragment or group of graphics fragments that corresponds to a block of one or more coarse pixels and that when processed by the renderer will produce rendered fragment data for sampling points of two or more sets of the plural sets of one or more sampling points, the method comprises:
the fragment dependency manager adding one or more first entries indicative of that graphics fragment or group of graphics fragments to at least one of the queues that correspond to the fine pixels covered by the block of one or more coarse pixels corresponding to the two or more sets; and
the fragment dependency manager, for a subsequent graphics fragment or group of graphics fragments that when processed by the renderer will produce rendered fragment data for one or more sampling points of the two or more sets, preventing at least some processing of the subsequent graphics fragment or group of graphics fragments by the renderer until the one or more first entries have been removed from the at least one queue.