--
v11: vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().
vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
tests/shader-runner: Add tests for 64-bit casts.
vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
tests/shader-runner: Add a test for float comparisons.
tests/shader-runner: Run d3d11 tests with a mimimum shader model of 4.0.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/459
> I'm currently out and haven't had a chance to properly look at this, but, how does this interact with resource arrays?
Resource arrays should work as long as they're not dynamically indexed. (And the ps_5_1 test exercises that path.) Dynamic indexing of resource arrays can't work with combined samplers; there's essentially no way to create the required combined samplers in either the OpenGL or Vulkan APIs, and it's not clear what that would even look like.
There's perhaps an unresolved question of how to handle that if we do run into it in the scanner. The current behaviour is to return the base index for such accesses; an argument could be made for either not recording them at all, or e.g. setting some flag in the vkd3d_shader_combined_resource_sampler_info structure to indicate dynamic indexing is involved. Ultimately such shaders just aren't going to be usable with combined samplers though.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/466#note_52254
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v9: vkd3d-shader/tpf: Initial support for writing fx_4_0/fx_4_1 binaries.
vkd3d-shader: Add separate binary target type for effects.
vkd3d-shader/hlsl: Handle effect group statement.
vkd3d-shader/hlsl: Add variables for techniques.
vkd3d-shader/hlsl: Rename rule for top-level techniques.
vkd3d-shader/hlsl: Add 'fxgroup' token.
tests: Add some tests for effects groups syntax.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/443
Currently we are not properly handling register(cX) reservations for SM1, this is one of the things required for the SNK shaders (CW Bug Bug 18092).
register(cX) reservations also change the offset in the $Globals buffer in SM4, so support for this is also included.
---
Patch 1/4 is required to specify:
```
[require]
shader model < 4.0
```
so that the tests that follow do not get run with the vulkan backend on SM4. I think nobody disagreed with that patch.
--
v3: vkd3d-shader/hlsl: Turn register(cX) reservations into buffer offset for SM4.
tvkd3d-shader/hlsl: Make register(cX) reservations work for SM1.
tests: Test register(cX) reservations.
tests: Rename register-reservations.shader_test to register-reservations-resources.shader_test.
tests/vkd3d-shader: Allow passing (sm<4) and (sm>=4) to "fail" and "todo" qualifiers.
tests/shader-runner: Discern between the minimum_shader_model and the selected_shader_model.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/458