Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v5: tests: Add RWBuffer writing test.
tests: Add support for UAV buffers in Vulkan runner.
vkd3d-shader/hlsl: Improve UAV format type checking for buffer types.
vkd3d-shader/hlsl: Add support for writing RWStructuredBuffer declarations.
vkd3d-shader/hlsl: Add support for RWBuffer object.
vkd3d-shader: Fix dcl_uav_typed_* formatting.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/193
--
v9: vkd3d-shader/ir: Normalise signatures and input/output registers to the Shader Model 6 pattern.
vkd3d-shader/ir: Eliminate struct vkd3d_shader_normaliser.
vkd3d-shader/spirv: Support emitting multi-dimensional array variables.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/181
Block records are not processed; only the bitcode is validated.
--
v7: vkd3d-shader/dxil: Read and validate global abbreviated operands.
vkd3d-shader/dxil: Read and validate local abbreviated operands.
vkd3d-compiler: Introduce a dxil-asm target type.
vkd3d-compiler: Introduce a dxbc-dxil source type.
vkd3d-shader/dxil: Read and validate DXIL bitcode unabbreviated blocks.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/44
This is ultimately a follow up for introducing d3d manager support in h264 decoder transform. The last patch avoids unneeded GPU to CPU copy when copying a memory sample to GPU sample (in particular, when sample copier is involved). There are a couple of things to fix on the way.
Patch 1 fixes the crash which otherwise happens in the test introduced in patch 2 due to memory corruption. Flipping the image instead of using absolute pitch will break the test in patch 2.
Patch 3 contradicts to what MS docs says [1] for MFCreate2DMediaBuffer, fBottomUp parameter: "If TRUE, the buffer's IMF2DBuffer::ContiguousCopyTo method copies the buffer into a bottom-up format.". That doesn't match the tests in patch 2. So far I see that fBottomUp parameter only affects what is returned from Lock2D as scanline0 and pitch. Thinking of it, the behaviour of ContiguousCopyFrom makes some sense to me as Lock2D (unlike Lock which converts to contiguous buffer) is not supposed to perform any copies and flips and return the underlying representation as is. And once scanline0 and pitch for that 2d buffer indicate it should be copied bottom up additionally flipping when converting from contiguous buffer wouldn't make much sense. Then, ContiguousCopyTo could flip it actually as the docs suggest, but the test seems to clearly show that it doesn't happen (there is a separate test for clarity showing that ContiguousCopyFrom / ContiguousCopyTo yields the same data).
1. https://learn.microsoft.com/en-us/windows/win32/api/mfapi/nf-mfapi-mfcreate…
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2781
From what I can tell, the recent work on SampleBias/SampleLevel did all of the work for us, we just need to take the same framework and include the case for the `sample_l` instruction.
Tested with some shaders from the native Linux version of Little Racers STREET.
--
v13:
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/188