- Apr 26, 2023
-
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com> Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com> Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com> Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
- Apr 25, 2023
-
-
Reduces the cost of calling vkUpdateDescriptorSets() via winevulkan and its thunks. The performance gain can be as high as 20%.
-
The descriptor component of struct d3d12_desc is replaced with a union containing a pointer which can be swapped out using InterlockedExchangePointer(). To make it safe to increment the refcount of such an object it is necessary to cache freed objects. Elimination of the descriptor mutexes on games which use multithreaded descriptor writes nearly doubles framerate on recent hardware.
-
Eliminates vk_sets_mutex. Performance on average may be lower until the descriptor mutexes are replaced and Vulkan writes are buffered to reduce thunk calls.
-
The descriptor structure contains pointer and size types.
-
- Apr 21, 2023
-
-
Fix a compile warning: ../vkd3d/libs/vkd3d-shader/hlsl_codegen.c: In function 'allocate_semantic_register': ../vkd3d/libs/vkd3d-shader/hlsl_codegen.c:2947:85: error: passing argument 4 of 'hlsl_sm4_register_from_semantic' from incompatible pointer type [-Werror=incompatible-pointer-types] 2947 | if ((builtin = hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &type, NULL, &has_idx))) | ^~~~~ | | | unsigned int * In file included from ../vkd3d/libs/vkd3d-shader/hlsl_codegen.c:21: ../vkd3d/libs/vkd3d-shader/hlsl.h:1171:52: note: expected 'enum vkd3d_sm4_register_type *' but argument is of type 'unsigned int *' 1171 | bool output, enum vkd3d_sm4_register_type *type, enum vkd3d_sm4_swizzle_type *swizzle_type, bool *has_idx); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
-
-
- Apr 20, 2023
-
-
-
-
-
-
We already popped the context here. Move the break inside the previous if to make control flow a little clearer.
-
-
-
-
-
-
Negative widths are not supported in Vulkan.
-
Fixes blank screen in Assassin's Creed: Valhalla.
-
- Apr 19, 2023
-
-
Currently only tests float and bool, scalar and vector. Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
For now, this is limited to float and bool, scalar and vector. All other types are unsupported. Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
-
This way failures produced while compiling or preprocessing a shader are shown with the appropriate context.
-
Only verify it doesn't crash.
-
VK_EXT_robustness2 does not support null index buffers so we only warn and return immediately.
-
-
-
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
-
It is illegal to match a SPIR-V multisampled resource to a Vulkan resource which is not multisampled. Vulkan considers a resource to be multisampled if its sample count is greater than 1 (and SPIR-V does not care about the sample count). This fixes validation errors in the case where the sample count does actually match the resource. In order to provide correct behaviour when there is a mismatch, or when the sample count is missing, we will need yet another additional interface. In the absence of that it seems best to provide a best guess. This fixes a validation error with the not-yet-committed merge request 135, when the d3d11 runner is run through Wine with the Vulkan backend.
-
-
- Apr 18, 2023
-
-