panvk: Fix SSBO buffer offsets
authorJason Ekstrand <jason.ekstrand@collabora.com>
Sat, 12 Mar 2022 04:16:20 +0000 (22:16 -0600)
committerMarge Bot <emma+marge@anholt.net>
Wed, 16 Mar 2022 01:27:28 +0000 (01:27 +0000)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15398>

src/panfrost/vulkan/panvk_vX_cmd_buffer.c

index 869d84a..6e2baf4 100644 (file)
@@ -315,8 +315,12 @@ panvk_sysval_upload_ssbo_info(struct panvk_cmd_buffer *cmdbuf,
          ssbo = &desc_state->dyn.ssbos[ssbo_id - pipeline->layout->num_ssbos];
 
       if (ssbo) {
-         data->u64[0] = ssbo->buffer->bo->ptr.gpu + ssbo->offset;
-         data->u32[2] = ssbo->size == VK_WHOLE_SIZE ? ssbo->buffer->size - ssbo->offset : ssbo->size;
+         data->u64[0] = ssbo->buffer->bo->ptr.gpu +
+                        ssbo->buffer->bo_offset +
+                        ssbo->offset;
+         data->u32[2] = ssbo->size == VK_WHOLE_SIZE ?
+                        ssbo->buffer->size - ssbo->offset :
+                        ssbo->size;
       }
    }
 }