Henri Verbeet pushed to branch master at wine / vkd3d
Commits: 0c8414c1 by Shaun Ren at 2025-02-03T15:59:07+01:00 tests/hlsl: Test OutputPatch usage in patch constant functions.
- - - - - f5d21683 by Shaun Ren at 2025-02-03T16:00:38+01:00 vkd3d-shader/hlsl: Add an "is_patch_constant_func" field to struct hlsl_ctx.
In anticipation of the need for is_patch_constant_func in sm4_generate_vsir_reg_from_deref(), in order to generate vsir registers from InputPatch/OutputPatch dereferences.
- - - - - 29abe739 by Shaun Ren at 2025-02-03T16:04:11+01:00 vkd3d-shader/hlsl: Implement input semantic variable copies for patch variables.
The semantic variables from a patch parameter are split as usual, with the difference being that the semantic variable being added is a patch variable itself, with the type being the split variable type, and its number of control points being equal to the original patch variable's number of control points. It is then stored in the original patch variable as follows:
for (i = 0; i < n; ++i) patch[i][f] := <inputpatch-sem-var>[i]
where n is the number of control points of "patch", and f is the field index in patch corresponding to "<inputpatch-sem-var>".
We use special prefixes, "inputpatch-" or "outputpatch-", when adding the semantic patch variables, in order to distinguish them from non-patch semantic variables of the same name.
- - - - - aa29d0a2 by Shaun Ren at 2025-02-03T16:04:21+01:00 vkd3d-shader/tpf: Improve readability of compat mapping in sm4_sysval_semantic_from_semantic_name().
- - - - - f127f084 by Shaun Ren at 2025-02-03T16:04:21+01:00 vkd3d-shader/hlsl: Generate vsir signature entries for patch variables.
- - - - - 2ddbc69f by Shaun Ren at 2025-02-03T16:15:03+01:00 vkd3d-shader/hlsl: Declare semantics for patch variables in vsir.
- - - - - 2a1e3b10 by Shaun Ren at 2025-02-03T16:15:11+01:00 vkd3d-shader/hlsl: Allocate semantic registers for patch variables.
- - - - - 3fb241d4 by Shaun Ren at 2025-02-03T16:15:11+01:00 tests/shader_runner: Support the negation of tag matches.
- - - - - ec6b4ed4 by Shaun Ren at 2025-02-03T16:36:16+01:00 vkd3d-shader/hlsl: Generate vsir registers from patch variable derefs.
- - - - - 2f77d56b by Shaun Ren at 2025-02-03T16:36:21+01:00 tests: Test signature reflection for patch inputs in hull/domain shaders.
- - - - -
10 changed files:
- libs/vkd3d-shader/hlsl.h - libs/vkd3d-shader/hlsl_codegen.c - libs/vkd3d-shader/tpf.c - libs/vkd3d-shader/vkd3d_shader_private.h - tests/hlsl/patch-syntax.shader_test - tests/hlsl/tessellation-patch-vars.shader_test - tests/hlsl/tessellation.shader_test - tests/hlsl_d3d12.c - tests/shader_runner.c - tests/vkd3d_shader_api.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/0f7bb922ba398dd75f58ec0ceeacb...