radv: fix the number of drm modifier planes for DCC on GFX12

It's always 1 plane because DCC isn't allocated from the userspace
driver.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33213>
This commit is contained in:
Samuel Pitoiset
2025-01-24 07:14:30 -08:00
committed by Marge Bot
parent cd31a61fda
commit ce3a137892
+16 -4
View File
@@ -674,8 +674,14 @@ radv_list_drm_format_modifiers(struct radv_physical_device *pdev, VkFormat forma
if (!features)
continue;
unsigned planes =
vk_format_get_plane_count(format) + ac_modifier_has_dcc(mods[i]) + ac_modifier_has_dcc_retile(mods[i]);
unsigned planes = vk_format_get_plane_count(format);
if (pdev->info.gfx_level < GFX12) {
/* DCC is transparent to the userspace driver on GFX12 so it doesn't
* need additional planes.
*/
planes += ac_modifier_has_dcc(mods[i]) + ac_modifier_has_dcc_retile(mods[i]);
}
vk_outarray_append_typed(VkDrmFormatModifierPropertiesEXT, &out, out_props)
{
@@ -725,8 +731,14 @@ radv_list_drm_format_modifiers_2(struct radv_physical_device *pdev, VkFormat for
if (!features)
continue;
unsigned planes =
vk_format_get_plane_count(format) + ac_modifier_has_dcc(mods[i]) + ac_modifier_has_dcc_retile(mods[i]);
unsigned planes = vk_format_get_plane_count(format);
if (pdev->info.gfx_level < GFX12) {
/* DCC is transparent to the userspace driver on GFX12 so it doesn't
* need additional planes.
*/
planes += ac_modifier_has_dcc(mods[i]) + ac_modifier_has_dcc_retile(mods[i]);
}
vk_outarray_append_typed(VkDrmFormatModifierProperties2EXT, &out, out_props)
{