--
v5: vkd3d: Co-locate all descriptor-related members.
vkd3d: Rename the device mutex to pipeline_cache_mutex.
vkd3d: Write Vulkan descriptors in a worker thread.
vkd3d: Update the descriptor `next` index before getting a reference for writing.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/292
--
v7: tests/shader-runner: Add a non-const-indexing test for asfloat() result storage.
vkd3d-shader/spirv: Bitcast if necessary in the spirv_compiler_emit_mov() general implementation.
vkd3d-shader/dxil: Implement the DXIL STORE instruction.
vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/498
--
v3: vkd3d-shader/dxil: No longer synthesize DCL instructions.
vkd3d-shader/spirv: Declare I/O registers from the signature.
vkd3d-shader/dxil: Map SEMANTIC_KIND_TARGET to VKD3D_SHADER_SV_TARGET.
vkd3d-shader/tpf: Do not uninvert used masks for domain shader patch constants.
vkd3d-shader/spirv: Do not use the output_info array for patch constants.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/464
In order to validate SPIR-V code we have to fix a little bug that causes us to emit invalid SPIR-V code in some cases. That's technically a bug, so it should be good to fix it in 1.10; unfortunately the way the bug is fixed right now is not ideal, because in some cases it causes many push constants to be wasted, potentially reaching the Vulkan implementation limit, so some application that used to work might stop working. Eventually we should implement a better allocator for push constants, and include an alternative path if the Vulkan implementation doesn't offer enough push constants.
--
v4: ci: Build vkd3d with SPIRV-Tools.
vkd3d-shader/spirv: Honor force_validation after emitting SPIR-V code.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/504