Module: vkd3d Branch: master Commit: ebf7573571d4bfcd3f38846886106f204fd7f0e8 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/ebf7573571d4bfcd3f38846886106f... Author: Francisco Casas <fcasas(a)codeweavers.com> Date: Mon May 8 18:25:18 2023 -0400 vkd3d-shader/hlsl: Support non-constant vector indexing. Non-constant vector indexing is not solved with relative addressing in the register indexes because this indexation cannot be at the level of register-components. Mathematical operations must be used instead. --- libs/vkd3d-shader/hlsl.c | 13 ++++ libs/vkd3d-shader/hlsl.h | 2 + libs/vkd3d-shader/hlsl_codegen.c | 88 +++++++++++++++++++++++++- tests/array-index-expr.shader_test | 36 +++++------ tests/expr-indexing.shader_test | 22 +++---- tests/hlsl-matrix-indexing.shader_test | 6 +- tests/hlsl-vector-indexing-uniform.shader_test | 4 +- 7 files changed, 134 insertions(+), 37 deletions(-)