--
v5: Force Vulkan 1.1
vkd3d-shader/dxil: Handle constexpr pointer cast.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/648
> Vulkan extension `VK_EXT_depth_range_unrestricted` should be detected and enabled to set the bounds freely.
We probably should, but I think we're also allowed to just clamp to [0, 1]. It's not immediately clear to me whether a corresponding caps bit exists for this in d3d12.
> Conversely, availability of this feature should be advertised with `DepthBoundsTestSupported` in `D3D12_FEATURE_DATA_D3D12_OPTIONS2`.
We already do that, actually. We support enabling depth bounds through D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, but didn't implement adjusting the min/max values through OMSetDepthBounds() yet.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/632#note_61244
A points that might require some more work:
* According to Microsoft docs, NaN values are automatically mapped to zero. I can't quickly find any hint in the Vulkan specs of how NaN values are supposed to be handled, so I would assume that nothing is enforced and we should do the mapping ourselves.
* Vulkan extension `VK_EXT_depth_range_unrestricted` should be detected and enabled to set the bounds freely.
* Conversely, availability of this feature should be advertised with `DepthBoundsTestSupported` in `D3D12_FEATURE_DATA_D3D12_OPTIONS2`.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/632#note_61243
This allows to declare SRV buffers in the shader tests using `[buffer srv n]` blocks, and passing them to the different backends.
Also, 1/2 includes a missing bit required to parse `Buffer<>` types in the HLSL compiler.
This is a step towards supporting StructuredBuffer types in further patches.
--
v8: vkd3d-shader/hlsl: Parse Buffer types.
tests/shader-runner: Change probe directive syntax on shader_test files.
tests/shader-runner: Change resource declaration syntax on shader_test files.
tests/shader-runner: Support SRV buffers.
tests/shader-runner: Separate resource_type into type and dimension.
vkd3d-shader/hlsl: Introduce validate_method_call().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/569