freedreno/ir3: fancy branches
I've pushed to envytools tree cat0 instr layout/opcodes and disasm updates for some new instructions. Possibly of interest
-
brac.n
branches based on n'th bit inSP_xS_BRANCH_COND
(ie. driver pre-computes branch conditions.. possibly we can re-use a bit of the uniform-folding for this?) -
brao
/braa
which take two src's (ex.p0.x
andp0.y
) and branches based on the OR/AND of the conditions
Both of those show up in vertex shaders in manhattan traces.
(The update also renames if
/else
/endif
to predt
/predf
/prede
.. which makes a bit more sense than seeing else
/if
/endif
sequences in disasm.. and adds decoding for the uniform-folding shader prologue.)