diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 103ebcf2b5d..177f4264eef 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1877,7 +1877,7 @@ radv_initialise_ds_surface(const struct radv_device *device, struct radv_ds_buff memset(ds, 0, sizeof(*ds)); - format = radv_translate_dbformat(iview->image->vk.format); + format = radv_translate_dbformat(vk_format_to_pipe_format(iview->image->vk.format)); stencil_format = surf->has_stencil ? V_028044_STENCIL_8 : V_028044_STENCIL_INVALID; uint32_t max_slice = radv_surface_max_layer_count(iview) - 1; diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index a4c2ae8e3c9..f7ca45d6d5c 100644 --- a/src/amd/vulkan/radv_formats.c +++ b/src/amd/vulkan/radv_formats.c @@ -465,7 +465,8 @@ radv_is_colorbuffer_format_supported(const struct radv_physical_device *pdev, Vk static bool radv_is_zs_format_supported(VkFormat format) { - return radv_translate_dbformat(format) != V_028040_Z_INVALID || format == VK_FORMAT_S8_UINT; + return radv_translate_dbformat(vk_format_to_pipe_format(format)) != V_028040_Z_INVALID || + format == VK_FORMAT_S8_UINT; } static bool @@ -844,14 +845,14 @@ radv_colorformat_endian_swap(uint32_t colorformat) } uint32_t -radv_translate_dbformat(VkFormat format) +radv_translate_dbformat(enum pipe_format format) { switch (format) { - case VK_FORMAT_D16_UNORM: - case VK_FORMAT_D16_UNORM_S8_UINT: + case PIPE_FORMAT_Z16_UNORM: + case PIPE_FORMAT_Z16_UNORM_S8_UINT: return V_028040_Z_16; - case VK_FORMAT_D32_SFLOAT: - case VK_FORMAT_D32_SFLOAT_S8_UINT: + case PIPE_FORMAT_Z32_FLOAT: + case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: return V_028040_Z_32_FLOAT; default: return V_028040_Z_INVALID; diff --git a/src/amd/vulkan/radv_formats.h b/src/amd/vulkan/radv_formats.h index c8bb360b2cf..7a1ad0dc1f8 100644 --- a/src/amd/vulkan/radv_formats.h +++ b/src/amd/vulkan/radv_formats.h @@ -161,7 +161,7 @@ bool radv_is_format_emulated(const struct radv_physical_device *pdev, VkFormat f uint32_t radv_colorformat_endian_swap(uint32_t colorformat); -uint32_t radv_translate_dbformat(VkFormat format); +uint32_t radv_translate_dbformat(enum pipe_format format); bool radv_format_pack_clear_color(VkFormat format, uint32_t clear_vals[2], VkClearColorValue *value);