radv: disable 64-bit color attachments

These work in some circumstances (dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_16_to_64.scalar9_tessc),
but I'm not sure if they work in all, blending certainly doesn't work and
this probably wasn't intended in the first place.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fixes: 01bd012edd ("amd: fix 64-bit integer color image clears")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24400>
(cherry picked from commit 405f3bf990)
This commit is contained in:
Rhys Perry 2023-07-28 20:59:07 +01:00 committed by Dylan Baker
parent b598e695ef
commit 83fd284484
2 changed files with 8 additions and 2 deletions

View file

@ -7104,7 +7104,7 @@
"description": "radv: disable 64-bit color attachments",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "01bd012edd20927a4eb7f791dc6e6ac94089c144",
"notes": null

View file

@ -736,7 +736,7 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
linear &= ~VK_FORMAT_FEATURE_2_BLIT_SRC_BIT;
}
}
if (radv_is_colorbuffer_format_supported(physical_device, format, &blendable)) {
if (radv_is_colorbuffer_format_supported(physical_device, format, &blendable) && desc->channel[0].size != 64) {
linear |= VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT | VK_FORMAT_FEATURE_2_BLIT_DST_BIT;
tiled |= VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT | VK_FORMAT_FEATURE_2_BLIT_DST_BIT;
if (blendable) {
@ -774,6 +774,12 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
linear = 0;
tiled = 0;
break;
case VK_FORMAT_R64_UINT:
case VK_FORMAT_R64_SINT:
case VK_FORMAT_R64_SFLOAT:
tiled |= VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT | VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT;
linear |= VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT | VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT;
break;
default:
break;
}