/* This file is autogenerated by vk_format_table.py from vk_format_layout.csv. Do not edit directly. */ /************************************************************************** * * Copyright 2010 VMware, Inc. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sub license, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice (including the * next paragraph) shall be included in all copies or substantial portions * of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * **************************************************************************/ #include "stdbool.h" #include "vk_format.h" static const struct vk_format_description vk_format_undefined_description = { VK_FORMAT_UNDEFINED, "VK_FORMAT_UNDEFINED", "undefined", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, false, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r4g4_unorm_pack8_description = { VK_FORMAT_R4G4_UNORM_PACK8, "VK_FORMAT_R4G4_UNORM_PACK8", "r4g4_unorm_pack8", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r4g4b4a4_unorm_pack16_description = { VK_FORMAT_R4G4B4A4_UNORM_PACK16, "VK_FORMAT_R4G4B4A4_UNORM_PACK16", "r4g4b4a4_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 12}, /* x = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 8}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* z = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0} /* w = r */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0}, /* x = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 8}, /* z = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 12} /* w = r */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_Z, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_X /* a */ }, #else { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_Z, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_X /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b4g4r4a4_unorm_pack16_description = { VK_FORMAT_B4G4R4A4_UNORM_PACK16, "VK_FORMAT_B4G4R4A4_UNORM_PACK16", "b4g4r4a4_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 12}, /* x = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 8}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* z = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0} /* w = r */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0}, /* x = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 4}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 8}, /* z = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 12} /* w = r */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_X, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_Z /* a */ }, #else { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_X, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_Z /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r5g6b5_unorm_pack16_description = { VK_FORMAT_R5G6B5_UNORM_PACK16, "VK_FORMAT_R5G6B5_UNORM_PACK16", "r5g6b5_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 6, 5}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 6, 5}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b5g6r5_unorm_pack16_description = { VK_FORMAT_B5G6R5_UNORM_PACK16, "VK_FORMAT_B5G6R5_UNORM_PACK16", "b5g6r5_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 6, 5}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 6, 5}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r5g5b5a1_unorm_pack16_description = { VK_FORMAT_R5G5B5A1_UNORM_PACK16, "VK_FORMAT_R5G5B5A1_UNORM_PACK16", "r5g5b5a1_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 15}, /* x = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 10}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 5}, /* z = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0} /* w = r */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 0}, /* x = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 1}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 6}, /* z = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11} /* w = r */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_Z, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_X /* a */ }, #else { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_Z, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_X /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b5g5r5a1_unorm_pack16_description = { VK_FORMAT_B5G5R5A1_UNORM_PACK16, "VK_FORMAT_B5G5R5A1_UNORM_PACK16", "b5g5r5a1_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 15}, /* x = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 10}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 5}, /* z = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0} /* w = r */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 0}, /* x = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 1}, /* y = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 6}, /* z = a */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11} /* w = r */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_X, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_Z /* a */ }, #else { VK_SWIZZLE_W, /* r */ VK_SWIZZLE_X, /* g */ VK_SWIZZLE_Y, /* b */ VK_SWIZZLE_Z /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a1r5g5b5_unorm_pack16_description = { VK_FORMAT_A1R5G5B5_UNORM_PACK16, "VK_FORMAT_A1R5G5B5_UNORM_PACK16", "a1r5g5b5_unorm_pack16", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 11}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 6}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 1}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 5}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 5, 10}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 1, 15} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_unorm_description = { VK_FORMAT_R8_UNORM, "VK_FORMAT_R8_UNORM", "r8_unorm", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_snorm_description = { VK_FORMAT_R8_SNORM, "VK_FORMAT_R8_SNORM", "r8_snorm", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_uscaled_description = { VK_FORMAT_R8_USCALED, "VK_FORMAT_R8_USCALED", "r8_uscaled", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_sscaled_description = { VK_FORMAT_R8_SSCALED, "VK_FORMAT_R8_SSCALED", "r8_sscaled", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_uint_description = { VK_FORMAT_R8_UINT, "VK_FORMAT_R8_UINT", "r8_uint", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_sint_description = { VK_FORMAT_R8_SINT, "VK_FORMAT_R8_SINT", "r8_sint", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8_srgb_description = { VK_FORMAT_R8_SRGB, "VK_FORMAT_R8_SRGB", "r8_srgb", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_0, /* sg */ VK_SWIZZLE_0, /* sb */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_r8g8_unorm_description = { VK_FORMAT_R8G8_UNORM, "VK_FORMAT_R8G8_UNORM", "r8g8_unorm", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_snorm_description = { VK_FORMAT_R8G8_SNORM, "VK_FORMAT_R8G8_SNORM", "r8g8_snorm", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_uscaled_description = { VK_FORMAT_R8G8_USCALED, "VK_FORMAT_R8G8_USCALED", "r8g8_uscaled", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_sscaled_description = { VK_FORMAT_R8G8_SSCALED, "VK_FORMAT_R8G8_SSCALED", "r8g8_sscaled", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_uint_description = { VK_FORMAT_R8G8_UINT, "VK_FORMAT_R8G8_UINT", "r8g8_uint", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_sint_description = { VK_FORMAT_R8G8_SINT, "VK_FORMAT_R8G8_SINT", "r8g8_sint", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8_srgb_description = { VK_FORMAT_R8G8_SRGB, "VK_FORMAT_R8G8_SRGB", "r8g8_srgb", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_0, /* sb */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_0, /* sb */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_r8g8b8_unorm_description = { VK_FORMAT_R8G8B8_UNORM, "VK_FORMAT_R8G8B8_UNORM", "r8g8b8_unorm", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_snorm_description = { VK_FORMAT_R8G8B8_SNORM, "VK_FORMAT_R8G8B8_SNORM", "r8g8b8_snorm", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_uscaled_description = { VK_FORMAT_R8G8B8_USCALED, "VK_FORMAT_R8G8B8_USCALED", "r8g8b8_uscaled", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_sscaled_description = { VK_FORMAT_R8G8B8_SSCALED, "VK_FORMAT_R8G8B8_SSCALED", "r8g8b8_sscaled", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_uint_description = { VK_FORMAT_R8G8B8_UINT, "VK_FORMAT_R8G8B8_UINT", "r8g8b8_uint", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_sint_description = { VK_FORMAT_R8G8B8_SINT, "VK_FORMAT_R8G8B8_SINT", "r8g8b8_sint", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8_srgb_description = { VK_FORMAT_R8G8B8_SRGB, "VK_FORMAT_R8G8B8_SRGB", "r8g8b8_srgb", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_b8g8r8_unorm_description = { VK_FORMAT_B8G8R8_UNORM, "VK_FORMAT_B8G8R8_UNORM", "b8g8r8_unorm", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_snorm_description = { VK_FORMAT_B8G8R8_SNORM, "VK_FORMAT_B8G8R8_SNORM", "b8g8r8_snorm", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_uscaled_description = { VK_FORMAT_B8G8R8_USCALED, "VK_FORMAT_B8G8R8_USCALED", "b8g8r8_uscaled", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_sscaled_description = { VK_FORMAT_B8G8R8_SSCALED, "VK_FORMAT_B8G8R8_SSCALED", "b8g8r8_sscaled", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_uint_description = { VK_FORMAT_B8G8R8_UINT, "VK_FORMAT_B8G8R8_UINT", "b8g8r8_uint", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_sint_description = { VK_FORMAT_B8G8R8_SINT, "VK_FORMAT_B8G8R8_SINT", "b8g8r8_sint", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8_srgb_description = { VK_FORMAT_B8G8R8_SRGB, "VK_FORMAT_B8G8R8_SRGB", "b8g8r8_srgb", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_X, /* sb */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_Z, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_X, /* sb */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_r8g8b8a8_unorm_description = { VK_FORMAT_R8G8B8A8_UNORM, "VK_FORMAT_R8G8B8A8_UNORM", "r8g8b8a8_unorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_snorm_description = { VK_FORMAT_R8G8B8A8_SNORM, "VK_FORMAT_R8G8B8A8_SNORM", "r8g8b8a8_snorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_uscaled_description = { VK_FORMAT_R8G8B8A8_USCALED, "VK_FORMAT_R8G8B8A8_USCALED", "r8g8b8a8_uscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_sscaled_description = { VK_FORMAT_R8G8B8A8_SSCALED, "VK_FORMAT_R8G8B8A8_SSCALED", "r8g8b8a8_sscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_uint_description = { VK_FORMAT_R8G8B8A8_UINT, "VK_FORMAT_R8G8B8A8_UINT", "r8g8b8a8_uint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_sint_description = { VK_FORMAT_R8G8B8A8_SINT, "VK_FORMAT_R8G8B8A8_SINT", "r8g8b8a8_sint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r8g8b8a8_srgb_description = { VK_FORMAT_R8G8B8A8_SRGB, "VK_FORMAT_R8G8B8A8_SRGB", "r8g8b8a8_srgb", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_b8g8r8a8_unorm_description = { VK_FORMAT_B8G8R8A8_UNORM, "VK_FORMAT_B8G8R8A8_UNORM", "b8g8r8a8_unorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_snorm_description = { VK_FORMAT_B8G8R8A8_SNORM, "VK_FORMAT_B8G8R8A8_SNORM", "b8g8r8a8_snorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_uscaled_description = { VK_FORMAT_B8G8R8A8_USCALED, "VK_FORMAT_B8G8R8A8_USCALED", "b8g8r8a8_uscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_sscaled_description = { VK_FORMAT_B8G8R8A8_SSCALED, "VK_FORMAT_B8G8R8A8_SSCALED", "b8g8r8a8_sscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_uint_description = { VK_FORMAT_B8G8R8A8_UINT, "VK_FORMAT_B8G8R8A8_UINT", "b8g8r8a8_uint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_sint_description = { VK_FORMAT_B8G8R8A8_SINT, "VK_FORMAT_B8G8R8A8_SINT", "b8g8r8a8_sint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b8g8r8a8_srgb_description = { VK_FORMAT_B8G8R8A8_SRGB, "VK_FORMAT_B8G8R8A8_SRGB", "b8g8r8a8_srgb", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_X, /* sb */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_X, /* sb */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_a8b8g8r8_unorm_pack32_description = { VK_FORMAT_A8B8G8R8_UNORM_PACK32, "VK_FORMAT_A8B8G8R8_UNORM_PACK32", "a8b8g8r8_unorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_snorm_pack32_description = { VK_FORMAT_A8B8G8R8_SNORM_PACK32, "VK_FORMAT_A8B8G8R8_SNORM_PACK32", "a8b8g8r8_snorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_uscaled_pack32_description = { VK_FORMAT_A8B8G8R8_USCALED_PACK32, "VK_FORMAT_A8B8G8R8_USCALED_PACK32", "a8b8g8r8_uscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_sscaled_pack32_description = { VK_FORMAT_A8B8G8R8_SSCALED_PACK32, "VK_FORMAT_A8B8G8R8_SSCALED_PACK32", "a8b8g8r8_sscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_uint_pack32_description = { VK_FORMAT_A8B8G8R8_UINT_PACK32, "VK_FORMAT_A8B8G8R8_UINT_PACK32", "a8b8g8r8_uint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_sint_pack32_description = { VK_FORMAT_A8B8G8R8_SINT_PACK32, "VK_FORMAT_A8B8G8R8_SINT_PACK32", "a8b8g8r8_sint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a8b8g8r8_srgb_pack32_description = { VK_FORMAT_A8B8G8R8_SRGB_PACK32, "VK_FORMAT_A8B8G8R8_SRGB_PACK32", "a8b8g8r8_srgb_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 8}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 8, 24} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_a2r10g10b10_unorm_pack32_description = { VK_FORMAT_A2R10G10B10_UNORM_PACK32, "VK_FORMAT_A2R10G10B10_UNORM_PACK32", "a2r10g10b10_unorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2r10g10b10_snorm_pack32_description = { VK_FORMAT_A2R10G10B10_SNORM_PACK32, "VK_FORMAT_A2R10G10B10_SNORM_PACK32", "a2r10g10b10_snorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2r10g10b10_uscaled_pack32_description = { VK_FORMAT_A2R10G10B10_USCALED_PACK32, "VK_FORMAT_A2R10G10B10_USCALED_PACK32", "a2r10g10b10_uscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2r10g10b10_sscaled_pack32_description = { VK_FORMAT_A2R10G10B10_SSCALED_PACK32, "VK_FORMAT_A2R10G10B10_SSCALED_PACK32", "a2r10g10b10_sscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2r10g10b10_uint_pack32_description = { VK_FORMAT_A2R10G10B10_UINT_PACK32, "VK_FORMAT_A2R10G10B10_UINT_PACK32", "a2r10g10b10_uint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2r10g10b10_sint_pack32_description = { VK_FORMAT_A2R10G10B10_SINT_PACK32, "VK_FORMAT_A2R10G10B10_SINT_PACK32", "a2r10g10b10_sint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 22}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 2}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 0}, /* x = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 20}, /* z = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_Z, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_X, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_unorm_pack32_description = { VK_FORMAT_A2B10G10R10_UNORM_PACK32, "VK_FORMAT_A2B10G10R10_UNORM_PACK32", "a2b10g10r10_unorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_snorm_pack32_description = { VK_FORMAT_A2B10G10R10_SNORM_PACK32, "VK_FORMAT_A2B10G10R10_SNORM_PACK32", "a2b10g10r10_snorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_uscaled_pack32_description = { VK_FORMAT_A2B10G10R10_USCALED_PACK32, "VK_FORMAT_A2B10G10R10_USCALED_PACK32", "a2b10g10r10_uscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_sscaled_pack32_description = { VK_FORMAT_A2B10G10R10_SSCALED_PACK32, "VK_FORMAT_A2B10G10R10_SSCALED_PACK32", "a2b10g10r10_sscaled_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_uint_pack32_description = { VK_FORMAT_A2B10G10R10_UINT_PACK32, "VK_FORMAT_A2B10G10R10_UINT_PACK32", "a2b10g10r10_uint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_a2b10g10r10_sint_pack32_description = { VK_FORMAT_A2B10G10R10_SINT_PACK32, "VK_FORMAT_A2B10G10R10_SINT_PACK32", "a2b10g10r10_sint_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 22}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 12}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 2}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 2, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 10}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 10, 20}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 2, 30} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_unorm_description = { VK_FORMAT_R16_UNORM, "VK_FORMAT_R16_UNORM", "r16_unorm", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_snorm_description = { VK_FORMAT_R16_SNORM, "VK_FORMAT_R16_SNORM", "r16_snorm", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_uscaled_description = { VK_FORMAT_R16_USCALED, "VK_FORMAT_R16_USCALED", "r16_uscaled", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_sscaled_description = { VK_FORMAT_R16_SSCALED, "VK_FORMAT_R16_SSCALED", "r16_sscaled", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_uint_description = { VK_FORMAT_R16_UINT, "VK_FORMAT_R16_UINT", "r16_uint", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_sint_description = { VK_FORMAT_R16_SINT, "VK_FORMAT_R16_SINT", "r16_sint", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16_sfloat_description = { VK_FORMAT_R16_SFLOAT, "VK_FORMAT_R16_SFLOAT", "r16_sfloat", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_unorm_description = { VK_FORMAT_R16G16_UNORM, "VK_FORMAT_R16G16_UNORM", "r16g16_unorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_snorm_description = { VK_FORMAT_R16G16_SNORM, "VK_FORMAT_R16G16_SNORM", "r16g16_snorm", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_uscaled_description = { VK_FORMAT_R16G16_USCALED, "VK_FORMAT_R16G16_USCALED", "r16g16_uscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_sscaled_description = { VK_FORMAT_R16G16_SSCALED, "VK_FORMAT_R16G16_SSCALED", "r16g16_sscaled", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_uint_description = { VK_FORMAT_R16G16_UINT, "VK_FORMAT_R16G16_UINT", "r16g16_uint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_sint_description = { VK_FORMAT_R16G16_SINT, "VK_FORMAT_R16G16_SINT", "r16g16_sint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16_sfloat_description = { VK_FORMAT_R16G16_SFLOAT, "VK_FORMAT_R16G16_SFLOAT", "r16g16_sfloat", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_unorm_description = { VK_FORMAT_R16G16B16_UNORM, "VK_FORMAT_R16G16B16_UNORM", "r16g16b16_unorm", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_snorm_description = { VK_FORMAT_R16G16B16_SNORM, "VK_FORMAT_R16G16B16_SNORM", "r16g16b16_snorm", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_uscaled_description = { VK_FORMAT_R16G16B16_USCALED, "VK_FORMAT_R16G16B16_USCALED", "r16g16b16_uscaled", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_sscaled_description = { VK_FORMAT_R16G16B16_SSCALED, "VK_FORMAT_R16G16B16_SSCALED", "r16g16b16_sscaled", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_uint_description = { VK_FORMAT_R16G16B16_UINT, "VK_FORMAT_R16G16B16_UINT", "r16g16b16_uint", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_sint_description = { VK_FORMAT_R16G16B16_SINT, "VK_FORMAT_R16G16B16_SINT", "r16g16b16_sint", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16_sfloat_description = { VK_FORMAT_R16G16B16_SFLOAT, "VK_FORMAT_R16G16B16_SFLOAT", "r16g16b16_sfloat", {1, 1, 48}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 32}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_unorm_description = { VK_FORMAT_R16G16B16A16_UNORM, "VK_FORMAT_R16G16B16A16_UNORM", "r16g16b16a16_unorm", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_snorm_description = { VK_FORMAT_R16G16B16A16_SNORM, "VK_FORMAT_R16G16B16A16_SNORM", "r16g16b16a16_snorm", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, true, false, false, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_uscaled_description = { VK_FORMAT_R16G16B16A16_USCALED, "VK_FORMAT_R16G16B16A16_USCALED", "r16g16b16a16_uscaled", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, false, true, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_sscaled_description = { VK_FORMAT_R16G16B16A16_SSCALED, "VK_FORMAT_R16G16B16A16_SSCALED", "r16g16b16a16_sscaled", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, false, true, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_uint_description = { VK_FORMAT_R16G16B16A16_UINT, "VK_FORMAT_R16G16B16A16_UINT", "r16g16b16a16_uint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_sint_description = { VK_FORMAT_R16G16B16A16_SINT, "VK_FORMAT_R16G16B16A16_SINT", "r16g16b16a16_sint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r16g16b16a16_sfloat_description = { VK_FORMAT_R16G16B16A16_SFLOAT, "VK_FORMAT_R16G16B16A16_SFLOAT", "r16g16b16a16_sfloat", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 48}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 32}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 16}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 32}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 16, 48} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32_uint_description = { VK_FORMAT_R32_UINT, "VK_FORMAT_R32_UINT", "r32_uint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32_sint_description = { VK_FORMAT_R32_SINT, "VK_FORMAT_R32_SINT", "r32_sint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32_sfloat_description = { VK_FORMAT_R32_SFLOAT, "VK_FORMAT_R32_SFLOAT", "r32_sfloat", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32_uint_description = { VK_FORMAT_R32G32_UINT, "VK_FORMAT_R32G32_UINT", "r32g32_uint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32_sint_description = { VK_FORMAT_R32G32_SINT, "VK_FORMAT_R32G32_SINT", "r32g32_sint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32_sfloat_description = { VK_FORMAT_R32G32_SFLOAT, "VK_FORMAT_R32G32_SFLOAT", "r32g32_sfloat", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32_uint_description = { VK_FORMAT_R32G32B32_UINT, "VK_FORMAT_R32G32B32_UINT", "r32g32b32_uint", {1, 1, 96}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 64}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32_sint_description = { VK_FORMAT_R32G32B32_SINT, "VK_FORMAT_R32G32B32_SINT", "r32g32b32_sint", {1, 1, 96}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 64}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32_sfloat_description = { VK_FORMAT_R32G32B32_SFLOAT, "VK_FORMAT_R32G32B32_SFLOAT", "r32g32b32_sfloat", {1, 1, 96}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 64}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32a32_uint_description = { VK_FORMAT_R32G32B32A32_UINT, "VK_FORMAT_R32G32B32A32_UINT", "r32g32b32a32_uint", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 96}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 64}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 64}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 32, 96} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32a32_sint_description = { VK_FORMAT_R32G32B32A32_SINT, "VK_FORMAT_R32G32B32A32_SINT", "r32g32b32a32_sint", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 96}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 64}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 64}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 32, 96} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r32g32b32a32_sfloat_description = { VK_FORMAT_R32G32B32A32_SFLOAT, "VK_FORMAT_R32G32B32A32_SFLOAT", "r32g32b32a32_sfloat", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 96}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 64}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 32}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 64}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 96} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64_uint_description = { VK_FORMAT_R64_UINT, "VK_FORMAT_R64_UINT", "r64_uint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64_sint_description = { VK_FORMAT_R64_SINT, "VK_FORMAT_R64_SINT", "r64_sint", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64_sfloat_description = { VK_FORMAT_R64_SFLOAT, "VK_FORMAT_R64_SFLOAT", "r64_sfloat", {1, 1, 64}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64_uint_description = { VK_FORMAT_R64G64_UINT, "VK_FORMAT_R64G64_UINT", "r64g64_uint", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64_sint_description = { VK_FORMAT_R64G64_SINT, "VK_FORMAT_R64G64_SINT", "r64g64_sint", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64_sfloat_description = { VK_FORMAT_R64G64_SFLOAT, "VK_FORMAT_R64G64_SFLOAT", "r64g64_sfloat", {1, 1, 128}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64_uint_description = { VK_FORMAT_R64G64B64_UINT, "VK_FORMAT_R64G64B64_UINT", "r64g64b64_uint", {1, 1, 192}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 128}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 128}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64_sint_description = { VK_FORMAT_R64G64B64_SINT, "VK_FORMAT_R64G64B64_SINT", "r64g64b64_sint", {1, 1, 192}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 128}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 128}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64_sfloat_description = { VK_FORMAT_R64G64B64_SFLOAT, "VK_FORMAT_R64G64B64_SFLOAT", "r64g64b64_sfloat", {1, 1, 192}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 128}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 128}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64a64_uint_description = { VK_FORMAT_R64G64B64A64_UINT, "VK_FORMAT_R64G64B64A64_UINT", "r64g64b64a64_uint", {1, 1, 256}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 192}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 128}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 128}, /* z = b */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 64, 192} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64a64_sint_description = { VK_FORMAT_R64G64B64A64_SINT, "VK_FORMAT_R64G64B64A64_SINT", "r64g64b64a64_sint", {1, 1, 256}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 192}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 128}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 128}, /* z = b */ {VK_FORMAT_TYPE_SIGNED, false, true, false, 64, 192} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_r64g64b64a64_sfloat_description = { VK_FORMAT_R64G64B64A64_SFLOAT, "VK_FORMAT_R64G64B64A64_SFLOAT", "r64g64b64a64_sfloat", {1, 1, 256}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 192}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 128}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0} /* w = a */ }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 0}, /* x = r */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 64}, /* y = g */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 128}, /* z = b */ {VK_FORMAT_TYPE_FLOAT, false, false, false, 64, 192} /* w = a */ }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #else { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, #endif VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_b10g11r11_ufloat_pack32_description = { VK_FORMAT_B10G11R11_UFLOAT_PACK32, "VK_FORMAT_B10G11R11_UFLOAT_PACK32", "b10g11r11_ufloat_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_OTHER, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_e5b9g9r9_ufloat_pack32_description = { VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32", "e5b9g9r9_ufloat_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_OTHER, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_d16_unorm_description = { VK_FORMAT_D16_UNORM, "VK_FORMAT_D16_UNORM", "d16_unorm", {1, 1, 16}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_NONE, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_x8_d24_unorm_pack32_description = { VK_FORMAT_X8_D24_UNORM_PACK32, "VK_FORMAT_X8_D24_UNORM_PACK32", "x8_d24_unorm_pack32", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 24, 8}, /* x = z */ {VK_FORMAT_TYPE_VOID, false, false, false, 8, 0}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 24, 0}, /* x = z */ {VK_FORMAT_TYPE_VOID, false, false, false, 8, 24}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_NONE, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #else { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_NONE, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #endif VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_d32_sfloat_description = { VK_FORMAT_D32_SFLOAT, "VK_FORMAT_D32_SFLOAT", "d32_sfloat", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_NONE, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_s8_uint_description = { VK_FORMAT_S8_UINT, "VK_FORMAT_S8_UINT", "s8_uint", {1, 1, 8}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ true, /* is_array */ true, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* x = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_NONE, /* z */ VK_SWIZZLE_X, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_d16_unorm_s8_uint_description = { VK_FORMAT_D16_UNORM_S8_UINT, "VK_FORMAT_D16_UNORM_S8_UINT", "d16_unorm_s8_uint", {1, 1, 24}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ true, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 8}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 16, 0}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 16}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #else { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #endif VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_d24_unorm_s8_uint_description = { VK_FORMAT_D24_UNORM_S8_UINT, "VK_FORMAT_D24_UNORM_S8_UINT", "d24_unorm_s8_uint", {1, 1, 32}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ false, /* is_array */ true, /* is_bitmask */ true, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 24, 8}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 24, 0}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 24}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #else { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #endif VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_d32_sfloat_s8_uint_description = { VK_FORMAT_D32_SFLOAT_S8_UINT, "VK_FORMAT_D32_SFLOAT_S8_UINT", "d32_sfloat_s8_uint", {1, 1, 40}, /* block */ VK_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ true, /* is_mixed */ #ifdef PIPE_ARCH_BIG_ENDIAN { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 8}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 0}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {VK_FORMAT_TYPE_FLOAT, false, false, false, 32, 0}, /* x = z */ {VK_FORMAT_TYPE_UNSIGNED, false, true, false, 8, 32}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #ifdef PIPE_ARCH_BIG_ENDIAN { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #else { VK_SWIZZLE_X, /* z */ VK_SWIZZLE_Y, /* s */ VK_SWIZZLE_NONE, /* ignored */ VK_SWIZZLE_NONE /* ignored */ }, #endif VK_FORMAT_COLORSPACE_ZS, }; static const struct vk_format_description vk_format_bc1_rgb_unorm_block_description = { VK_FORMAT_BC1_RGB_UNORM_BLOCK, "VK_FORMAT_BC1_RGB_UNORM_BLOCK", "bc1_rgb_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc1_rgb_srgb_block_description = { VK_FORMAT_BC1_RGB_SRGB_BLOCK, "VK_FORMAT_BC1_RGB_SRGB_BLOCK", "bc1_rgb_srgb_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_bc1_rgba_unorm_block_description = { VK_FORMAT_BC1_RGBA_UNORM_BLOCK, "VK_FORMAT_BC1_RGBA_UNORM_BLOCK", "bc1_rgba_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc1_rgba_srgb_block_description = { VK_FORMAT_BC1_RGBA_SRGB_BLOCK, "VK_FORMAT_BC1_RGBA_SRGB_BLOCK", "bc1_rgba_srgb_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_bc2_unorm_block_description = { VK_FORMAT_BC2_UNORM_BLOCK, "VK_FORMAT_BC2_UNORM_BLOCK", "bc2_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc2_srgb_block_description = { VK_FORMAT_BC2_SRGB_BLOCK, "VK_FORMAT_BC2_SRGB_BLOCK", "bc2_srgb_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_bc3_unorm_block_description = { VK_FORMAT_BC3_UNORM_BLOCK, "VK_FORMAT_BC3_UNORM_BLOCK", "bc3_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc3_srgb_block_description = { VK_FORMAT_BC3_SRGB_BLOCK, "VK_FORMAT_BC3_SRGB_BLOCK", "bc3_srgb_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_bc4_unorm_block_description = { VK_FORMAT_BC4_UNORM_BLOCK, "VK_FORMAT_BC4_UNORM_BLOCK", "bc4_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc4_snorm_block_description = { VK_FORMAT_BC4_SNORM_BLOCK, "VK_FORMAT_BC4_SNORM_BLOCK", "bc4_snorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc5_unorm_block_description = { VK_FORMAT_BC5_UNORM_BLOCK, "VK_FORMAT_BC5_UNORM_BLOCK", "bc5_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc5_snorm_block_description = { VK_FORMAT_BC5_SNORM_BLOCK, "VK_FORMAT_BC5_SNORM_BLOCK", "bc5_snorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc6h_ufloat_block_description = { VK_FORMAT_BC6H_UFLOAT_BLOCK, "VK_FORMAT_BC6H_UFLOAT_BLOCK", "bc6h_ufloat_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc6h_sfloat_block_description = { VK_FORMAT_BC6H_SFLOAT_BLOCK, "VK_FORMAT_BC6H_SFLOAT_BLOCK", "bc6h_sfloat_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc7_unorm_block_description = { VK_FORMAT_BC7_UNORM_BLOCK, "VK_FORMAT_BC7_UNORM_BLOCK", "bc7_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_bc7_srgb_block_description = { VK_FORMAT_BC7_SRGB_BLOCK, "VK_FORMAT_BC7_SRGB_BLOCK", "bc7_srgb_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8_unorm_block_description = { VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK", "etc2_r8g8b8_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8_srgb_block_description = { VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK", "etc2_r8g8b8_srgb_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8a1_unorm_block_description = { VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK", "etc2_r8g8b8a1_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8a1_srgb_block_description = { VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK", "etc2_r8g8b8a1_srgb_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8a8_unorm_block_description = { VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK", "etc2_r8g8b8a8_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_Z, /* b */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_etc2_r8g8b8a8_srgb_block_description = { VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK", "etc2_r8g8b8a8_srgb_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* sr */ VK_SWIZZLE_Y, /* sg */ VK_SWIZZLE_Z, /* sb */ VK_SWIZZLE_W /* a */ }, VK_FORMAT_COLORSPACE_SRGB, }; static const struct vk_format_description vk_format_eac_r11_unorm_block_description = { VK_FORMAT_EAC_R11_UNORM_BLOCK, "VK_FORMAT_EAC_R11_UNORM_BLOCK", "eac_r11_unorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_eac_r11_snorm_block_description = { VK_FORMAT_EAC_R11_SNORM_BLOCK, "VK_FORMAT_EAC_R11_SNORM_BLOCK", "eac_r11_snorm_block", {4, 4, 64}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_0, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_eac_r11g11_unorm_block_description = { VK_FORMAT_EAC_R11G11_UNORM_BLOCK, "VK_FORMAT_EAC_R11G11_UNORM_BLOCK", "eac_r11g11_unorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; static const struct vk_format_description vk_format_eac_r11g11_snorm_block_description = { VK_FORMAT_EAC_R11G11_SNORM_BLOCK, "VK_FORMAT_EAC_R11G11_SNORM_BLOCK", "eac_r11g11_snorm_block", {4, 4, 128}, /* block */ VK_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ false, /* is_array */ false, /* is_bitmask */ false, /* is_mixed */ { {VK_FORMAT_TYPE_VOID, false, false, false, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { VK_SWIZZLE_X, /* r */ VK_SWIZZLE_Y, /* g */ VK_SWIZZLE_0, /* b */ VK_SWIZZLE_1 /* a */ }, VK_FORMAT_COLORSPACE_RGB, }; const struct vk_format_description * vk_format_description(VkFormat format) { if (format > VK_FORMAT_END_RANGE) { return NULL; } switch (format) { case VK_FORMAT_UNDEFINED: return &vk_format_undefined_description; case VK_FORMAT_R4G4_UNORM_PACK8: return &vk_format_r4g4_unorm_pack8_description; case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return &vk_format_r4g4b4a4_unorm_pack16_description; case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return &vk_format_b4g4r4a4_unorm_pack16_description; case VK_FORMAT_R5G6B5_UNORM_PACK16: return &vk_format_r5g6b5_unorm_pack16_description; case VK_FORMAT_B5G6R5_UNORM_PACK16: return &vk_format_b5g6r5_unorm_pack16_description; case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return &vk_format_r5g5b5a1_unorm_pack16_description; case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return &vk_format_b5g5r5a1_unorm_pack16_description; case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return &vk_format_a1r5g5b5_unorm_pack16_description; case VK_FORMAT_R8_UNORM: return &vk_format_r8_unorm_description; case VK_FORMAT_R8_SNORM: return &vk_format_r8_snorm_description; case VK_FORMAT_R8_USCALED: return &vk_format_r8_uscaled_description; case VK_FORMAT_R8_SSCALED: return &vk_format_r8_sscaled_description; case VK_FORMAT_R8_UINT: return &vk_format_r8_uint_description; case VK_FORMAT_R8_SINT: return &vk_format_r8_sint_description; case VK_FORMAT_R8_SRGB: return &vk_format_r8_srgb_description; case VK_FORMAT_R8G8_UNORM: return &vk_format_r8g8_unorm_description; case VK_FORMAT_R8G8_SNORM: return &vk_format_r8g8_snorm_description; case VK_FORMAT_R8G8_USCALED: return &vk_format_r8g8_uscaled_description; case VK_FORMAT_R8G8_SSCALED: return &vk_format_r8g8_sscaled_description; case VK_FORMAT_R8G8_UINT: return &vk_format_r8g8_uint_description; case VK_FORMAT_R8G8_SINT: return &vk_format_r8g8_sint_description; case VK_FORMAT_R8G8_SRGB: return &vk_format_r8g8_srgb_description; case VK_FORMAT_R8G8B8_UNORM: return &vk_format_r8g8b8_unorm_description; case VK_FORMAT_R8G8B8_SNORM: return &vk_format_r8g8b8_snorm_description; case VK_FORMAT_R8G8B8_USCALED: return &vk_format_r8g8b8_uscaled_description; case VK_FORMAT_R8G8B8_SSCALED: return &vk_format_r8g8b8_sscaled_description; case VK_FORMAT_R8G8B8_UINT: return &vk_format_r8g8b8_uint_description; case VK_FORMAT_R8G8B8_SINT: return &vk_format_r8g8b8_sint_description; case VK_FORMAT_R8G8B8_SRGB: return &vk_format_r8g8b8_srgb_description; case VK_FORMAT_B8G8R8_UNORM: return &vk_format_b8g8r8_unorm_description; case VK_FORMAT_B8G8R8_SNORM: return &vk_format_b8g8r8_snorm_description; case VK_FORMAT_B8G8R8_USCALED: return &vk_format_b8g8r8_uscaled_description; case VK_FORMAT_B8G8R8_SSCALED: return &vk_format_b8g8r8_sscaled_description; case VK_FORMAT_B8G8R8_UINT: return &vk_format_b8g8r8_uint_description; case VK_FORMAT_B8G8R8_SINT: return &vk_format_b8g8r8_sint_description; case VK_FORMAT_B8G8R8_SRGB: return &vk_format_b8g8r8_srgb_description; case VK_FORMAT_R8G8B8A8_UNORM: return &vk_format_r8g8b8a8_unorm_description; case VK_FORMAT_R8G8B8A8_SNORM: return &vk_format_r8g8b8a8_snorm_description; case VK_FORMAT_R8G8B8A8_USCALED: return &vk_format_r8g8b8a8_uscaled_description; case VK_FORMAT_R8G8B8A8_SSCALED: return &vk_format_r8g8b8a8_sscaled_description; case VK_FORMAT_R8G8B8A8_UINT: return &vk_format_r8g8b8a8_uint_description; case VK_FORMAT_R8G8B8A8_SINT: return &vk_format_r8g8b8a8_sint_description; case VK_FORMAT_R8G8B8A8_SRGB: return &vk_format_r8g8b8a8_srgb_description; case VK_FORMAT_B8G8R8A8_UNORM: return &vk_format_b8g8r8a8_unorm_description; case VK_FORMAT_B8G8R8A8_SNORM: return &vk_format_b8g8r8a8_snorm_description; case VK_FORMAT_B8G8R8A8_USCALED: return &vk_format_b8g8r8a8_uscaled_description; case VK_FORMAT_B8G8R8A8_SSCALED: return &vk_format_b8g8r8a8_sscaled_description; case VK_FORMAT_B8G8R8A8_UINT: return &vk_format_b8g8r8a8_uint_description; case VK_FORMAT_B8G8R8A8_SINT: return &vk_format_b8g8r8a8_sint_description; case VK_FORMAT_B8G8R8A8_SRGB: return &vk_format_b8g8r8a8_srgb_description; case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return &vk_format_a8b8g8r8_unorm_pack32_description; case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return &vk_format_a8b8g8r8_snorm_pack32_description; case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return &vk_format_a8b8g8r8_uscaled_pack32_description; case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return &vk_format_a8b8g8r8_sscaled_pack32_description; case VK_FORMAT_A8B8G8R8_UINT_PACK32: return &vk_format_a8b8g8r8_uint_pack32_description; case VK_FORMAT_A8B8G8R8_SINT_PACK32: return &vk_format_a8b8g8r8_sint_pack32_description; case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return &vk_format_a8b8g8r8_srgb_pack32_description; case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return &vk_format_a2r10g10b10_unorm_pack32_description; case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return &vk_format_a2r10g10b10_snorm_pack32_description; case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return &vk_format_a2r10g10b10_uscaled_pack32_description; case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return &vk_format_a2r10g10b10_sscaled_pack32_description; case VK_FORMAT_A2R10G10B10_UINT_PACK32: return &vk_format_a2r10g10b10_uint_pack32_description; case VK_FORMAT_A2R10G10B10_SINT_PACK32: return &vk_format_a2r10g10b10_sint_pack32_description; case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return &vk_format_a2b10g10r10_unorm_pack32_description; case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return &vk_format_a2b10g10r10_snorm_pack32_description; case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return &vk_format_a2b10g10r10_uscaled_pack32_description; case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return &vk_format_a2b10g10r10_sscaled_pack32_description; case VK_FORMAT_A2B10G10R10_UINT_PACK32: return &vk_format_a2b10g10r10_uint_pack32_description; case VK_FORMAT_A2B10G10R10_SINT_PACK32: return &vk_format_a2b10g10r10_sint_pack32_description; case VK_FORMAT_R16_UNORM: return &vk_format_r16_unorm_description; case VK_FORMAT_R16_SNORM: return &vk_format_r16_snorm_description; case VK_FORMAT_R16_USCALED: return &vk_format_r16_uscaled_description; case VK_FORMAT_R16_SSCALED: return &vk_format_r16_sscaled_description; case VK_FORMAT_R16_UINT: return &vk_format_r16_uint_description; case VK_FORMAT_R16_SINT: return &vk_format_r16_sint_description; case VK_FORMAT_R16_SFLOAT: return &vk_format_r16_sfloat_description; case VK_FORMAT_R16G16_UNORM: return &vk_format_r16g16_unorm_description; case VK_FORMAT_R16G16_SNORM: return &vk_format_r16g16_snorm_description; case VK_FORMAT_R16G16_USCALED: return &vk_format_r16g16_uscaled_description; case VK_FORMAT_R16G16_SSCALED: return &vk_format_r16g16_sscaled_description; case VK_FORMAT_R16G16_UINT: return &vk_format_r16g16_uint_description; case VK_FORMAT_R16G16_SINT: return &vk_format_r16g16_sint_description; case VK_FORMAT_R16G16_SFLOAT: return &vk_format_r16g16_sfloat_description; case VK_FORMAT_R16G16B16_UNORM: return &vk_format_r16g16b16_unorm_description; case VK_FORMAT_R16G16B16_SNORM: return &vk_format_r16g16b16_snorm_description; case VK_FORMAT_R16G16B16_USCALED: return &vk_format_r16g16b16_uscaled_description; case VK_FORMAT_R16G16B16_SSCALED: return &vk_format_r16g16b16_sscaled_description; case VK_FORMAT_R16G16B16_UINT: return &vk_format_r16g16b16_uint_description; case VK_FORMAT_R16G16B16_SINT: return &vk_format_r16g16b16_sint_description; case VK_FORMAT_R16G16B16_SFLOAT: return &vk_format_r16g16b16_sfloat_description; case VK_FORMAT_R16G16B16A16_UNORM: return &vk_format_r16g16b16a16_unorm_description; case VK_FORMAT_R16G16B16A16_SNORM: return &vk_format_r16g16b16a16_snorm_description; case VK_FORMAT_R16G16B16A16_USCALED: return &vk_format_r16g16b16a16_uscaled_description; case VK_FORMAT_R16G16B16A16_SSCALED: return &vk_format_r16g16b16a16_sscaled_description; case VK_FORMAT_R16G16B16A16_UINT: return &vk_format_r16g16b16a16_uint_description; case VK_FORMAT_R16G16B16A16_SINT: return &vk_format_r16g16b16a16_sint_description; case VK_FORMAT_R16G16B16A16_SFLOAT: return &vk_format_r16g16b16a16_sfloat_description; case VK_FORMAT_R32_UINT: return &vk_format_r32_uint_description; case VK_FORMAT_R32_SINT: return &vk_format_r32_sint_description; case VK_FORMAT_R32_SFLOAT: return &vk_format_r32_sfloat_description; case VK_FORMAT_R32G32_UINT: return &vk_format_r32g32_uint_description; case VK_FORMAT_R32G32_SINT: return &vk_format_r32g32_sint_description; case VK_FORMAT_R32G32_SFLOAT: return &vk_format_r32g32_sfloat_description; case VK_FORMAT_R32G32B32_UINT: return &vk_format_r32g32b32_uint_description; case VK_FORMAT_R32G32B32_SINT: return &vk_format_r32g32b32_sint_description; case VK_FORMAT_R32G32B32_SFLOAT: return &vk_format_r32g32b32_sfloat_description; case VK_FORMAT_R32G32B32A32_UINT: return &vk_format_r32g32b32a32_uint_description; case VK_FORMAT_R32G32B32A32_SINT: return &vk_format_r32g32b32a32_sint_description; case VK_FORMAT_R32G32B32A32_SFLOAT: return &vk_format_r32g32b32a32_sfloat_description; case VK_FORMAT_R64_UINT: return &vk_format_r64_uint_description; case VK_FORMAT_R64_SINT: return &vk_format_r64_sint_description; case VK_FORMAT_R64_SFLOAT: return &vk_format_r64_sfloat_description; case VK_FORMAT_R64G64_UINT: return &vk_format_r64g64_uint_description; case VK_FORMAT_R64G64_SINT: return &vk_format_r64g64_sint_description; case VK_FORMAT_R64G64_SFLOAT: return &vk_format_r64g64_sfloat_description; case VK_FORMAT_R64G64B64_UINT: return &vk_format_r64g64b64_uint_description; case VK_FORMAT_R64G64B64_SINT: return &vk_format_r64g64b64_sint_description; case VK_FORMAT_R64G64B64_SFLOAT: return &vk_format_r64g64b64_sfloat_description; case VK_FORMAT_R64G64B64A64_UINT: return &vk_format_r64g64b64a64_uint_description; case VK_FORMAT_R64G64B64A64_SINT: return &vk_format_r64g64b64a64_sint_description; case VK_FORMAT_R64G64B64A64_SFLOAT: return &vk_format_r64g64b64a64_sfloat_description; case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return &vk_format_b10g11r11_ufloat_pack32_description; case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return &vk_format_e5b9g9r9_ufloat_pack32_description; case VK_FORMAT_D16_UNORM: return &vk_format_d16_unorm_description; case VK_FORMAT_X8_D24_UNORM_PACK32: return &vk_format_x8_d24_unorm_pack32_description; case VK_FORMAT_D32_SFLOAT: return &vk_format_d32_sfloat_description; case VK_FORMAT_S8_UINT: return &vk_format_s8_uint_description; case VK_FORMAT_D16_UNORM_S8_UINT: return &vk_format_d16_unorm_s8_uint_description; case VK_FORMAT_D24_UNORM_S8_UINT: return &vk_format_d24_unorm_s8_uint_description; case VK_FORMAT_D32_SFLOAT_S8_UINT: return &vk_format_d32_sfloat_s8_uint_description; case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return &vk_format_bc1_rgb_unorm_block_description; case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return &vk_format_bc1_rgb_srgb_block_description; case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return &vk_format_bc1_rgba_unorm_block_description; case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return &vk_format_bc1_rgba_srgb_block_description; case VK_FORMAT_BC2_UNORM_BLOCK: return &vk_format_bc2_unorm_block_description; case VK_FORMAT_BC2_SRGB_BLOCK: return &vk_format_bc2_srgb_block_description; case VK_FORMAT_BC3_UNORM_BLOCK: return &vk_format_bc3_unorm_block_description; case VK_FORMAT_BC3_SRGB_BLOCK: return &vk_format_bc3_srgb_block_description; case VK_FORMAT_BC4_UNORM_BLOCK: return &vk_format_bc4_unorm_block_description; case VK_FORMAT_BC4_SNORM_BLOCK: return &vk_format_bc4_snorm_block_description; case VK_FORMAT_BC5_UNORM_BLOCK: return &vk_format_bc5_unorm_block_description; case VK_FORMAT_BC5_SNORM_BLOCK: return &vk_format_bc5_snorm_block_description; case VK_FORMAT_BC6H_UFLOAT_BLOCK: return &vk_format_bc6h_ufloat_block_description; case VK_FORMAT_BC6H_SFLOAT_BLOCK: return &vk_format_bc6h_sfloat_block_description; case VK_FORMAT_BC7_UNORM_BLOCK: return &vk_format_bc7_unorm_block_description; case VK_FORMAT_BC7_SRGB_BLOCK: return &vk_format_bc7_srgb_block_description; case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return &vk_format_etc2_r8g8b8_unorm_block_description; case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return &vk_format_etc2_r8g8b8_srgb_block_description; case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return &vk_format_etc2_r8g8b8a1_unorm_block_description; case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return &vk_format_etc2_r8g8b8a1_srgb_block_description; case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return &vk_format_etc2_r8g8b8a8_unorm_block_description; case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return &vk_format_etc2_r8g8b8a8_srgb_block_description; case VK_FORMAT_EAC_R11_UNORM_BLOCK: return &vk_format_eac_r11_unorm_block_description; case VK_FORMAT_EAC_R11_SNORM_BLOCK: return &vk_format_eac_r11_snorm_block_description; case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return &vk_format_eac_r11g11_unorm_block_description; case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return &vk_format_eac_r11g11_snorm_block_description; default: return NULL; } }