From 40428bd497b96fd0ff5c47273ac369c5c8b4c42b Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 17 May 2024 13:05:39 +0200 Subject: [PATCH] radv: use PIPE_FORMAT in radv_translate_colorswap() Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_device.c | 2 +- src/amd/vulkan/radv_formats.c | 10 +++++----- src/amd/vulkan/radv_formats.h | 2 +- src/amd/vulkan/radv_image.c | 2 +- src/amd/vulkan/radv_pipeline_graphics.c | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 2e2451812ad8b..69581a77b4fb2 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1683,7 +1683,7 @@ radv_initialise_color_surface(struct radv_device *device, struct radv_color_buff format = ac_get_cb_format(pdev->info.gfx_level, desc->format); assert(format != V_028C70_COLOR_INVALID); - swap = radv_translate_colorswap(iview->vk.format, false); + swap = radv_translate_colorswap(vk_format_to_pipe_format(iview->vk.format), false); endian = radv_colorformat_endian_swap(format); /* blend clamp should be set for all NORM/SRGB types */ diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index 166e24396df72..6c7e4ff5b48bc 100644 --- a/src/amd/vulkan/radv_formats.c +++ b/src/amd/vulkan/radv_formats.c @@ -446,7 +446,7 @@ radv_is_colorbuffer_format_supported(const struct radv_physical_device *pdev, Vk { const struct util_format_description *desc = vk_format_description(format); uint32_t color_format = ac_get_cb_format(pdev->info.gfx_level, desc->format); - uint32_t color_swap = radv_translate_colorswap(format, false); + uint32_t color_swap = radv_translate_colorswap(desc->format, false); uint32_t color_num_format = ac_get_cb_number_type(desc->format); if (color_num_format == V_028C70_NUMBER_UINT || color_num_format == V_028C70_NUMBER_SINT || @@ -859,16 +859,16 @@ radv_translate_dbformat(VkFormat format) } unsigned -radv_translate_colorswap(VkFormat format, bool do_endian_swap) +radv_translate_colorswap(enum pipe_format format, bool do_endian_swap) { - const struct util_format_description *desc = vk_format_description(format); + const struct util_format_description *desc = util_format_description(format); #define HAS_SWIZZLE(chan, swz) (desc->swizzle[chan] == PIPE_SWIZZLE_##swz) - if (format == VK_FORMAT_B10G11R11_UFLOAT_PACK32) + if (format == PIPE_FORMAT_R11G11B10_FLOAT) return V_028C70_SWAP_STD; - if (format == VK_FORMAT_E5B9G9R9_UFLOAT_PACK32) + if (format == PIPE_FORMAT_R9G9B9E5_FLOAT) return V_028C70_SWAP_STD; if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) diff --git a/src/amd/vulkan/radv_formats.h b/src/amd/vulkan/radv_formats.h index 6d8ef85eb30e5..d9f13f84e3927 100644 --- a/src/amd/vulkan/radv_formats.h +++ b/src/amd/vulkan/radv_formats.h @@ -163,7 +163,7 @@ uint32_t radv_colorformat_endian_swap(uint32_t colorformat); uint32_t radv_translate_dbformat(VkFormat format); -unsigned radv_translate_colorswap(VkFormat format, bool do_endian_swap); +unsigned radv_translate_colorswap(enum pipe_format format, bool do_endian_swap); bool radv_format_pack_clear_color(VkFormat format, uint32_t clear_vals[2], VkClearColorValue *value); diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index be51cc5af3b76..65836a323acf5 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -777,7 +777,7 @@ vi_alpha_is_on_msb(const struct radv_device *device, const VkFormat format) if (pdev->info.gfx_level >= GFX10 && desc->nr_channels == 1) return desc->swizzle[3] == PIPE_SWIZZLE_X; - return radv_translate_colorswap(format, false) <= 1; + return radv_translate_colorswap(desc->format, false) <= 1; } static void diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index 1e28077d09e22..a97219e20a659 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -112,7 +112,7 @@ radv_choose_spi_color_format(const struct radv_device *device, VkFormat vk_forma format = ac_get_cb_format(pdev->info.gfx_level, desc->format); ntype = ac_get_cb_number_type(desc->format); - swap = radv_translate_colorswap(vk_format, false); + swap = radv_translate_colorswap(desc->format, false); ac_choose_spi_color_formats(format, swap, ntype, false, use_rbplus, &formats);