radv: disable VK_FORMAT_R64_SFLOAT
This format was enabled by accident, isn't useful, and doesn't work.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4701
Cc: 21.1 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10450>
diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index f70f58c..92172c6 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -105,7 +105,7 @@
}
break;
case 64:
- if (desc->nr_channels == 1)
+ if (type != UTIL_FORMAT_TYPE_FLOAT && desc->nr_channels == 1)
return V_008F0C_BUF_DATA_FORMAT_32_32;
}
@@ -363,7 +363,7 @@
}
break;
case 64:
- if (desc->nr_channels == 1)
+ if (desc->channel[0].type != UTIL_FORMAT_TYPE_FLOAT && desc->nr_channels == 1)
return V_008F14_IMG_DATA_FORMAT_32_32;
break;
}
@@ -475,7 +475,7 @@
const struct util_format_description *desc = vk_format_description(format);
uint32_t num_format;
if (!desc || format == VK_FORMAT_UNDEFINED || format == VK_FORMAT_R64_UINT ||
- format == VK_FORMAT_R64_SINT || format == VK_FORMAT_R64_SFLOAT)
+ format == VK_FORMAT_R64_SINT)
return false;
num_format =
radv_translate_tex_numformat(format, desc, vk_format_get_first_non_void_channel(format));