Mesa (main): pvr: Fix off by 1 error in buffer_id for ubo pds program.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 24 09:25:12 UTC 2022


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

Author: Karmjit Mahil <Karmjit.Mahil at imgtec.com>
Date:   Tue May 17 16:27:37 2022 +0100

pvr: Fix off by 1 error in buffer_id for ubo pds program.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil at imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal at imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17206>

---

 src/imagination/vulkan/pvr_pipeline.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/imagination/vulkan/pvr_pipeline.c b/src/imagination/vulkan/pvr_pipeline.c
index 2cf02104a8b..976b0addeaa 100644
--- a/src/imagination/vulkan/pvr_pipeline.c
+++ b/src/imagination/vulkan/pvr_pipeline.c
@@ -571,10 +571,10 @@ static void pvr_pds_uniform_program_setup_buffers(
    uint32_t buffer_count = 0;
 
    for (size_t u = 0; u < ubo_data->num_ubo_entries; ++u) {
-      struct pvr_pds_buffer *current_buffer = &buffers[buffer_count++];
+      struct pvr_pds_buffer *current_buffer = &buffers[buffer_count];
 
       /* This is fine since buffers_out_ptr is a pointer to an array. */
-      assert(buffer_count <= ARRAY_SIZE(*buffers_out_ptr));
+      assert(buffer_count < ARRAY_SIZE(*buffers_out_ptr));
 
       current_buffer->type = PVR_BUFFER_TYPE_UBO;
       current_buffer->size_in_dwords = ubo_data->size[u];
@@ -587,6 +587,8 @@ static void pvr_pds_uniform_program_setup_buffers(
        * E.g. can multiple UBOs have the same base buffer?
        */
       current_buffer->source_offset = 0;
+
+      buffer_count++;
    }
 
    *buffer_count_out = buffer_count;



More information about the mesa-commit mailing list