US 11,734,787 B2
Foveated binned rendering associated with sample spaces
Ashokanand Neelambaran, Bangalore (IN); Piyush Gupta, Bangalore (IN); Kalyan Kumar Bhiravabhatla, Bengaluru (IN); Tao Wang, Sunnyvale, CA (US); and Andrew Evan Gruber, Arlington, MA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Sep. 17, 2021, as Appl. No. 17/478,694.
Prior Publication US 2023/0092394 A1, Mar. 23, 2023
Int. Cl. G06T 1/20 (2006.01); A63F 13/525 (2014.01); G06T 3/40 (2006.01); G06T 11/40 (2006.01)
CPC G06T 1/20 (2013.01) [A63F 13/525 (2014.09); G06T 3/40 (2013.01); G06T 11/40 (2013.01)] 26 Claims
OG exemplary drawing
 
1. An apparatus for graphics processing, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
receive a plurality of primitives associated with one or more frames in a scene, a portion of the scene being associated with at least one of an upscaled sample space for the plurality of primitives or a downscaled sample space for the plurality of primitives;
perform a binning pass for the plurality of primitives, the binning pass being associated with an unscaled sample space for the plurality of primitives, wherein the binning pass sorts each of the plurality of primitives into one or more bins associated with each of the one or more frames;
perform one of one or more rendering passes for each of the one or more bins, each of the one or more rendering passes being associated with at least one of the upscaled sample space or the downscaled sample space, each of the one or more rendering passes including a viewport transformation for each of the plurality of primitives;
perform a culling process on each of the plurality of primitives after performing the one of the one or more rendering passes for each of the one or more bins; and
rasterize each of the plurality of primitives based on at least one of the upscaled sample space or the downscaled sample space,
wherein to rasterize each of the plurality of primitives, the at least one processor is configured to:
calculate a coverage of each of the plurality of primitives in at least one of the upscaled sample space or the downscaled sample space, and
wherein to calculate the coverage of each of the plurality of primitives, the at least one processor is configured to:
modify one or more edge coefficients for each of the plurality of primitives with XY scaling factors,
wherein the rasterize each of the plurality of primitives is based on an equation:
R=EaXstep+EbYstep+Cref, where Ea is an edge equation for a first primitive A, Eb is an edge equation for a second primitive B, Xstep is an X step component, Ystep is a Y step component, and Cref is a constant.