US 12,169,898 B1
Resource allocation for mesh shader outputs
Michael A. Mang, Oviedo, FL (US); Jason D. Carroll, Oviedo, FL (US); Jingfei Kong, Orlando, FL (US); and Ralph C. Taylor, Deland, FL (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Nov. 11, 2022, as Appl. No. 18/054,581.
Claims priority of provisional application 63/376,671, filed on Sep. 22, 2022.
Int. Cl. G06T 17/20 (2006.01); G06T 15/00 (2011.01); G06T 15/20 (2011.01); G06T 15/40 (2011.01)
CPC G06T 17/20 (2013.01) [G06T 15/005 (2013.01); G06T 15/20 (2013.01); G06T 15/40 (2013.01)] 17 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
buffer circuitry;
shader circuitry configured to execute graphics programs;
control circuitry configured to:
generate object shader work and mesh shader work for the shader circuitry;
receive output information generated by a mesh shader that indicates a number of vertices to be output by the mesh shader;
allocate, based on the output information and after execution of at least a portion of the mesh shader, a region of the buffer circuitry for storage of the vertices to be output by the mesh shader, wherein the allocation is a partial allocation that does not provide storage space for all of the number of vertices to be output by the mesh shader;
provide an indication of a size of the partial allocation to the shader circuitry; and
store a portion of the vertices output by the mesh shader in the partial allocation region, prior to allocation of sufficient storage space for all vertices of the number of vertices; and
wherein the shader circuitry is configured to stall the mesh shader after providing the portion of the vertices, while waiting for allocation of additional storage space.