Replace the !binding_layout->immutable_samplers assertion in
radv_update_descriptor_sets with a conditional.

The Vulkan specification does not say that it is illegal to update
a sampler descriptor when it is immutable; only that pImageInfo is
ignored.

This change is also needed for push descriptors, because valid
descriptors must be pushed for all bindings accessed by shaders,
including immutable sampler descriptors.

Signed-off-by: Fredrik Höglund <fred...@kde.org>
---
 src/amd/vulkan/radv_descriptor_set.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_descriptor_set.c 
b/src/amd/vulkan/radv_descriptor_set.c
index aca5effef2..aefe0c3808 100644
--- a/src/amd/vulkan/radv_descriptor_set.c
+++ b/src/amd/vulkan/radv_descriptor_set.c
@@ -693,9 +693,9 @@ void radv_update_descriptor_sets(
                                                                        
!binding_layout->immutable_samplers);
                                break;
                        case VK_DESCRIPTOR_TYPE_SAMPLER:
-                               assert(!binding_layout->immutable_samplers);
-                               write_sampler_descriptor(device, ptr,
-                                                        writeset->pImageInfo + 
j);
+                               if (!binding_layout->immutable_samplers)
+                                       write_sampler_descriptor(device, ptr,
+                                                                
writeset->pImageInfo + j);
                                break;
                        default:
                                unreachable("unimplemented descriptor type");
-- 
2.11.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to