summaryrefslogtreecommitdiff
path: root/doxygen/vbo.doxy
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2019-04-11 12:28:48 -0700
committerKenneth Graunke <kenneth@whitecape.org>2019-05-28 01:06:48 -0700
commitc31b4420e7812e144d9d7601c037e3225000b24c (patch)
treef3061efb70d3b220bf78700e19326603b39e5b75 /doxygen/vbo.doxy
parent1d0a8cf40d87ee903d7738f05bf87fd4141ce40d (diff)
st/nir: Re-vectorize shader IO
We scalarize IO to enable further optimizations, such as propagating constant components across shaders, eliminating dead components, and so on. This patch attempts to re-vectorize those operations after the varying optimizations are done. Intel GPUs are a scalar architecture, but IO operations work on whole vec4's at a time, so we'd prefer to have a single IO load per vector rather than 4 scalar IO loads. This re-vectorization can help a lot. Broadcom GPUs, however, really do want scalar IO. radeonsi may want this, or may want to leave it to LLVM. So, we make a new flag in the NIR compiler options struct, and key it off of that, allowing drivers to pick. (It's a bit awkward because we have per-stage settings, but this is about IO between two stages...but I expect drivers to globally prefer one way or the other. We can adjust later if needed.) Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'doxygen/vbo.doxy')
0 files changed, 0 insertions, 0 deletions