Module: vkd3d Branch: master Commit: ebf7573571d4bfcd3f38846886106f204fd7f0e8 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/ebf7573571d4bfcd3f38846886106f...
Author: Francisco Casas fcasas@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(-)