--
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
Support for generating keys from known DH parameters is not included unfortunately because even the latest stable GnuTLS release doesn't have the necessary support. I have a patch that implements it using _gnutls_dh_generate_key() but that requires a special GnuTLS 3.8.2 build (--enable-fips140-mode). With that patch all included tests pass here.
Paul, can you take a look? I included your tests so please approve this MR if you think it's okay.
--
v3: bcrypt/tests: Add DH tests.
bcrypt: Set dh_params in key_import_dh/_public().
bcrypt: Assume we have a public key in key_export_dh_public().
bcrypt: Make sure key_asymmetric_derive_key() returns correct size.
bcrypt: Add support for generating DH keys from known parameters.
bcrypt: Reject DH keys smaller than 512 bits.
bcrypt: Make DH blob size validation more strict in key_import_pair().
bcrypt: Add helpers to create a public/private key pair.
bcrypt: Allow or disallow some operations based on whether keys are finalized.
bcrypt: Add support for retrieving DH parameters.
bcrypt: Add support for setting DH parameters.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4637