Path: blob/master/thirdparty/libktx/lib/vkformat_check_variant.c
9913 views
/*1** Copyright 2025 The Khronos Group Inc.2**3** SPDX-License-Identifier: Apache-2.04*/56#include <stdint.h>7#include <stdbool.h>89#include "vkformat_enum.h"1011bool12isNotSrgbFormatButHasSrgbVariant(VkFormat format)13{14switch (format) {15// VK_FORMAT_R8_SRGB16case VK_FORMAT_R8_UNORM:17case VK_FORMAT_R8_SNORM:18case VK_FORMAT_R8_UINT:19case VK_FORMAT_R8_SINT:2021// VK_FORMAT_R8G8_SRGB22case VK_FORMAT_R8G8_UNORM:23case VK_FORMAT_R8G8_SNORM:24case VK_FORMAT_R8G8_UINT:25case VK_FORMAT_R8G8_SINT:2627// VK_FORMAT_R8G8B8_SRGB28case VK_FORMAT_R8G8B8_UNORM:29case VK_FORMAT_R8G8B8_SNORM:30case VK_FORMAT_R8G8B8_UINT:31case VK_FORMAT_R8G8B8_SINT:3233// VK_FORMAT_B8G8R8_SRGB34case VK_FORMAT_B8G8R8_UNORM:35case VK_FORMAT_B8G8R8_SNORM:36case VK_FORMAT_B8G8R8_UINT:37case VK_FORMAT_B8G8R8_SINT:3839// VK_FORMAT_R8G8B8A8_SRGB40case VK_FORMAT_R8G8B8A8_UNORM:41case VK_FORMAT_R8G8B8A8_SNORM:42case VK_FORMAT_R8G8B8A8_UINT:43case VK_FORMAT_R8G8B8A8_SINT:4445// VK_FORMAT_B8G8R8A8_SRGB46case VK_FORMAT_B8G8R8A8_UNORM:47case VK_FORMAT_B8G8R8A8_SNORM:48case VK_FORMAT_B8G8R8A8_UINT:49case VK_FORMAT_B8G8R8A8_SINT:5051// VK_FORMAT_A8B8G8R8_SRGB_PACK3252case VK_FORMAT_A8B8G8R8_UNORM_PACK32:53case VK_FORMAT_A8B8G8R8_SNORM_PACK32:54case VK_FORMAT_A8B8G8R8_UINT_PACK32:55case VK_FORMAT_A8B8G8R8_SINT_PACK32:5657// VK_FORMAT_BC1_RGB_SRGB_BLOCK58case VK_FORMAT_BC1_RGB_UNORM_BLOCK:5960// VK_FORMAT_BC1_RGBA_SRGB_BLOCK61case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:6263// VK_FORMAT_BC2_SRGB_BLOCK64case VK_FORMAT_BC2_UNORM_BLOCK:6566// VK_FORMAT_BC3_SRGB_BLOCK67case VK_FORMAT_BC3_UNORM_BLOCK:6869// VK_FORMAT_BC7_SRGB_BLOCK70case VK_FORMAT_BC7_UNORM_BLOCK:7172// VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK73case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:7475// VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK76case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:7778// VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK79case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:8081// VK_FORMAT_ASTC_4x4_SRGB_BLOCK82case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:8384// VK_FORMAT_ASTC_5x4_SRGB_BLOCK85case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:8687// VK_FORMAT_ASTC_5x5_SRGB_BLOCK88case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:8990// VK_FORMAT_ASTC_6x5_SRGB_BLOCK91case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:9293// VK_FORMAT_ASTC_6x6_SRGB_BLOCK94case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:9596// VK_FORMAT_ASTC_8x5_SRGB_BLOCK97case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:9899// VK_FORMAT_ASTC_8x6_SRGB_BLOCK100case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:101102// VK_FORMAT_ASTC_8x8_SRGB_BLOCK103case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:104105// VK_FORMAT_ASTC_10x5_SRGB_BLOCK106case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:107108// VK_FORMAT_ASTC_10x6_SRGB_BLOCK109case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:110111// VK_FORMAT_ASTC_10x8_SRGB_BLOCK112case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:113114// VK_FORMAT_ASTC_10x10_SRGB_BLOCK115case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:116117// VK_FORMAT_ASTC_12x10_SRGB_BLOCK118case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:119120// VK_FORMAT_ASTC_12x12_SRGB_BLOCK121case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:122123// VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG124case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:125126// VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG127case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:128129// VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG130case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:131132// VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG133case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:134135// VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT136case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT:137138// VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT139case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT:140141// VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT142case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT:143144// VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT145case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT:146147// VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT148case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT:149150// VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT151case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT:152153// VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT154case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT:155156// VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT157case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT:158159// VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT160case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT:161162// VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT163case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT:164return true;165default:166return false;167}168}169170171172173