summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreen_state.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-11-04 23:05:07 -0800
committerKenneth Graunke <[email protected]>2015-11-11 11:57:37 -0800
commit918bda23dda36004c95f6441328ecc892e068886 (patch)
tree3d1d922a1a11be18a6f14d37a1bd4b5b5d1a8bbe /src/gallium/drivers/r600/evergreen_state.c
parent912babba7bf1abd3caa49f6372d581ae1afe7e84 (diff)
i965: Split nir_emit_intrinsic by stage with a general fallback.
Many intrinsics only apply to a particular stage (such as discard). In other cases, we may want to interpret them differently based on the stage (such as load_primitive_id or load_input). The current method isn't that pretty - we handle all intrinsics in one giant function. Sometimes we assert on stage, sometimes we forget. Different behaviors are handled via if-ladders based on stage. This commit introduces new nir_emit_<stage>_intrinsic() functions, and makes nir_emit_instr() call those. In turn, those fall back to the generic nir_emit_intrinsic() function for cases they don't want to handle specially. This makes it clear which intrinsics only exist in one stage, and makes it easy to handle inputs/outputs differently for various stages. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_state.c')
0 files changed, 0 insertions, 0 deletions