radv: replace an assertion with a conditional

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 <fredrik@kde.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Fredrik Höglund
2017-03-29 18:11:56 +02:00
parent a6e94a87cb
commit 3b33f03913
+3 -3
View File
@@ -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");