Mesa (main): panvk: Fix SSBO buffer offsets

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Mar 16 01:40:32 UTC 2022


Module: Mesa
Branch: main
Commit: 864f3c0ee0e6939c347625d0261c9f8e455c5f4d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=864f3c0ee0e6939c347625d0261c9f8e455c5f4d

Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Fri Mar 11 22:16:20 2022 -0600

panvk: Fix SSBO buffer offsets

Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15398>

---

 src/panfrost/vulkan/panvk_vX_cmd_buffer.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c
index 869d84adbb3..6e2baf4d0d3 100644
--- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c
+++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c
@@ -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;
       }
    }
 }



More information about the mesa-commit mailing list