This allows for the basic features necessary to compile sm1 shaders. This is the
first step towards comprehensive Direct3D 1-9 support in the Vulkan backend.
Fixed-function d3d states that must be emulated with shaders in Vulkan (e.g.
alpha test) are not yet implemented, nor is the fixed-function pipeline.
Accordingly it is unlikely that any real applications run yet.
Tested with vkd3d's tests. Specifically, run `make crosstest` in a vkd3d tree,
then:
wine tests/shader_runner.cross64.exe ../vkd3d/tests/hlsl/writemask-assignop-0.shader_test
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4875
--
v11: tests/d3d12: Test multiple clip distance inputs in test_clip_distance().
tests/d3d12: Use 5 clip distances for the multiple test in test_clip_distance().
vkd3d-shader/ir: Transform clip/cull outputs and patch constants into arrays.
vkd3d-shader/ir: Transform clip/cull inputs into an array.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/564
--
v10: tests/d3d12: Test multiple clip distance inputs in test_clip_distance().
tests/d3d12: Use 5 clip distances for the multiple test in test_clip_distance().
vkd3d-shader/ir: Transform clip/cull outputs and patch constants into arrays.
vkd3d-shader/ir: Transform clip/cull inputs into an array.
vkd3d-shader/ir: Refactor return code checking in vkd3d_shader_normalise().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/564
Goes atop !533. The last commit belongs to this MR.
--
v2: vkd3d-shader/dxil: Implement DX intrinsic Binary.
vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers.
vkd3d-shader/dxil: Load typed UAV descriptors.
vkd3d-shader/dxil: Load typed SRV descriptors.
vkd3d-shader/spirv: Do not assert VKD3D_DATA_UINT in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/572
Farlight 84 calls this API using the ordinal number 108
For after the code freeze
--
v5: xinput: Reimplement XInputGetCapabilities.
xinput: Implement XInputGetCapabilitiesEx.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4693
~~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.~~
--
v6: vkd3d-shader/ir: Validate swizzles for 64 bit types.
vkd3d-shader/dxil: Generate valid swizzles for 64 bit types.
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
--
v2: winex11: Create registry keys for known Xkb layouts.
winex11: Keep a list of every known Xkb layout.
winex11: Read the _XKB_RULES_NAMES root window property.
win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2408