From 90c4fa8a8f60c3e3064784b1976ced2877b967e1 Mon Sep 17 00:00:00 2001 From: Sviatoslav Peleshko Date: Thu, 2 May 2024 06:27:37 +0300 Subject: [PATCH] anv: Fix descriptor sampler offsets assignment This seems to be a simple copy-paste mistake. It makes sense to or-assign surface offsets because we clear the actual offset part with a mask first, but sampler offsets should be just assigned instead. Fixes: 7c76125d ("anv: use 2 different buffers for surfaces/samplers in descriptor sets") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10790 Signed-off-by: Sviatoslav Peleshko Reviewed-by: Lionel Landwerlin Part-of: (cherry picked from commit 39c4de7e42a85a6871c552c2d55ddb7d3a1988ee) --- .pick_status.json | 2 +- src/intel/vulkan/anv_cmd_buffer.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 47ac29def51..482d2ce69d6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -574,7 +574,7 @@ "description": "anv: Fix descriptor sampler offsets assignment", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "7c76125db25db9bdf5521baf7c848ccd4bd37b5f", "notes": null diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 2ef884e5382..c6420ff4c8a 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -821,7 +821,7 @@ anv_cmd_buffer_bind_descriptor_set(struct anv_cmd_buffer *cmd_buffer, assert((offset & ~ANV_DESCRIPTOR_SET_OFFSET_MASK) == 0); push->desc_surface_offsets[set_index] &= ~ANV_DESCRIPTOR_SET_OFFSET_MASK; push->desc_surface_offsets[set_index] |= offset; - push->desc_sampler_offsets[set_index] |= + push->desc_sampler_offsets[set_index] = anv_address_physical(set->desc_sampler_addr) - cmd_buffer->device->physical->va.dynamic_state_pool.addr;