diff --git a/src/vulkan/wsi/wsi_common.c b/src/vulkan/wsi/wsi_common.c index 27fd4edeffa..a7d8e1cf659 100644 --- a/src/vulkan/wsi/wsi_common.c +++ b/src/vulkan/wsi/wsi_common.c @@ -1947,17 +1947,18 @@ wsi_configure_buffer_image(UNUSED const struct wsi_swapchain *chain, const uint32_t cpp = vk_format_get_blocksize(pCreateInfo->imageFormat); info->linear_stride = pCreateInfo->imageExtent.width * cpp; - info->linear_stride = ALIGN_POT(info->linear_stride, stride_align); + info->linear_stride = align(info->linear_stride, stride_align); /* Since we can pick the stride to be whatever we want, also align to the * device's optimalBufferCopyRowPitchAlignment so we get efficient copies. */ assert(wsi->optimalBufferCopyRowPitchAlignment > 0); - info->linear_stride = ALIGN_POT(info->linear_stride, - wsi->optimalBufferCopyRowPitchAlignment); + info->linear_stride = align(info->linear_stride, + wsi->optimalBufferCopyRowPitchAlignment); - info->linear_size = info->linear_stride * pCreateInfo->imageExtent.height; - info->linear_size = ALIGN_POT(info->linear_size, size_align); + info->linear_size = (uint64_t)info->linear_stride * + pCreateInfo->imageExtent.height; + info->linear_size = align64(info->linear_size, size_align); info->finish_create = wsi_finish_create_blit_context; } diff --git a/src/vulkan/wsi/wsi_common_private.h b/src/vulkan/wsi/wsi_common_private.h index 8ee9c025e96..2b36bd9526c 100644 --- a/src/vulkan/wsi/wsi_common_private.h +++ b/src/vulkan/wsi/wsi_common_private.h @@ -96,7 +96,7 @@ struct wsi_image_info { uint32_t linear_stride; /* For buffer blit images, the size of the buffer in bytes */ - uint32_t linear_size; + uint64_t linear_size; wsi_memory_type_select_cb select_image_memory_type; wsi_memory_type_select_cb select_blit_dst_memory_type;