Module: Mesa Branch: main Commit: 542febcf59af40694015de08fbbd1534adc2c470 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=542febcf59af40694015de08fbbd1534adc2c470
Author: Jesse Natalie <[email protected]> Date: Fri Apr 21 08:44:03 2023 -0700 dzn: Handle opaque BC1 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22639> --- src/microsoft/vulkan/dzn_image.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/microsoft/vulkan/dzn_image.c b/src/microsoft/vulkan/dzn_image.c index 1458e53e722..3f91fea640a 100644 --- a/src/microsoft/vulkan/dzn_image.c +++ b/src/microsoft/vulkan/dzn_image.c @@ -1061,6 +1061,13 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview) else if (swz[i] == D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1) swz[i] = D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0; } + } else if (iview->vk.view_format == VK_FORMAT_BC1_RGB_SRGB_BLOCK || + iview->vk.view_format == VK_FORMAT_BC1_RGB_UNORM_BLOCK) { + /* D3D has no opaque version of these; force alpha to 1 */ + for (uint32_t i = 0; i < ARRAY_SIZE(swz); i++) { + if (swz[i] == D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3) + swz[i] = D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1; + } } iview->srv_desc.Shader4ComponentMapping =
