From d0b01c813df0c5cf1153489ff5cdf447e99258f9 Mon Sep 17 00:00:00 2001 From: Yuxin Hu Date: Wed, 17 Apr 2024 14:40:10 -0700 Subject: Remove duplicated fallback entry in vk_format_table_autogen Bug: b/335496851 Change-Id: Iff6a095aaffac099779b093e02b1a818b510dc0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5464161 Reviewed-by: Charlie Lao Commit-Queue: Charlie Lao Reviewed-by: Amirali Abdolrashidi Auto-Submit: Yuxin Hu --- scripts/code_generation_hashes/Vulkan_format.json | 4 ++-- src/libANGLE/renderer/vulkan/gen_vk_format_table.py | 8 ++++++++ src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp | 9 +++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/scripts/code_generation_hashes/Vulkan_format.json b/scripts/code_generation_hashes/Vulkan_format.json index e6c92e2041..258d4b2385 100644 --- a/scripts/code_generation_hashes/Vulkan_format.json +++ b/scripts/code_generation_hashes/Vulkan_format.json @@ -4,9 +4,9 @@ "src/libANGLE/renderer/angle_format_map.json": "eab6744df71f7bf6bfe9e8bb39949b79", "src/libANGLE/renderer/vulkan/gen_vk_format_table.py": - "91aa6fbc6daa64cd8b366d0c5d584fd4", + "0bf4ca6e2a15c79ab67f2886d73578d7", "src/libANGLE/renderer/vulkan/vk_format_map.json": "e452d2f42133783544f01675540f9765", "src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp": - "e0272ceb2c22f696a6139ceed0b6674a" + "59a4fc5410e8c81ba7dab87fb87b2253" } diff --git a/src/libANGLE/renderer/vulkan/gen_vk_format_table.py b/src/libANGLE/renderer/vulkan/gen_vk_format_table.py index 57446461e3..28b69f07a7 100644 --- a/src/libANGLE/renderer/vulkan/gen_vk_format_table.py +++ b/src/libANGLE/renderer/vulkan/gen_vk_format_table.py @@ -181,6 +181,14 @@ def gen_format_case(angle, internal_format, vk_json_data): fallbacks += compressed if format in vk_map: + # if the fallbacks already contains the format, we should remove + # it from the fallbacks list before adding it as the first element + # in the fallbacks list. This prevents duplicated items in the + # fallbacks list. + if format in fallbacks: + fallbacks.remove(format) + + assert format not in fallbacks fallbacks = [format] + fallbacks return (fallbacks, len(fallbacks) - len(compressed)) diff --git a/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp b/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp index 14d288337a..f27e236a92 100644 --- a/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp +++ b/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp @@ -849,8 +849,7 @@ void Format::initialize(Renderer *renderer, const angle::Format &angleFormat) { static constexpr ImageFormatInitInfo kInfo[] = { {angle::FormatID::D24_UNORM_S8_UINT, nullptr}, - {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}, - {angle::FormatID::D24_UNORM_S8_UINT, nullptr}}; + {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}}; initImageFallback(renderer, kInfo, ArraySize(kInfo)); } mActualBufferFormatID = angle::FormatID::D24_UNORM_S8_UINT; @@ -889,8 +888,7 @@ void Format::initialize(Renderer *renderer, const angle::Format &angleFormat) { static constexpr ImageFormatInitInfo kInfo[] = { {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}, - {angle::FormatID::D24_UNORM_S8_UINT, nullptr}, - {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}}; + {angle::FormatID::D24_UNORM_S8_UINT, nullptr}}; initImageFallback(renderer, kInfo, ArraySize(kInfo)); } mActualBufferFormatID = angle::FormatID::D32_FLOAT_S8X24_UINT; @@ -2634,8 +2632,7 @@ void Format::initialize(Renderer *renderer, const angle::Format &angleFormat) static constexpr ImageFormatInitInfo kInfo[] = { {angle::FormatID::S8_UINT, nullptr}, {angle::FormatID::D24_UNORM_S8_UINT, nullptr}, - {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}, - {angle::FormatID::S8_UINT, nullptr}}; + {angle::FormatID::D32_FLOAT_S8X24_UINT, nullptr}}; initImageFallback(renderer, kInfo, ArraySize(kInfo)); } mActualBufferFormatID = angle::FormatID::S8_UINT; -- cgit v1.2.3