US 12,229,864 B2
Runtime mechanism to optimize shader execution flow
Yun Du, San Diego, CA (US); Eric Demers, San Diego, CA (US); Andrew Evan Gruber, Arlington, MA (US); Chun Yu, Rancho Santa Fe, CA (US); Baoguang Yang, Fremont, CA (US); Chihong Zhang, San Diego, CA (US); Yuehai Du, San Diego, CA (US); Avinash Seetharamaiah, San Diego, CA (US); Jonnala Gadda Nagendra Kumar, San Diego, CA (US); Gang Zhong, San Diego, CA (US); Zilin Ying, San Diego, CA (US); and Fei Wei, San Diego, CA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Aug. 5, 2022, as Appl. No. 17/817,815.
Prior Publication US 2024/0046543 A1, Feb. 8, 2024
Int. Cl. G06T 15/00 (2011.01); G06T 15/80 (2011.01)
CPC G06T 15/005 (2013.01) [G06T 15/80 (2013.01)] 28 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:
obtain instruction execution data associated with a graphics workload, the instruction execution data including graphics data for a set of shader operations;
configure, at a first iteration, at least one predication value based on the instruction execution data including the graphics data for the set of shader operations, the at least one predication value indicating a likelihood of an occurrence of a condition for the graphics workload, the condition for the graphics workload being associated with a streaming processor of a graphics processing unit (GPU), wherein the streaming processor comprises a feedback controller block configured to enable the at least one predication value to be configured, and wherein the feedback controller block comprises a set of context registers per shader slot associated with the set of shader operations and a set of counters;
adjust, at a second iteration subsequent to the first iteration and without altering a function or a result of the graphics workload, an execution flow of the graphics workload based on the configured at least one predication value, the execution flow of the graphics workload including the set of shader operations; and
execute or refrain from executing, at the second iteration, each of the set of shader operations based on the adjusted execution flow of the graphics workload.