Module: Mesa Branch: main Commit: e3e4ff0b8404da74b1e1afcc8860b703cab5ac75 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3e4ff0b8404da74b1e1afcc8860b703cab5ac75
Author: Mike Blumenkrantz <[email protected]> Date: Tue May 4 11:57:41 2021 -0400 lavapipe: do not read sampler descriptor info during update if layout has immutables this is illegal Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10625> --- src/gallium/frontends/lavapipe/lvp_descriptor_set.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_descriptor_set.c b/src/gallium/frontends/lavapipe/lvp_descriptor_set.c index d8844031b68..4714947a883 100644 --- a/src/gallium/frontends/lavapipe/lvp_descriptor_set.c +++ b/src/gallium/frontends/lavapipe/lvp_descriptor_set.c @@ -388,17 +388,21 @@ VKAPI_ATTR void VKAPI_CALL lvp_UpdateDescriptorSets( for (uint32_t j = 0; j < write->descriptorCount; j++) { LVP_FROM_HANDLE(lvp_image_view, iview, write->pImageInfo[j].imageView); - LVP_FROM_HANDLE(lvp_sampler, sampler, - write->pImageInfo[j].sampler); - desc[j].type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; desc[j].info.iview = iview; - - /* If this descriptor has an immutable sampler, we don't want - * to stomp on it. + /* + * All consecutive bindings updated via a single VkWriteDescriptorSet structure, except those + * with a descriptorCount of zero, must all either use immutable samplers or must all not + * use immutable samplers */ - if (sampler) + if (bind_layout->immutable_samplers) { + desc[j].info.sampler = bind_layout->immutable_samplers[j]; + } else { + LVP_FROM_HANDLE(lvp_sampler, sampler, + write->pImageInfo[j].sampler); + desc[j].info.sampler = sampler; + } } break; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
