Mesa (master): anv: Refactor setting descriptors with immutable sampler
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon May 4 14:31:35 UTC 2020
Module: Mesa
Branch: master
Commit: 7628585dd709f3ffb18c7ca134fff1f375ad7b6a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7628585dd709f3ffb18c7ca134fff1f375ad7b6a
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Wed Apr 22 10:47:00 2020 -0500
anv: Refactor setting descriptors with immutable sampler
Don't call anv_sampler_from_handle if the handle may be invalid.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690>
---
src/intel/vulkan/anv_descriptor_set.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c
index d4676b23416..11d6a9cfa87 100644
--- a/src/intel/vulkan/anv_descriptor_set.c
+++ b/src/intel/vulkan/anv_descriptor_set.c
@@ -1152,12 +1152,16 @@ anv_descriptor_set_write_image_view(struct anv_device *device,
switch (type) {
case VK_DESCRIPTOR_TYPE_SAMPLER:
- sampler = anv_sampler_from_handle(info->sampler);
+ sampler = bind_layout->immutable_samplers ?
+ bind_layout->immutable_samplers[element] :
+ anv_sampler_from_handle(info->sampler);
break;
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
image_view = anv_image_view_from_handle(info->imageView);
- sampler = anv_sampler_from_handle(info->sampler);
+ sampler = bind_layout->immutable_samplers ?
+ bind_layout->immutable_samplers[element] :
+ anv_sampler_from_handle(info->sampler);
break;
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
@@ -1170,13 +1174,6 @@ anv_descriptor_set_write_image_view(struct anv_device *device,
unreachable("invalid descriptor type");
}
- /* If this descriptor has an immutable sampler, we don't want to stomp on
- * it.
- */
- sampler = bind_layout->immutable_samplers ?
- bind_layout->immutable_samplers[element] :
- sampler;
-
*desc = (struct anv_descriptor) {
.type = type,
.layout = info->imageLayout,
More information about the mesa-commit
mailing list