Implement gather/scatter operations for shader register files. This allows to address the registers with a vector of indices. Also rename 'dynamic' register files to 'indirect addressable', to disambiguate from 'dynamic indexing' at the shader level. Indexing with a uniform does not require gather/scatter operations, but does require indirect addressing. Bug chromium:845103 Bug skia:7846 Change-Id: I3c42be33def66328688f2900c61c80246bf1e584 Reviewed-on: https://swiftshader-review.googlesource.com/18989 Tested-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Shader/PixelShader.cpp b/src/Shader/PixelShader.cpp index 9e281d9..d24e7c2 100644 --- a/src/Shader/PixelShader.cpp +++ b/src/Shader/PixelShader.cpp
@@ -160,7 +160,7 @@ analyzeDynamicBranching(); analyzeSamplers(); analyzeCallSites(); - analyzeDynamicIndexing(); + analyzeIndirectAddressing(); } void PixelShader::analyzeZOverride()