--
v4: tests: Add a test for SV_ViewportArrayIndex.
tests: Use test utils to create the pipeline state in test_ps_layer().
tests: Test using SV_RenderTargetArrayIndex in the vertex shader.
tests: Compile HLSL shaders at runtime in test_ps_layer().
vkd3d-shader/tpf: Support SV_ViewportArrayIndex in pixel and vertex shaders.
vkd3d-shader/tpf: Support SV_InstanceID in vertex shaders.
vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex in pixel and vertex shaders.
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration ViewportIndex.
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration Layer.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/546
Unlike previous vkd3d-utils interfaces, ID3D12ShaderReflection is rather more
large and complex, and will probably end up needing several new individual
scan interfaces from vkd3d-shader, which are themselves not exactly trivial to
design.
Therefore, instead of implementing everything in vkd3d-shader and then hooking
up the vkd3d-utils interfaces on top of that, this patch series copies the
existing implementation of reflection and then begins the process of moving its
implementation to vkd3d-shader.
The primary motivation here is to add reflection crosstests (primarily for the
benefit of the HLSL compiler) without being blocked on API design. Part 2 of
this patch series does this.
--
v5: tests: Test signature reflection via D3DReflect().
tests: Test VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES.
vkd3d-utils: Implement input and output signature reflection.
vkd3d-utils: Add D3DReflect().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/561
~~Other validation stuff I plan to send as soon as !450 and !550 are in.~~
~~I guess the CI is going to timeout because of too many commits, so I'll preemptively stop it.~~
--
v8: vkd3d-shader/ir: Validate PHI instructions.
vkd3d-shader/ir: Do not allow IMMCONST and IMMCONST64 as destination registers.
vkd3d-shader/ir: Refactor register-type-specific code in parameter validation.
vkd3d-shader/ir: Check that all instructions appear in a block.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/559
On Mon Jan 22 18:33:10 2024 +0000, Esme Povirk wrote:
> I think this will leak memory if parameters were already set.
if the parameters are set and we are trying to re-set new params, then it should overwrite - for it will use realloc
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4661#note_58460