mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d: Do not put immutable samplers in the push descriptor set.
This was the original intention, but it didn't happen because of a bug:
what we need to know at this point is whether the push descriptor set is
being used in general (which is tracked by the corresponding Vulkan
extension bit), not whether the descriptors we're currently processing
are to be put in the push descriptor set (which is tracked by
`push_descriptor'). Indeed, `push_descriptor' is always false when
processing static samplers, precisely because we want to segregate them
in different sets.
This fixes a rendering bug in "The Dark Pictures Anthology: Man of
Medan".
Fixes: 07b7975d09
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58589
This commit is contained in:
committed by
Henri Verbeet
parent
8b8ee542d7
commit
40bdaa43af
Notes:
Henri Verbeet
2025-10-14 16:33:50 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1789
@@ -843,7 +843,7 @@ static struct vk_binding_array *d3d12_root_signature_vk_binding_array_for_type(
|
||||
{
|
||||
if (!context->static_samplers_descriptor_set)
|
||||
{
|
||||
if (!context->push_descriptor && context->root_descriptor_set)
|
||||
if (!root_signature->device->vk_info.KHR_push_descriptor && context->root_descriptor_set)
|
||||
context->static_samplers_descriptor_set = context->root_descriptor_set;
|
||||
else
|
||||
/* The descriptor type is irrelevant here, it will never be used. */
|
||||
|
||||
Reference in New Issue
Block a user