lp: align memory for long16 CL types
authorKarol Herbst <git@karolherbst.de>
Sun, 11 Jun 2023 12:36:06 +0000 (14:36 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sun, 11 Jun 2023 20:41:45 +0000 (20:41 +0000)
Fixes following OpenCL CTS test flakes:

basic kernel_memory_alignment_constant
basic kernel_memory_alignment_global
vectors vec_align_array
vectors vec_align_struct_arr

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23574>

src/gallium/drivers/llvmpipe/lp_texture.c

index c787167..426a4b7 100644 (file)
@@ -288,7 +288,7 @@ llvmpipe_resource_create_all(struct pipe_screen *_screen,
          lpr->size_required += (LP_RASTER_BLOCK_SIZE - 1) * 4 * sizeof(float);
 
       if (alloc_backing) {
-         uint64_t alignment = 64;
+         uint64_t alignment = sizeof(uint64_t) * 16;
 
          if (templat->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
             os_get_page_size(&alignment);