/* This file is autogenerated by u_format_table.py from u_format.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 "pipe/p_compiler.h" #include "u_format.h" #include "u_half.h" #include "u_math.h" const struct util_format_description util_format_none_description = { PIPE_FORMAT_NONE, "PIPE_FORMAT_NONE", "none", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b8g8r8a8_unorm_description = { PIPE_FORMAT_B8G8R8A8_UNORM, "PIPE_FORMAT_B8G8R8A8_UNORM", "b8g8r8a8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b8g8r8x8_unorm_description = { PIPE_FORMAT_B8G8R8X8_UNORM, "PIPE_FORMAT_B8G8R8X8_UNORM", "b8g8r8x8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8r8g8b8_unorm_description = { PIPE_FORMAT_A8R8G8B8_UNORM, "PIPE_FORMAT_A8R8G8B8_UNORM", "a8r8g8b8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = b */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_x8r8g8b8_unorm_description = { PIPE_FORMAT_X8R8G8B8_UNORM, "PIPE_FORMAT_X8R8G8B8_UNORM", "x8r8g8b8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = b */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8b8g8r8_unorm_description = { PIPE_FORMAT_A8B8G8R8_UNORM, "PIPE_FORMAT_A8B8G8R8_UNORM", "a8b8g8r8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_x8b8g8r8_unorm_description = { PIPE_FORMAT_X8B8G8R8_UNORM, "PIPE_FORMAT_X8B8G8R8_UNORM", "x8b8g8r8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8x8_unorm_description = { PIPE_FORMAT_R8G8B8X8_UNORM, "PIPE_FORMAT_R8G8B8X8_UNORM", "r8g8b8x8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b5g5r5x1_unorm_description = { PIPE_FORMAT_B5G5R5X1_UNORM, "PIPE_FORMAT_B5G5R5X1_UNORM", "b5g5r5x1_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 1, 15}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 10}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 5}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 10}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 1, 15} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b5g5r5a1_unorm_description = { PIPE_FORMAT_B5G5R5A1_UNORM, "PIPE_FORMAT_B5G5R5A1_UNORM", "b5g5r5a1_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 1, 15}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 10}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 5}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 10}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 1, 15} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b4g4r4a4_unorm_description = { PIPE_FORMAT_B4G4R4A4_UNORM, "PIPE_FORMAT_B4G4R4A4_UNORM", "b4g4r4a4_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 12}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 12} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b4g4r4x4_unorm_description = { PIPE_FORMAT_B4G4R4X4_UNORM, "PIPE_FORMAT_B4G4R4X4_UNORM", "b4g4r4x4_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 4, 12}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 4, 12} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a4b4g4r4_unorm_description = { PIPE_FORMAT_A4B4G4R4_UNORM, "PIPE_FORMAT_A4B4G4R4_UNORM", "a4b4g4r4_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 12}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 12} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b5g6r5_unorm_description = { PIPE_FORMAT_B5G6R5_UNORM, "PIPE_FORMAT_B5G6R5_UNORM", "b5g6r5_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 11}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 11}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10a2_unorm_description = { PIPE_FORMAT_R10G10B10A2_UNORM, "PIPE_FORMAT_R10G10B10A2_UNORM", "r10g10b10a2_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10x2_unorm_description = { PIPE_FORMAT_R10G10B10X2_UNORM, "PIPE_FORMAT_R10G10B10X2_UNORM", "r10g10b10x2_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10a2_unorm_description = { PIPE_FORMAT_B10G10R10A2_UNORM, "PIPE_FORMAT_B10G10R10A2_UNORM", "b10g10r10a2_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b2g3r3_unorm_description = { PIPE_FORMAT_B2G3R3_UNORM, "PIPE_FORMAT_B2G3R3_UNORM", "b2g3r3_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 3, 5}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 3, 2}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 3, 2}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 3, 5}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8_unorm_description = { PIPE_FORMAT_L8_UNORM, "PIPE_FORMAT_L8_UNORM", "l8_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8_unorm_description = { PIPE_FORMAT_A8_UNORM, "PIPE_FORMAT_A8_UNORM", "a8_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i8_unorm_description = { PIPE_FORMAT_I8_UNORM, "PIPE_FORMAT_I8_UNORM", "i8_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l4a4_unorm_description = { PIPE_FORMAT_L4A4_UNORM, "PIPE_FORMAT_L4A4_UNORM", "l4a4_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8a8_unorm_description = { PIPE_FORMAT_L8A8_UNORM, "PIPE_FORMAT_L8A8_UNORM", "l8a8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16_unorm_description = { PIPE_FORMAT_L16_UNORM, "PIPE_FORMAT_L16_UNORM", "l16_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a16_unorm_description = { PIPE_FORMAT_A16_UNORM, "PIPE_FORMAT_A16_UNORM", "a16_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i16_unorm_description = { PIPE_FORMAT_I16_UNORM, "PIPE_FORMAT_I16_UNORM", "i16_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16a16_unorm_description = { PIPE_FORMAT_L16A16_UNORM, "PIPE_FORMAT_L16A16_UNORM", "l16a16_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8_snorm_description = { PIPE_FORMAT_A8_SNORM, "PIPE_FORMAT_A8_SNORM", "a8_snorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8_snorm_description = { PIPE_FORMAT_L8_SNORM, "PIPE_FORMAT_L8_SNORM", "l8_snorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8a8_snorm_description = { PIPE_FORMAT_L8A8_SNORM, "PIPE_FORMAT_L8A8_SNORM", "l8a8_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i8_snorm_description = { PIPE_FORMAT_I8_SNORM, "PIPE_FORMAT_I8_SNORM", "i8_snorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a16_snorm_description = { PIPE_FORMAT_A16_SNORM, "PIPE_FORMAT_A16_SNORM", "a16_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16_snorm_description = { PIPE_FORMAT_L16_SNORM, "PIPE_FORMAT_L16_SNORM", "l16_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16a16_snorm_description = { PIPE_FORMAT_L16A16_SNORM, "PIPE_FORMAT_L16A16_SNORM", "l16a16_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i16_snorm_description = { PIPE_FORMAT_I16_SNORM, "PIPE_FORMAT_I16_SNORM", "i16_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a16_float_description = { PIPE_FORMAT_A16_FLOAT, "PIPE_FORMAT_A16_FLOAT", "a16_float", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16_float_description = { PIPE_FORMAT_L16_FLOAT, "PIPE_FORMAT_L16_FLOAT", "l16_float", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16a16_float_description = { PIPE_FORMAT_L16A16_FLOAT, "PIPE_FORMAT_L16A16_FLOAT", "l16a16_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* x = rgb */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i16_float_description = { PIPE_FORMAT_I16_FLOAT, "PIPE_FORMAT_I16_FLOAT", "i16_float", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a32_float_description = { PIPE_FORMAT_A32_FLOAT, "PIPE_FORMAT_A32_FLOAT", "a32_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32_float_description = { PIPE_FORMAT_L32_FLOAT, "PIPE_FORMAT_L32_FLOAT", "l32_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32a32_float_description = { PIPE_FORMAT_L32A32_FLOAT, "PIPE_FORMAT_L32A32_FLOAT", "l32a32_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* x = rgb */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i32_float_description = { PIPE_FORMAT_I32_FLOAT, "PIPE_FORMAT_I32_FLOAT", "i32_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8_srgb_description = { PIPE_FORMAT_L8_SRGB, "PIPE_FORMAT_L8_SRGB", "l8_srgb", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_X, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_r8_srgb_description = { PIPE_FORMAT_R8_SRGB, "PIPE_FORMAT_R8_SRGB", "r8_srgb", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_0, /* sg */ UTIL_FORMAT_SWIZZLE_0, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_l8a8_srgb_description = { PIPE_FORMAT_L8A8_SRGB, "PIPE_FORMAT_L8A8_SRGB", "l8a8_srgb", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_X, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_X, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_r8g8b8_srgb_description = { PIPE_FORMAT_R8G8B8_SRGB, "PIPE_FORMAT_R8G8B8_SRGB", "r8g8b8_srgb", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_r8g8b8a8_srgb_description = { PIPE_FORMAT_R8G8B8A8_SRGB, "PIPE_FORMAT_R8G8B8A8_SRGB", "r8g8b8a8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_a8b8g8r8_srgb_description = { PIPE_FORMAT_A8B8G8R8_SRGB, "PIPE_FORMAT_A8B8G8R8_SRGB", "a8b8g8r8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_x8b8g8r8_srgb_description = { PIPE_FORMAT_X8B8G8R8_SRGB, "PIPE_FORMAT_X8B8G8R8_SRGB", "x8b8g8r8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_b8g8r8a8_srgb_description = { PIPE_FORMAT_B8G8R8A8_SRGB, "PIPE_FORMAT_B8G8R8A8_SRGB", "b8g8r8a8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Z, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_b8g8r8x8_srgb_description = { PIPE_FORMAT_B8G8R8X8_SRGB, "PIPE_FORMAT_B8G8R8X8_SRGB", "b8g8r8x8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Z, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_a8r8g8b8_srgb_description = { PIPE_FORMAT_A8R8G8B8_SRGB, "PIPE_FORMAT_A8R8G8B8_SRGB", "a8r8g8b8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = b */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_W, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_W, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_x8r8g8b8_srgb_description = { PIPE_FORMAT_X8R8G8B8_SRGB, "PIPE_FORMAT_X8R8G8B8_SRGB", "x8r8g8b8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = b */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_W, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Z, /* sg */ UTIL_FORMAT_SWIZZLE_W, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_r8sg8sb8ux8u_norm_description = { PIPE_FORMAT_R8SG8SB8UX8U_NORM, "PIPE_FORMAT_R8SG8SB8UX8U_NORM", "r8sg8sb8ux8u_norm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10sg10sb10sa2u_norm_description = { PIPE_FORMAT_R10SG10SB10SA2U_NORM, "PIPE_FORMAT_R10SG10SB10SA2U_NORM", "r10sg10sb10sa2u_norm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r5sg5sb6u_norm_description = { PIPE_FORMAT_R5SG5SB6U_NORM, "PIPE_FORMAT_R5SG5SB6U_NORM", "r5sg5sb6u_norm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 10}, /* x = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 5, 5}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 5, 0}, /* z = r */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 5, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 5, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 10}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_s8_uint_description = { PIPE_FORMAT_S8_UINT, "PIPE_FORMAT_S8_UINT", "s8_uint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_X, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z16_unorm_description = { PIPE_FORMAT_Z16_UNORM, "PIPE_FORMAT_Z16_UNORM", "z16_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z32_unorm_description = { PIPE_FORMAT_Z32_UNORM, "PIPE_FORMAT_Z32_UNORM", "z32_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* x = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z32_float_description = { PIPE_FORMAT_Z32_FLOAT, "PIPE_FORMAT_Z32_FLOAT", "z32_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z24_unorm_s8_uint_description = { PIPE_FORMAT_Z24_UNORM_S8_UINT, "PIPE_FORMAT_Z24_UNORM_S8_UINT", "z24_unorm_s8_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* x = s */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 0}, /* y = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 0}, /* x = z */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* z */ UTIL_FORMAT_SWIZZLE_X, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_s8_uint_z24_unorm_description = { PIPE_FORMAT_S8_UINT_Z24_UNORM, "PIPE_FORMAT_S8_UINT_Z24_UNORM", "s8_uint_z24_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 8}, /* x = z */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = s */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 8}, /* y = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* z */ UTIL_FORMAT_SWIZZLE_X, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_x24s8_uint_description = { PIPE_FORMAT_X24S8_UINT, "PIPE_FORMAT_X24S8_UINT", "x24s8_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* x = s */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 0}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_X, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_s8x24_uint_description = { PIPE_FORMAT_S8X24_UINT, "PIPE_FORMAT_S8X24_UINT", "s8x24_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 8}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* y = s */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = s */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 8}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_X, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z24x8_unorm_description = { PIPE_FORMAT_Z24X8_UNORM, "PIPE_FORMAT_Z24X8_UNORM", "z24x8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 0}, /* y = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 0}, /* x = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_x8z24_unorm_description = { PIPE_FORMAT_X8Z24_UNORM, "PIPE_FORMAT_X8Z24_UNORM", "x8z24_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 8}, /* x = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* y = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 24, 8}, /* y = z */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* z */ UTIL_FORMAT_SWIZZLE_NONE, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_z32_float_s8x24_uint_description = { PIPE_FORMAT_Z32_FLOAT_S8X24_UINT, "PIPE_FORMAT_Z32_FLOAT_S8X24_UINT", "z32_float_s8x24_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ TRUE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* x = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 8}, /* y = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* z = s */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = z */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 32}, /* y = s */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 40}, /* z = x */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_Z, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_x32_s8x24_uint_description = { PIPE_FORMAT_X32_S8X24_UINT, "PIPE_FORMAT_X32_S8X24_UINT", "x32_s8x24_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 32}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 8}, /* y = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* z = s */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 32}, /* y = s */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 24, 40}, /* z = x */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_Z, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_NONE, /* z */ UTIL_FORMAT_SWIZZLE_Y, /* s */ UTIL_FORMAT_SWIZZLE_NONE, /* ignored */ UTIL_FORMAT_SWIZZLE_NONE /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_ZS, }; const struct util_format_description util_format_uyvy_description = { PIPE_FORMAT_UYVY, "PIPE_FORMAT_UYVY", "uyvy", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_1 /* ignored */ }, UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_yuyv_description = { PIPE_FORMAT_YUYV, "PIPE_FORMAT_YUYV", "yuyv", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_1 /* ignored */ }, UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_r8g8_b8g8_unorm_description = { PIPE_FORMAT_R8G8_B8G8_UNORM, "PIPE_FORMAT_R8G8_B8G8_UNORM", "r8g8_b8g8_unorm", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g8r8_g8b8_unorm_description = { PIPE_FORMAT_G8R8_G8B8_UNORM, "PIPE_FORMAT_G8R8_G8B8_UNORM", "g8r8_g8b8_unorm", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g8r8_b8r8_unorm_description = { PIPE_FORMAT_G8R8_B8R8_UNORM, "PIPE_FORMAT_G8R8_B8R8_UNORM", "g8r8_b8r8_unorm", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_r8b8_unorm_description = { PIPE_FORMAT_R8G8_R8B8_UNORM, "PIPE_FORMAT_R8G8_R8B8_UNORM", "r8g8_r8b8_unorm", {2, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_SUBSAMPLED, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r11g11b10_float_description = { PIPE_FORMAT_R11G11B10_FLOAT, "PIPE_FORMAT_R11G11B10_FLOAT", "r11g11b10_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r9g9b9e5_float_description = { PIPE_FORMAT_R9G9B9E5_FLOAT, "PIPE_FORMAT_R9G9B9E5_FLOAT", "r9g9b9e5_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r1_unorm_description = { PIPE_FORMAT_R1_UNORM, "PIPE_FORMAT_R1_UNORM", "r1_unorm", {8, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8bx_snorm_description = { PIPE_FORMAT_R8G8Bx_SNORM, "PIPE_FORMAT_R8G8Bx_SNORM", "r8g8bx_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 2, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = x */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = y */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = y */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_dxt1_rgb_description = { PIPE_FORMAT_DXT1_RGB, "PIPE_FORMAT_DXT1_RGB", "dxt1_rgb", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_dxt1_rgba_description = { PIPE_FORMAT_DXT1_RGBA, "PIPE_FORMAT_DXT1_RGBA", "dxt1_rgba", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_dxt3_rgba_description = { PIPE_FORMAT_DXT3_RGBA, "PIPE_FORMAT_DXT3_RGBA", "dxt3_rgba", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_dxt5_rgba_description = { PIPE_FORMAT_DXT5_RGBA, "PIPE_FORMAT_DXT5_RGBA", "dxt5_rgba", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_dxt1_srgb_description = { PIPE_FORMAT_DXT1_SRGB, "PIPE_FORMAT_DXT1_SRGB", "dxt1_srgb", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_dxt1_srgba_description = { PIPE_FORMAT_DXT1_SRGBA, "PIPE_FORMAT_DXT1_SRGBA", "dxt1_srgba", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_dxt3_srgba_description = { PIPE_FORMAT_DXT3_SRGBA, "PIPE_FORMAT_DXT3_SRGBA", "dxt3_srgba", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_dxt5_srgba_description = { PIPE_FORMAT_DXT5_SRGBA, "PIPE_FORMAT_DXT5_SRGBA", "dxt5_srgba", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_S3TC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_rgtc1_unorm_description = { PIPE_FORMAT_RGTC1_UNORM, "PIPE_FORMAT_RGTC1_UNORM", "rgtc1_unorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_rgtc1_snorm_description = { PIPE_FORMAT_RGTC1_SNORM, "PIPE_FORMAT_RGTC1_SNORM", "rgtc1_snorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_rgtc2_unorm_description = { PIPE_FORMAT_RGTC2_UNORM, "PIPE_FORMAT_RGTC2_UNORM", "rgtc2_unorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_rgtc2_snorm_description = { PIPE_FORMAT_RGTC2_SNORM, "PIPE_FORMAT_RGTC2_SNORM", "rgtc2_snorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_latc1_unorm_description = { PIPE_FORMAT_LATC1_UNORM, "PIPE_FORMAT_LATC1_UNORM", "latc1_unorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_latc1_snorm_description = { PIPE_FORMAT_LATC1_SNORM, "PIPE_FORMAT_LATC1_SNORM", "latc1_snorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_latc2_unorm_description = { PIPE_FORMAT_LATC2_UNORM, "PIPE_FORMAT_LATC2_UNORM", "latc2_unorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_latc2_snorm_description = { PIPE_FORMAT_LATC2_SNORM, "PIPE_FORMAT_LATC2_SNORM", "latc2_snorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_RGTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc1_rgb8_description = { PIPE_FORMAT_ETC1_RGB8, "PIPE_FORMAT_ETC1_RGB8", "etc1_rgb8", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_bptc_rgba_unorm_description = { PIPE_FORMAT_BPTC_RGBA_UNORM, "PIPE_FORMAT_BPTC_RGBA_UNORM", "bptc_rgba_unorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_bptc_srgba_description = { PIPE_FORMAT_BPTC_SRGBA, "PIPE_FORMAT_BPTC_SRGBA", "bptc_srgba", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_bptc_rgb_float_description = { PIPE_FORMAT_BPTC_RGB_FLOAT, "PIPE_FORMAT_BPTC_RGB_FLOAT", "bptc_rgb_float", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_bptc_rgb_ufloat_description = { PIPE_FORMAT_BPTC_RGB_UFLOAT, "PIPE_FORMAT_BPTC_RGB_UFLOAT", "bptc_rgb_ufloat", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_BPTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r64_float_description = { PIPE_FORMAT_R64_FLOAT, "PIPE_FORMAT_R64_FLOAT", "r64_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r64g64_float_description = { PIPE_FORMAT_R64G64_FLOAT, "PIPE_FORMAT_R64G64_FLOAT", "r64g64_float", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r64g64b64_float_description = { PIPE_FORMAT_R64G64B64_FLOAT, "PIPE_FORMAT_R64G64B64_FLOAT", "r64g64b64_float", {1, 1, 192}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 128}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 128}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r64g64b64a64_float_description = { PIPE_FORMAT_R64G64B64A64_FLOAT, "PIPE_FORMAT_R64G64B64A64_FLOAT", "r64g64b64a64_float", {1, 1, 256}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 192}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 128}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 128}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 64, 192} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_float_description = { PIPE_FORMAT_R32_FLOAT, "PIPE_FORMAT_R32_FLOAT", "r32_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_float_description = { PIPE_FORMAT_R32G32_FLOAT, "PIPE_FORMAT_R32G32_FLOAT", "r32g32_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_float_description = { PIPE_FORMAT_R32G32B32_FLOAT, "PIPE_FORMAT_R32G32B32_FLOAT", "r32g32b32_float", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_float_description = { PIPE_FORMAT_R32G32B32A32_FLOAT, "PIPE_FORMAT_R32G32B32A32_FLOAT", "r32g32b32a32_float", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_unorm_description = { PIPE_FORMAT_R32_UNORM, "PIPE_FORMAT_R32_UNORM", "r32_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_unorm_description = { PIPE_FORMAT_R32G32_UNORM, "PIPE_FORMAT_R32G32_UNORM", "r32g32_unorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_unorm_description = { PIPE_FORMAT_R32G32B32_UNORM, "PIPE_FORMAT_R32G32B32_UNORM", "r32g32b32_unorm", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_unorm_description = { PIPE_FORMAT_R32G32B32A32_UNORM, "PIPE_FORMAT_R32G32B32A32_UNORM", "r32g32b32a32_unorm", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_uscaled_description = { PIPE_FORMAT_R32_USCALED, "PIPE_FORMAT_R32_USCALED", "r32_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_uscaled_description = { PIPE_FORMAT_R32G32_USCALED, "PIPE_FORMAT_R32G32_USCALED", "r32g32_uscaled", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_uscaled_description = { PIPE_FORMAT_R32G32B32_USCALED, "PIPE_FORMAT_R32G32B32_USCALED", "r32g32b32_uscaled", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_uscaled_description = { PIPE_FORMAT_R32G32B32A32_USCALED, "PIPE_FORMAT_R32G32B32A32_USCALED", "r32g32b32a32_uscaled", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_snorm_description = { PIPE_FORMAT_R32_SNORM, "PIPE_FORMAT_R32_SNORM", "r32_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_snorm_description = { PIPE_FORMAT_R32G32_SNORM, "PIPE_FORMAT_R32G32_SNORM", "r32g32_snorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_snorm_description = { PIPE_FORMAT_R32G32B32_SNORM, "PIPE_FORMAT_R32G32B32_SNORM", "r32g32b32_snorm", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_snorm_description = { PIPE_FORMAT_R32G32B32A32_SNORM, "PIPE_FORMAT_R32G32B32A32_SNORM", "r32g32b32a32_snorm", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_sscaled_description = { PIPE_FORMAT_R32_SSCALED, "PIPE_FORMAT_R32_SSCALED", "r32_sscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_sscaled_description = { PIPE_FORMAT_R32G32_SSCALED, "PIPE_FORMAT_R32G32_SSCALED", "r32g32_sscaled", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_sscaled_description = { PIPE_FORMAT_R32G32B32_SSCALED, "PIPE_FORMAT_R32G32B32_SSCALED", "r32g32b32_sscaled", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_sscaled_description = { PIPE_FORMAT_R32G32B32A32_SSCALED, "PIPE_FORMAT_R32G32B32A32_SSCALED", "r32g32b32a32_sscaled", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_float_description = { PIPE_FORMAT_R16_FLOAT, "PIPE_FORMAT_R16_FLOAT", "r16_float", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_float_description = { PIPE_FORMAT_R16G16_FLOAT, "PIPE_FORMAT_R16G16_FLOAT", "r16g16_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_float_description = { PIPE_FORMAT_R16G16B16_FLOAT, "PIPE_FORMAT_R16G16B16_FLOAT", "r16g16b16_float", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_float_description = { PIPE_FORMAT_R16G16B16A16_FLOAT, "PIPE_FORMAT_R16G16B16A16_FLOAT", "r16g16b16a16_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_unorm_description = { PIPE_FORMAT_R16_UNORM, "PIPE_FORMAT_R16_UNORM", "r16_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_unorm_description = { PIPE_FORMAT_R16G16_UNORM, "PIPE_FORMAT_R16G16_UNORM", "r16g16_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_unorm_description = { PIPE_FORMAT_R16G16B16_UNORM, "PIPE_FORMAT_R16G16B16_UNORM", "r16g16b16_unorm", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_unorm_description = { PIPE_FORMAT_R16G16B16A16_UNORM, "PIPE_FORMAT_R16G16B16A16_UNORM", "r16g16b16a16_unorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_uscaled_description = { PIPE_FORMAT_R16_USCALED, "PIPE_FORMAT_R16_USCALED", "r16_uscaled", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_uscaled_description = { PIPE_FORMAT_R16G16_USCALED, "PIPE_FORMAT_R16G16_USCALED", "r16g16_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_uscaled_description = { PIPE_FORMAT_R16G16B16_USCALED, "PIPE_FORMAT_R16G16B16_USCALED", "r16g16b16_uscaled", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_uscaled_description = { PIPE_FORMAT_R16G16B16A16_USCALED, "PIPE_FORMAT_R16G16B16A16_USCALED", "r16g16b16a16_uscaled", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_snorm_description = { PIPE_FORMAT_R16_SNORM, "PIPE_FORMAT_R16_SNORM", "r16_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_snorm_description = { PIPE_FORMAT_R16G16_SNORM, "PIPE_FORMAT_R16G16_SNORM", "r16g16_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_snorm_description = { PIPE_FORMAT_R16G16B16_SNORM, "PIPE_FORMAT_R16G16B16_SNORM", "r16g16b16_snorm", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_snorm_description = { PIPE_FORMAT_R16G16B16A16_SNORM, "PIPE_FORMAT_R16G16B16A16_SNORM", "r16g16b16a16_snorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_sscaled_description = { PIPE_FORMAT_R16_SSCALED, "PIPE_FORMAT_R16_SSCALED", "r16_sscaled", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_sscaled_description = { PIPE_FORMAT_R16G16_SSCALED, "PIPE_FORMAT_R16G16_SSCALED", "r16g16_sscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_sscaled_description = { PIPE_FORMAT_R16G16B16_SSCALED, "PIPE_FORMAT_R16G16B16_SSCALED", "r16g16b16_sscaled", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_sscaled_description = { PIPE_FORMAT_R16G16B16A16_SSCALED, "PIPE_FORMAT_R16G16B16A16_SSCALED", "r16g16b16a16_sscaled", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_unorm_description = { PIPE_FORMAT_R8_UNORM, "PIPE_FORMAT_R8_UNORM", "r8_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_unorm_description = { PIPE_FORMAT_R8G8_UNORM, "PIPE_FORMAT_R8G8_UNORM", "r8g8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_unorm_description = { PIPE_FORMAT_R8G8B8_UNORM, "PIPE_FORMAT_R8G8B8_UNORM", "r8g8b8_unorm", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_unorm_description = { PIPE_FORMAT_R8G8B8A8_UNORM, "PIPE_FORMAT_R8G8B8A8_UNORM", "r8g8b8a8_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_uscaled_description = { PIPE_FORMAT_R8_USCALED, "PIPE_FORMAT_R8_USCALED", "r8_uscaled", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_uscaled_description = { PIPE_FORMAT_R8G8_USCALED, "PIPE_FORMAT_R8G8_USCALED", "r8g8_uscaled", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_uscaled_description = { PIPE_FORMAT_R8G8B8_USCALED, "PIPE_FORMAT_R8G8B8_USCALED", "r8g8b8_uscaled", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_uscaled_description = { PIPE_FORMAT_R8G8B8A8_USCALED, "PIPE_FORMAT_R8G8B8A8_USCALED", "r8g8b8a8_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_snorm_description = { PIPE_FORMAT_R8_SNORM, "PIPE_FORMAT_R8_SNORM", "r8_snorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_snorm_description = { PIPE_FORMAT_R8G8_SNORM, "PIPE_FORMAT_R8G8_SNORM", "r8g8_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_snorm_description = { PIPE_FORMAT_R8G8B8_SNORM, "PIPE_FORMAT_R8G8B8_SNORM", "r8g8b8_snorm", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_snorm_description = { PIPE_FORMAT_R8G8B8A8_SNORM, "PIPE_FORMAT_R8G8B8A8_SNORM", "r8g8b8a8_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_sscaled_description = { PIPE_FORMAT_R8_SSCALED, "PIPE_FORMAT_R8_SSCALED", "r8_sscaled", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_sscaled_description = { PIPE_FORMAT_R8G8_SSCALED, "PIPE_FORMAT_R8G8_SSCALED", "r8g8_sscaled", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_sscaled_description = { PIPE_FORMAT_R8G8B8_SSCALED, "PIPE_FORMAT_R8G8B8_SSCALED", "r8g8b8_sscaled", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_sscaled_description = { PIPE_FORMAT_R8G8B8A8_SSCALED, "PIPE_FORMAT_R8G8B8A8_SSCALED", "r8g8b8a8_sscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_fixed_description = { PIPE_FORMAT_R32_FIXED, "PIPE_FORMAT_R32_FIXED", "r32_fixed", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_fixed_description = { PIPE_FORMAT_R32G32_FIXED, "PIPE_FORMAT_R32G32_FIXED", "r32g32_fixed", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_fixed_description = { PIPE_FORMAT_R32G32B32_FIXED, "PIPE_FORMAT_R32G32B32_FIXED", "r32g32b32_fixed", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_fixed_description = { PIPE_FORMAT_R32G32B32A32_FIXED, "PIPE_FORMAT_R32G32B32A32_FIXED", "r32g32b32a32_fixed", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_FIXED, FALSE, FALSE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10x2_uscaled_description = { PIPE_FORMAT_R10G10B10X2_USCALED, "PIPE_FORMAT_R10G10B10X2_USCALED", "r10g10b10x2_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10x2_snorm_description = { PIPE_FORMAT_R10G10B10X2_SNORM, "PIPE_FORMAT_R10G10B10X2_SNORM", "r10g10b10x2_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30}, /* x = x */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_yv12_description = { PIPE_FORMAT_YV12, "PIPE_FORMAT_YV12", "yv12", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 4, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = w */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = w */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_yv16_description = { PIPE_FORMAT_YV16, "PIPE_FORMAT_YV16", "yv16", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 4, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = w */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = w */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_iyuv_description = { PIPE_FORMAT_IYUV, "PIPE_FORMAT_IYUV", "iyuv", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 4, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = w */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = w */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_nv12_description = { PIPE_FORMAT_NV12, "PIPE_FORMAT_NV12", "nv12", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 4, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = w */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = w */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_nv21_description = { PIPE_FORMAT_NV21, "PIPE_FORMAT_NV21", "nv21", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_OTHER, 4, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = w */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 8}, /* y = y */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 16}, /* z = z */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = w */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* y */ UTIL_FORMAT_SWIZZLE_Y, /* u */ UTIL_FORMAT_SWIZZLE_Z, /* v */ UTIL_FORMAT_SWIZZLE_W /* ignored */ }, #endif UTIL_FORMAT_COLORSPACE_YUV, }; const struct util_format_description util_format_a4r4_unorm_description = { PIPE_FORMAT_A4R4_UNORM, "PIPE_FORMAT_A4R4_UNORM", "a4r4_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r4a4_unorm_description = { PIPE_FORMAT_R4A4_UNORM, "PIPE_FORMAT_R4A4_UNORM", "r4a4_unorm", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 4, 4}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8a8_unorm_description = { PIPE_FORMAT_R8A8_UNORM, "PIPE_FORMAT_R8A8_UNORM", "r8a8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8r8_unorm_description = { PIPE_FORMAT_A8R8_UNORM, "PIPE_FORMAT_A8R8_UNORM", "a8r8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10a2_uscaled_description = { PIPE_FORMAT_R10G10B10A2_USCALED, "PIPE_FORMAT_R10G10B10A2_USCALED", "r10g10b10a2_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10a2_sscaled_description = { PIPE_FORMAT_R10G10B10A2_SSCALED, "PIPE_FORMAT_R10G10B10A2_SSCALED", "r10g10b10a2_sscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10a2_snorm_description = { PIPE_FORMAT_R10G10B10A2_SNORM, "PIPE_FORMAT_R10G10B10A2_SNORM", "r10g10b10a2_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10a2_uscaled_description = { PIPE_FORMAT_B10G10R10A2_USCALED, "PIPE_FORMAT_B10G10R10A2_USCALED", "b10g10r10a2_uscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10a2_sscaled_description = { PIPE_FORMAT_B10G10R10A2_SSCALED, "PIPE_FORMAT_B10G10R10A2_SSCALED", "b10g10r10a2_sscaled", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10a2_snorm_description = { PIPE_FORMAT_B10G10R10A2_SNORM, "PIPE_FORMAT_B10G10R10A2_SNORM", "b10g10r10a2_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_uint_description = { PIPE_FORMAT_R8_UINT, "PIPE_FORMAT_R8_UINT", "r8_uint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_uint_description = { PIPE_FORMAT_R8G8_UINT, "PIPE_FORMAT_R8G8_UINT", "r8g8_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_uint_description = { PIPE_FORMAT_R8G8B8_UINT, "PIPE_FORMAT_R8G8B8_UINT", "r8g8b8_uint", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_uint_description = { PIPE_FORMAT_R8G8B8A8_UINT, "PIPE_FORMAT_R8G8B8A8_UINT", "r8g8b8a8_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8_sint_description = { PIPE_FORMAT_R8_SINT, "PIPE_FORMAT_R8_SINT", "r8_sint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8_sint_description = { PIPE_FORMAT_R8G8_SINT, "PIPE_FORMAT_R8G8_SINT", "r8g8_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8_sint_description = { PIPE_FORMAT_R8G8B8_SINT, "PIPE_FORMAT_R8G8B8_SINT", "r8g8b8_sint", {1, 1, 24}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8a8_sint_description = { PIPE_FORMAT_R8G8B8A8_SINT, "PIPE_FORMAT_R8G8B8A8_SINT", "r8g8b8a8_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 24} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_uint_description = { PIPE_FORMAT_R16_UINT, "PIPE_FORMAT_R16_UINT", "r16_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_uint_description = { PIPE_FORMAT_R16G16_UINT, "PIPE_FORMAT_R16G16_UINT", "r16g16_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_uint_description = { PIPE_FORMAT_R16G16B16_UINT, "PIPE_FORMAT_R16G16B16_UINT", "r16g16b16_uint", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_uint_description = { PIPE_FORMAT_R16G16B16A16_UINT, "PIPE_FORMAT_R16G16B16A16_UINT", "r16g16b16a16_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16_sint_description = { PIPE_FORMAT_R16_SINT, "PIPE_FORMAT_R16_SINT", "r16_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16_sint_description = { PIPE_FORMAT_R16G16_SINT, "PIPE_FORMAT_R16G16_SINT", "r16g16_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16_sint_description = { PIPE_FORMAT_R16G16B16_SINT, "PIPE_FORMAT_R16G16B16_SINT", "r16g16b16_sint", {1, 1, 48}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16a16_sint_description = { PIPE_FORMAT_R16G16B16A16_SINT, "PIPE_FORMAT_R16G16B16A16_SINT", "r16g16b16a16_sint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 48} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_uint_description = { PIPE_FORMAT_R32_UINT, "PIPE_FORMAT_R32_UINT", "r32_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_uint_description = { PIPE_FORMAT_R32G32_UINT, "PIPE_FORMAT_R32G32_UINT", "r32g32_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_uint_description = { PIPE_FORMAT_R32G32B32_UINT, "PIPE_FORMAT_R32G32B32_UINT", "r32g32b32_uint", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_uint_description = { PIPE_FORMAT_R32G32B32A32_UINT, "PIPE_FORMAT_R32G32B32A32_UINT", "r32g32b32a32_uint", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32_sint_description = { PIPE_FORMAT_R32_SINT, "PIPE_FORMAT_R32_SINT", "r32_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32_sint_description = { PIPE_FORMAT_R32G32_SINT, "PIPE_FORMAT_R32G32_SINT", "r32g32_sint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32_sint_description = { PIPE_FORMAT_R32G32B32_SINT, "PIPE_FORMAT_R32G32B32_SINT", "r32g32b32_sint", {1, 1, 96}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32a32_sint_description = { PIPE_FORMAT_R32G32B32A32_SINT, "PIPE_FORMAT_R32G32B32A32_SINT", "r32g32b32a32_sint", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0} /* w = a */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 96} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8_uint_description = { PIPE_FORMAT_A8_UINT, "PIPE_FORMAT_A8_UINT", "a8_uint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i8_uint_description = { PIPE_FORMAT_I8_UINT, "PIPE_FORMAT_I8_UINT", "i8_uint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8_uint_description = { PIPE_FORMAT_L8_UINT, "PIPE_FORMAT_L8_UINT", "l8_uint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8a8_uint_description = { PIPE_FORMAT_L8A8_UINT, "PIPE_FORMAT_L8A8_UINT", "l8a8_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8_sint_description = { PIPE_FORMAT_A8_SINT, "PIPE_FORMAT_A8_SINT", "a8_sint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i8_sint_description = { PIPE_FORMAT_I8_SINT, "PIPE_FORMAT_I8_SINT", "i8_sint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8_sint_description = { PIPE_FORMAT_L8_SINT, "PIPE_FORMAT_L8_SINT", "l8_sint", {1, 1, 8}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l8a8_sint_description = { PIPE_FORMAT_L8A8_SINT, "PIPE_FORMAT_L8A8_SINT", "l8a8_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a16_uint_description = { PIPE_FORMAT_A16_UINT, "PIPE_FORMAT_A16_UINT", "a16_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i16_uint_description = { PIPE_FORMAT_I16_UINT, "PIPE_FORMAT_I16_UINT", "i16_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16_uint_description = { PIPE_FORMAT_L16_UINT, "PIPE_FORMAT_L16_UINT", "l16_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16a16_uint_description = { PIPE_FORMAT_L16A16_UINT, "PIPE_FORMAT_L16A16_UINT", "l16a16_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a16_sint_description = { PIPE_FORMAT_A16_SINT, "PIPE_FORMAT_A16_SINT", "a16_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i16_sint_description = { PIPE_FORMAT_I16_SINT, "PIPE_FORMAT_I16_SINT", "i16_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16_sint_description = { PIPE_FORMAT_L16_SINT, "PIPE_FORMAT_L16_SINT", "l16_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l16a16_sint_description = { PIPE_FORMAT_L16A16_SINT, "PIPE_FORMAT_L16A16_SINT", "l16a16_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a32_uint_description = { PIPE_FORMAT_A32_UINT, "PIPE_FORMAT_A32_UINT", "a32_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i32_uint_description = { PIPE_FORMAT_I32_UINT, "PIPE_FORMAT_I32_UINT", "i32_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32_uint_description = { PIPE_FORMAT_L32_UINT, "PIPE_FORMAT_L32_UINT", "l32_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32a32_uint_description = { PIPE_FORMAT_L32A32_UINT, "PIPE_FORMAT_L32A32_UINT", "l32a32_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a32_sint_description = { PIPE_FORMAT_A32_SINT, "PIPE_FORMAT_A32_SINT", "a32_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_0, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_i32_sint_description = { PIPE_FORMAT_I32_SINT, "PIPE_FORMAT_I32_SINT", "i32_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = rgba */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32_sint_description = { PIPE_FORMAT_L32_SINT, "PIPE_FORMAT_L32_SINT", "l32_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 1, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_l32a32_sint_description = { PIPE_FORMAT_L32A32_SINT, "PIPE_FORMAT_L32A32_SINT", "l32a32_sint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = rgb */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10a2_uint_description = { PIPE_FORMAT_B10G10R10A2_UINT, "PIPE_FORMAT_B10G10R10A2_UINT", "b10g10r10a2_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8x8_snorm_description = { PIPE_FORMAT_R8G8B8X8_SNORM, "PIPE_FORMAT_R8G8B8X8_SNORM", "r8g8b8x8_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8x8_srgb_description = { PIPE_FORMAT_R8G8B8X8_SRGB, "PIPE_FORMAT_R8G8B8X8_SRGB", "r8g8b8x8_srgb", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_r8g8b8x8_uint_description = { PIPE_FORMAT_R8G8B8X8_UINT, "PIPE_FORMAT_R8G8B8X8_UINT", "r8g8b8x8_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8g8b8x8_sint_description = { PIPE_FORMAT_R8G8B8X8_SINT, "PIPE_FORMAT_R8G8B8X8_SINT", "r8g8b8x8_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 24}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b10g10r10x2_unorm_description = { PIPE_FORMAT_B10G10R10X2_UNORM, "PIPE_FORMAT_B10G10R10X2_UNORM", "b10g10r10x2_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30}, /* x = x */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* y = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0} /* w = b */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 10, 20}, /* z = r */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 2, 30} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_W, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_X, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16x16_unorm_description = { PIPE_FORMAT_R16G16B16X16_UNORM, "PIPE_FORMAT_R16G16B16X16_UNORM", "r16g16b16x16_unorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 48} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16x16_snorm_description = { PIPE_FORMAT_R16G16B16X16_SNORM, "PIPE_FORMAT_R16G16B16X16_SNORM", "r16g16b16x16_snorm", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 48} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16x16_float_description = { PIPE_FORMAT_R16G16B16X16_FLOAT, "PIPE_FORMAT_R16G16B16X16_FLOAT", "r16g16b16x16_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 48} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16x16_uint_description = { PIPE_FORMAT_R16G16B16X16_UINT, "PIPE_FORMAT_R16G16B16X16_UINT", "r16g16b16x16_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 48} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16g16b16x16_sint_description = { PIPE_FORMAT_R16G16B16X16_SINT, "PIPE_FORMAT_R16G16B16X16_SINT", "r16g16b16x16_sint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 48}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 16, 48} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32x32_float_description = { PIPE_FORMAT_R32G32B32X32_FLOAT, "PIPE_FORMAT_R32G32B32X32_FLOAT", "r32g32b32x32_float", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 96} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32x32_uint_description = { PIPE_FORMAT_R32G32B32X32_UINT, "PIPE_FORMAT_R32G32B32X32_UINT", "r32g32b32x32_uint", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 96} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32g32b32x32_sint_description = { PIPE_FORMAT_R32G32B32X32_SINT, "PIPE_FORMAT_R32G32B32X32_SINT", "r32g32b32x32_sint", {1, 1, 128}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 96}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 0} /* w = x */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = g */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 64}, /* z = b */ {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 32, 96} /* w = x */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8a8_snorm_description = { PIPE_FORMAT_R8A8_SNORM, "PIPE_FORMAT_R8A8_SNORM", "r8a8_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16a16_unorm_description = { PIPE_FORMAT_R16A16_UNORM, "PIPE_FORMAT_R16A16_UNORM", "r16a16_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16a16_snorm_description = { PIPE_FORMAT_R16A16_SNORM, "PIPE_FORMAT_R16A16_SNORM", "r16a16_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16a16_float_description = { PIPE_FORMAT_R16A16_FLOAT, "PIPE_FORMAT_R16A16_FLOAT", "r16a16_float", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32a32_float_description = { PIPE_FORMAT_R32A32_FLOAT, "PIPE_FORMAT_R32A32_FLOAT", "r32a32_float", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_FLOAT, FALSE, FALSE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8a8_uint_description = { PIPE_FORMAT_R8A8_UINT, "PIPE_FORMAT_R8A8_UINT", "r8a8_uint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r8a8_sint_description = { PIPE_FORMAT_R8A8_SINT, "PIPE_FORMAT_R8A8_SINT", "r8a8_sint", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 8, 8}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16a16_uint_description = { PIPE_FORMAT_R16A16_UINT, "PIPE_FORMAT_R16A16_UINT", "r16a16_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r16a16_sint_description = { PIPE_FORMAT_R16A16_SINT, "PIPE_FORMAT_R16A16_SINT", "r16a16_sint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 16, 16}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32a32_uint_description = { PIPE_FORMAT_R32A32_UINT, "PIPE_FORMAT_R32A32_UINT", "r32a32_uint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r32a32_sint_description = { PIPE_FORMAT_R32A32_SINT, "PIPE_FORMAT_R32A32_SINT", "r32a32_sint", {1, 1, 64}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 0}, /* x = r */ {UTIL_FORMAT_TYPE_SIGNED, FALSE, TRUE, 32, 32}, /* y = a */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_Y /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_r10g10b10a2_uint_description = { PIPE_FORMAT_R10G10B10A2_UINT, "PIPE_FORMAT_R10G10B10A2_UINT", "r10g10b10a2_uint", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 2, 30}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 20}, /* y = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 10}, /* z = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 0}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 10}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 10, 20}, /* z = b */ {UTIL_FORMAT_TYPE_UNSIGNED, FALSE, TRUE, 2, 30} /* w = a */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_b5g6r5_srgb_description = { PIPE_FORMAT_B5G6R5_SRGB, "PIPE_FORMAT_B5G6R5_SRGB", "b5g6r5_srgb", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 3, /* nr_channels */ FALSE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 11}, /* x = r */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* z = b */ {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 0}, /* x = b */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 6, 5}, /* y = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 5, 11}, /* z = r */ {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Z, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_X, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_a8l8_unorm_description = { PIPE_FORMAT_A8L8_UNORM, "PIPE_FORMAT_A8L8_UNORM", "a8l8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8l8_snorm_description = { PIPE_FORMAT_A8L8_SNORM, "PIPE_FORMAT_A8L8_SNORM", "a8l8_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8l8_srgb_description = { PIPE_FORMAT_A8L8_SRGB, "PIPE_FORMAT_A8L8_SRGB", "a8l8_srgb", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Y, /* sb */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_a16l16_unorm_description = { PIPE_FORMAT_A16L16_UNORM, "PIPE_FORMAT_A16L16_UNORM", "a16l16_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = a */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = rgb */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g8r8_unorm_description = { PIPE_FORMAT_G8R8_UNORM, "PIPE_FORMAT_G8R8_UNORM", "g8r8_unorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* x = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 0}, /* x = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g8r8_snorm_description = { PIPE_FORMAT_G8R8_SNORM, "PIPE_FORMAT_G8R8_SNORM", "g8r8_snorm", {1, 1, 16}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* x = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g16r16_unorm_description = { PIPE_FORMAT_G16R16_UNORM, "PIPE_FORMAT_G16R16_UNORM", "g16r16_unorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* x = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 0}, /* x = g */ {UTIL_FORMAT_TYPE_UNSIGNED, TRUE, FALSE, 16, 16}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_g16r16_snorm_description = { PIPE_FORMAT_G16R16_SNORM, "PIPE_FORMAT_G16R16_SNORM", "g16r16_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 2, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* x = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 0}, /* x = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 16, 16}, /* y = r */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_Y, /* r */ UTIL_FORMAT_SWIZZLE_X, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_a8b8g8r8_snorm_description = { PIPE_FORMAT_A8B8G8R8_SNORM, "PIPE_FORMAT_A8B8G8R8_SNORM", "a8b8g8r8_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0}, /* x = a */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_X /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_x8b8g8r8_snorm_description = { PIPE_FORMAT_X8B8G8R8_SNORM, "PIPE_FORMAT_X8B8G8R8_SNORM", "x8b8g8r8_snorm", {1, 1, 32}, /* block */ UTIL_FORMAT_LAYOUT_PLAIN, 4, /* nr_channels */ TRUE, /* is_array */ TRUE, /* is_bitmask */ FALSE, /* is_mixed */ #if UTIL_ARCH_BIG_ENDIAN { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 24}, /* x = x */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 0} /* w = r */ }, #else { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 8, 0}, /* x = x */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 8}, /* y = b */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 16}, /* z = g */ {UTIL_FORMAT_TYPE_SIGNED, TRUE, FALSE, 8, 24} /* w = r */ }, #endif #if UTIL_ARCH_BIG_ENDIAN { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #else { UTIL_FORMAT_SWIZZLE_W, /* r */ UTIL_FORMAT_SWIZZLE_Z, /* g */ UTIL_FORMAT_SWIZZLE_Y, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, #endif UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_rgb8_description = { PIPE_FORMAT_ETC2_RGB8, "PIPE_FORMAT_ETC2_RGB8", "etc2_rgb8", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_srgb8_description = { PIPE_FORMAT_ETC2_SRGB8, "PIPE_FORMAT_ETC2_SRGB8", "etc2_srgb8", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_etc2_rgb8a1_description = { PIPE_FORMAT_ETC2_RGB8A1, "PIPE_FORMAT_ETC2_RGB8A1", "etc2_rgb8a1", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_srgb8a1_description = { PIPE_FORMAT_ETC2_SRGB8A1, "PIPE_FORMAT_ETC2_SRGB8A1", "etc2_srgb8a1", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_etc2_rgba8_description = { PIPE_FORMAT_ETC2_RGBA8, "PIPE_FORMAT_ETC2_RGBA8", "etc2_rgba8", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_srgba8_description = { PIPE_FORMAT_ETC2_SRGBA8, "PIPE_FORMAT_ETC2_SRGBA8", "etc2_srgba8", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_etc2_r11_unorm_description = { PIPE_FORMAT_ETC2_R11_UNORM, "PIPE_FORMAT_ETC2_R11_UNORM", "etc2_r11_unorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_r11_snorm_description = { PIPE_FORMAT_ETC2_R11_SNORM, "PIPE_FORMAT_ETC2_R11_SNORM", "etc2_r11_snorm", {4, 4, 64}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 64, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_0, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_rg11_unorm_description = { PIPE_FORMAT_ETC2_RG11_UNORM, "PIPE_FORMAT_ETC2_RG11_UNORM", "etc2_rg11_unorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_etc2_rg11_snorm_description = { PIPE_FORMAT_ETC2_RG11_SNORM, "PIPE_FORMAT_ETC2_RG11_SNORM", "etc2_rg11_snorm", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ETC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_0, /* b */ UTIL_FORMAT_SWIZZLE_1 /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_4x4_description = { PIPE_FORMAT_ASTC_4x4, "PIPE_FORMAT_ASTC_4x4", "astc_4x4", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_5x4_description = { PIPE_FORMAT_ASTC_5x4, "PIPE_FORMAT_ASTC_5x4", "astc_5x4", {5, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_5x5_description = { PIPE_FORMAT_ASTC_5x5, "PIPE_FORMAT_ASTC_5x5", "astc_5x5", {5, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_6x5_description = { PIPE_FORMAT_ASTC_6x5, "PIPE_FORMAT_ASTC_6x5", "astc_6x5", {6, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_6x6_description = { PIPE_FORMAT_ASTC_6x6, "PIPE_FORMAT_ASTC_6x6", "astc_6x6", {6, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_8x5_description = { PIPE_FORMAT_ASTC_8x5, "PIPE_FORMAT_ASTC_8x5", "astc_8x5", {8, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_8x6_description = { PIPE_FORMAT_ASTC_8x6, "PIPE_FORMAT_ASTC_8x6", "astc_8x6", {8, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_8x8_description = { PIPE_FORMAT_ASTC_8x8, "PIPE_FORMAT_ASTC_8x8", "astc_8x8", {8, 8, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_10x5_description = { PIPE_FORMAT_ASTC_10x5, "PIPE_FORMAT_ASTC_10x5", "astc_10x5", {10, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_10x6_description = { PIPE_FORMAT_ASTC_10x6, "PIPE_FORMAT_ASTC_10x6", "astc_10x6", {10, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_10x8_description = { PIPE_FORMAT_ASTC_10x8, "PIPE_FORMAT_ASTC_10x8", "astc_10x8", {10, 8, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_10x10_description = { PIPE_FORMAT_ASTC_10x10, "PIPE_FORMAT_ASTC_10x10", "astc_10x10", {10, 10, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_12x10_description = { PIPE_FORMAT_ASTC_12x10, "PIPE_FORMAT_ASTC_12x10", "astc_12x10", {12, 10, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_12x12_description = { PIPE_FORMAT_ASTC_12x12, "PIPE_FORMAT_ASTC_12x12", "astc_12x12", {12, 12, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* r */ UTIL_FORMAT_SWIZZLE_Y, /* g */ UTIL_FORMAT_SWIZZLE_Z, /* b */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_RGB, }; const struct util_format_description util_format_astc_4x4_srgb_description = { PIPE_FORMAT_ASTC_4x4_SRGB, "PIPE_FORMAT_ASTC_4x4_SRGB", "astc_4x4_srgb", {4, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_5x4_srgb_description = { PIPE_FORMAT_ASTC_5x4_SRGB, "PIPE_FORMAT_ASTC_5x4_SRGB", "astc_5x4_srgb", {5, 4, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_5x5_srgb_description = { PIPE_FORMAT_ASTC_5x5_SRGB, "PIPE_FORMAT_ASTC_5x5_SRGB", "astc_5x5_srgb", {5, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_6x5_srgb_description = { PIPE_FORMAT_ASTC_6x5_SRGB, "PIPE_FORMAT_ASTC_6x5_SRGB", "astc_6x5_srgb", {6, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_6x6_srgb_description = { PIPE_FORMAT_ASTC_6x6_SRGB, "PIPE_FORMAT_ASTC_6x6_SRGB", "astc_6x6_srgb", {6, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_8x5_srgb_description = { PIPE_FORMAT_ASTC_8x5_SRGB, "PIPE_FORMAT_ASTC_8x5_SRGB", "astc_8x5_srgb", {8, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_8x6_srgb_description = { PIPE_FORMAT_ASTC_8x6_SRGB, "PIPE_FORMAT_ASTC_8x6_SRGB", "astc_8x6_srgb", {8, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_8x8_srgb_description = { PIPE_FORMAT_ASTC_8x8_SRGB, "PIPE_FORMAT_ASTC_8x8_SRGB", "astc_8x8_srgb", {8, 8, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_10x5_srgb_description = { PIPE_FORMAT_ASTC_10x5_SRGB, "PIPE_FORMAT_ASTC_10x5_SRGB", "astc_10x5_srgb", {10, 5, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_10x6_srgb_description = { PIPE_FORMAT_ASTC_10x6_SRGB, "PIPE_FORMAT_ASTC_10x6_SRGB", "astc_10x6_srgb", {10, 6, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_10x8_srgb_description = { PIPE_FORMAT_ASTC_10x8_SRGB, "PIPE_FORMAT_ASTC_10x8_SRGB", "astc_10x8_srgb", {10, 8, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_10x10_srgb_description = { PIPE_FORMAT_ASTC_10x10_SRGB, "PIPE_FORMAT_ASTC_10x10_SRGB", "astc_10x10_srgb", {10, 10, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_12x10_srgb_description = { PIPE_FORMAT_ASTC_12x10_SRGB, "PIPE_FORMAT_ASTC_12x10_SRGB", "astc_12x10_srgb", {12, 10, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description util_format_astc_12x12_srgb_description = { PIPE_FORMAT_ASTC_12x12_SRGB, "PIPE_FORMAT_ASTC_12x12_SRGB", "astc_12x12_srgb", {12, 12, 128}, /* block */ UTIL_FORMAT_LAYOUT_ASTC, 1, /* nr_channels */ FALSE, /* is_array */ FALSE, /* is_bitmask */ FALSE, /* is_mixed */ { {UTIL_FORMAT_TYPE_VOID, FALSE, FALSE, 128, 0}, /* x = x */ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, { UTIL_FORMAT_SWIZZLE_X, /* sr */ UTIL_FORMAT_SWIZZLE_Y, /* sg */ UTIL_FORMAT_SWIZZLE_Z, /* sb */ UTIL_FORMAT_SWIZZLE_W /* a */ }, UTIL_FORMAT_COLORSPACE_SRGB, }; const struct util_format_description * util_format_description(enum pipe_format format) { if (format >= PIPE_FORMAT_COUNT) { return NULL; } switch (format) { case PIPE_FORMAT_NONE: return &util_format_none_description; case PIPE_FORMAT_B8G8R8A8_UNORM: return &util_format_b8g8r8a8_unorm_description; case PIPE_FORMAT_B8G8R8X8_UNORM: return &util_format_b8g8r8x8_unorm_description; case PIPE_FORMAT_A8R8G8B8_UNORM: return &util_format_a8r8g8b8_unorm_description; case PIPE_FORMAT_X8R8G8B8_UNORM: return &util_format_x8r8g8b8_unorm_description; case PIPE_FORMAT_A8B8G8R8_UNORM: return &util_format_a8b8g8r8_unorm_description; case PIPE_FORMAT_X8B8G8R8_UNORM: return &util_format_x8b8g8r8_unorm_description; case PIPE_FORMAT_R8G8B8X8_UNORM: return &util_format_r8g8b8x8_unorm_description; case PIPE_FORMAT_B5G5R5X1_UNORM: return &util_format_b5g5r5x1_unorm_description; case PIPE_FORMAT_B5G5R5A1_UNORM: return &util_format_b5g5r5a1_unorm_description; case PIPE_FORMAT_B4G4R4A4_UNORM: return &util_format_b4g4r4a4_unorm_description; case PIPE_FORMAT_B4G4R4X4_UNORM: return &util_format_b4g4r4x4_unorm_description; case PIPE_FORMAT_A4B4G4R4_UNORM: return &util_format_a4b4g4r4_unorm_description; case PIPE_FORMAT_B5G6R5_UNORM: return &util_format_b5g6r5_unorm_description; case PIPE_FORMAT_R10G10B10A2_UNORM: return &util_format_r10g10b10a2_unorm_description; case PIPE_FORMAT_R10G10B10X2_UNORM: return &util_format_r10g10b10x2_unorm_description; case PIPE_FORMAT_B10G10R10A2_UNORM: return &util_format_b10g10r10a2_unorm_description; case PIPE_FORMAT_B2G3R3_UNORM: return &util_format_b2g3r3_unorm_description; case PIPE_FORMAT_L8_UNORM: return &util_format_l8_unorm_description; case PIPE_FORMAT_A8_UNORM: return &util_format_a8_unorm_description; case PIPE_FORMAT_I8_UNORM: return &util_format_i8_unorm_description; case PIPE_FORMAT_L4A4_UNORM: return &util_format_l4a4_unorm_description; case PIPE_FORMAT_L8A8_UNORM: return &util_format_l8a8_unorm_description; case PIPE_FORMAT_L16_UNORM: return &util_format_l16_unorm_description; case PIPE_FORMAT_A16_UNORM: return &util_format_a16_unorm_description; case PIPE_FORMAT_I16_UNORM: return &util_format_i16_unorm_description; case PIPE_FORMAT_L16A16_UNORM: return &util_format_l16a16_unorm_description; case PIPE_FORMAT_A8_SNORM: return &util_format_a8_snorm_description; case PIPE_FORMAT_L8_SNORM: return &util_format_l8_snorm_description; case PIPE_FORMAT_L8A8_SNORM: return &util_format_l8a8_snorm_description; case PIPE_FORMAT_I8_SNORM: return &util_format_i8_snorm_description; case PIPE_FORMAT_A16_SNORM: return &util_format_a16_snorm_description; case PIPE_FORMAT_L16_SNORM: return &util_format_l16_snorm_description; case PIPE_FORMAT_L16A16_SNORM: return &util_format_l16a16_snorm_description; case PIPE_FORMAT_I16_SNORM: return &util_format_i16_snorm_description; case PIPE_FORMAT_A16_FLOAT: return &util_format_a16_float_description; case PIPE_FORMAT_L16_FLOAT: return &util_format_l16_float_description; case PIPE_FORMAT_L16A16_FLOAT: return &util_format_l16a16_float_description; case PIPE_FORMAT_I16_FLOAT: return &util_format_i16_float_description; case PIPE_FORMAT_A32_FLOAT: return &util_format_a32_float_description; case PIPE_FORMAT_L32_FLOAT: return &util_format_l32_float_description; case PIPE_FORMAT_L32A32_FLOAT: return &util_format_l32a32_float_description; case PIPE_FORMAT_I32_FLOAT: return &util_format_i32_float_description; case PIPE_FORMAT_L8_SRGB: return &util_format_l8_srgb_description; case PIPE_FORMAT_R8_SRGB: return &util_format_r8_srgb_description; case PIPE_FORMAT_L8A8_SRGB: return &util_format_l8a8_srgb_description; case PIPE_FORMAT_R8G8B8_SRGB: return &util_format_r8g8b8_srgb_description; case PIPE_FORMAT_R8G8B8A8_SRGB: return &util_format_r8g8b8a8_srgb_description; case PIPE_FORMAT_A8B8G8R8_SRGB: return &util_format_a8b8g8r8_srgb_description; case PIPE_FORMAT_X8B8G8R8_SRGB: return &util_format_x8b8g8r8_srgb_description; case PIPE_FORMAT_B8G8R8A8_SRGB: return &util_format_b8g8r8a8_srgb_description; case PIPE_FORMAT_B8G8R8X8_SRGB: return &util_format_b8g8r8x8_srgb_description; case PIPE_FORMAT_A8R8G8B8_SRGB: return &util_format_a8r8g8b8_srgb_description; case PIPE_FORMAT_X8R8G8B8_SRGB: return &util_format_x8r8g8b8_srgb_description; case PIPE_FORMAT_R8SG8SB8UX8U_NORM: return &util_format_r8sg8sb8ux8u_norm_description; case PIPE_FORMAT_R10SG10SB10SA2U_NORM: return &util_format_r10sg10sb10sa2u_norm_description; case PIPE_FORMAT_R5SG5SB6U_NORM: return &util_format_r5sg5sb6u_norm_description; case PIPE_FORMAT_S8_UINT: return &util_format_s8_uint_description; case PIPE_FORMAT_Z16_UNORM: return &util_format_z16_unorm_description; case PIPE_FORMAT_Z32_UNORM: return &util_format_z32_unorm_description; case PIPE_FORMAT_Z32_FLOAT: return &util_format_z32_float_description; case PIPE_FORMAT_Z24_UNORM_S8_UINT: return &util_format_z24_unorm_s8_uint_description; case PIPE_FORMAT_S8_UINT_Z24_UNORM: return &util_format_s8_uint_z24_unorm_description; case PIPE_FORMAT_X24S8_UINT: return &util_format_x24s8_uint_description; case PIPE_FORMAT_S8X24_UINT: return &util_format_s8x24_uint_description; case PIPE_FORMAT_Z24X8_UNORM: return &util_format_z24x8_unorm_description; case PIPE_FORMAT_X8Z24_UNORM: return &util_format_x8z24_unorm_description; case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: return &util_format_z32_float_s8x24_uint_description; case PIPE_FORMAT_X32_S8X24_UINT: return &util_format_x32_s8x24_uint_description; case PIPE_FORMAT_UYVY: return &util_format_uyvy_description; case PIPE_FORMAT_YUYV: return &util_format_yuyv_description; case PIPE_FORMAT_R8G8_B8G8_UNORM: return &util_format_r8g8_b8g8_unorm_description; case PIPE_FORMAT_G8R8_G8B8_UNORM: return &util_format_g8r8_g8b8_unorm_description; case PIPE_FORMAT_G8R8_B8R8_UNORM: return &util_format_g8r8_b8r8_unorm_description; case PIPE_FORMAT_R8G8_R8B8_UNORM: return &util_format_r8g8_r8b8_unorm_description; case PIPE_FORMAT_R11G11B10_FLOAT: return &util_format_r11g11b10_float_description; case PIPE_FORMAT_R9G9B9E5_FLOAT: return &util_format_r9g9b9e5_float_description; case PIPE_FORMAT_R1_UNORM: return &util_format_r1_unorm_description; case PIPE_FORMAT_R8G8Bx_SNORM: return &util_format_r8g8bx_snorm_description; case PIPE_FORMAT_DXT1_RGB: return &util_format_dxt1_rgb_description; case PIPE_FORMAT_DXT1_RGBA: return &util_format_dxt1_rgba_description; case PIPE_FORMAT_DXT3_RGBA: return &util_format_dxt3_rgba_description; case PIPE_FORMAT_DXT5_RGBA: return &util_format_dxt5_rgba_description; case PIPE_FORMAT_DXT1_SRGB: return &util_format_dxt1_srgb_description; case PIPE_FORMAT_DXT1_SRGBA: return &util_format_dxt1_srgba_description; case PIPE_FORMAT_DXT3_SRGBA: return &util_format_dxt3_srgba_description; case PIPE_FORMAT_DXT5_SRGBA: return &util_format_dxt5_srgba_description; case PIPE_FORMAT_RGTC1_UNORM: return &util_format_rgtc1_unorm_description; case PIPE_FORMAT_RGTC1_SNORM: return &util_format_rgtc1_snorm_description; case PIPE_FORMAT_RGTC2_UNORM: return &util_format_rgtc2_unorm_description; case PIPE_FORMAT_RGTC2_SNORM: return &util_format_rgtc2_snorm_description; case PIPE_FORMAT_LATC1_UNORM: return &util_format_latc1_unorm_description; case PIPE_FORMAT_LATC1_SNORM: return &util_format_latc1_snorm_description; case PIPE_FORMAT_LATC2_UNORM: return &util_format_latc2_unorm_description; case PIPE_FORMAT_LATC2_SNORM: return &util_format_latc2_snorm_description; case PIPE_FORMAT_ETC1_RGB8: return &util_format_etc1_rgb8_description; case PIPE_FORMAT_BPTC_RGBA_UNORM: return &util_format_bptc_rgba_unorm_description; case PIPE_FORMAT_BPTC_SRGBA: return &util_format_bptc_srgba_description; case PIPE_FORMAT_BPTC_RGB_FLOAT: return &util_format_bptc_rgb_float_description; case PIPE_FORMAT_BPTC_RGB_UFLOAT: return &util_format_bptc_rgb_ufloat_description; case PIPE_FORMAT_R64_FLOAT: return &util_format_r64_float_description; case PIPE_FORMAT_R64G64_FLOAT: return &util_format_r64g64_float_description; case PIPE_FORMAT_R64G64B64_FLOAT: return &util_format_r64g64b64_float_description; case PIPE_FORMAT_R64G64B64A64_FLOAT: return &util_format_r64g64b64a64_float_description; case PIPE_FORMAT_R32_FLOAT: return &util_format_r32_float_description; case PIPE_FORMAT_R32G32_FLOAT: return &util_format_r32g32_float_description; case PIPE_FORMAT_R32G32B32_FLOAT: return &util_format_r32g32b32_float_description; case PIPE_FORMAT_R32G32B32A32_FLOAT: return &util_format_r32g32b32a32_float_description; case PIPE_FORMAT_R32_UNORM: return &util_format_r32_unorm_description; case PIPE_FORMAT_R32G32_UNORM: return &util_format_r32g32_unorm_description; case PIPE_FORMAT_R32G32B32_UNORM: return &util_format_r32g32b32_unorm_description; case PIPE_FORMAT_R32G32B32A32_UNORM: return &util_format_r32g32b32a32_unorm_description; case PIPE_FORMAT_R32_USCALED: return &util_format_r32_uscaled_description; case PIPE_FORMAT_R32G32_USCALED: return &util_format_r32g32_uscaled_description; case PIPE_FORMAT_R32G32B32_USCALED: return &util_format_r32g32b32_uscaled_description; case PIPE_FORMAT_R32G32B32A32_USCALED: return &util_format_r32g32b32a32_uscaled_description; case PIPE_FORMAT_R32_SNORM: return &util_format_r32_snorm_description; case PIPE_FORMAT_R32G32_SNORM: return &util_format_r32g32_snorm_description; case PIPE_FORMAT_R32G32B32_SNORM: return &util_format_r32g32b32_snorm_description; case PIPE_FORMAT_R32G32B32A32_SNORM: return &util_format_r32g32b32a32_snorm_description; case PIPE_FORMAT_R32_SSCALED: return &util_format_r32_sscaled_description; case PIPE_FORMAT_R32G32_SSCALED: return &util_format_r32g32_sscaled_description; case PIPE_FORMAT_R32G32B32_SSCALED: return &util_format_r32g32b32_sscaled_description; case PIPE_FORMAT_R32G32B32A32_SSCALED: return &util_format_r32g32b32a32_sscaled_description; case PIPE_FORMAT_R16_FLOAT: return &util_format_r16_float_description; case PIPE_FORMAT_R16G16_FLOAT: return &util_format_r16g16_float_description; case PIPE_FORMAT_R16G16B16_FLOAT: return &util_format_r16g16b16_float_description; case PIPE_FORMAT_R16G16B16A16_FLOAT: return &util_format_r16g16b16a16_float_description; case PIPE_FORMAT_R16_UNORM: return &util_format_r16_unorm_description; case PIPE_FORMAT_R16G16_UNORM: return &util_format_r16g16_unorm_description; case PIPE_FORMAT_R16G16B16_UNORM: return &util_format_r16g16b16_unorm_description; case PIPE_FORMAT_R16G16B16A16_UNORM: return &util_format_r16g16b16a16_unorm_description; case PIPE_FORMAT_R16_USCALED: return &util_format_r16_uscaled_description; case PIPE_FORMAT_R16G16_USCALED: return &util_format_r16g16_uscaled_description; case PIPE_FORMAT_R16G16B16_USCALED: return &util_format_r16g16b16_uscaled_description; case PIPE_FORMAT_R16G16B16A16_USCALED: return &util_format_r16g16b16a16_uscaled_description; case PIPE_FORMAT_R16_SNORM: return &util_format_r16_snorm_description; case PIPE_FORMAT_R16G16_SNORM: return &util_format_r16g16_snorm_description; case PIPE_FORMAT_R16G16B16_SNORM: return &util_format_r16g16b16_snorm_description; case PIPE_FORMAT_R16G16B16A16_SNORM: return &util_format_r16g16b16a16_snorm_description; case PIPE_FORMAT_R16_SSCALED: return &util_format_r16_sscaled_description; case PIPE_FORMAT_R16G16_SSCALED: return &util_format_r16g16_sscaled_description; case PIPE_FORMAT_R16G16B16_SSCALED: return &util_format_r16g16b16_sscaled_description; case PIPE_FORMAT_R16G16B16A16_SSCALED: return &util_format_r16g16b16a16_sscaled_description; case PIPE_FORMAT_R8_UNORM: return &util_format_r8_unorm_description; case PIPE_FORMAT_R8G8_UNORM: return &util_format_r8g8_unorm_description; case PIPE_FORMAT_R8G8B8_UNORM: return &util_format_r8g8b8_unorm_description; case PIPE_FORMAT_R8G8B8A8_UNORM: return &util_format_r8g8b8a8_unorm_description; case PIPE_FORMAT_R8_USCALED: return &util_format_r8_uscaled_description; case PIPE_FORMAT_R8G8_USCALED: return &util_format_r8g8_uscaled_description; case PIPE_FORMAT_R8G8B8_USCALED: return &util_format_r8g8b8_uscaled_description; case PIPE_FORMAT_R8G8B8A8_USCALED: return &util_format_r8g8b8a8_uscaled_description; case PIPE_FORMAT_R8_SNORM: return &util_format_r8_snorm_description; case PIPE_FORMAT_R8G8_SNORM: return &util_format_r8g8_snorm_description; case PIPE_FORMAT_R8G8B8_SNORM: return &util_format_r8g8b8_snorm_description; case PIPE_FORMAT_R8G8B8A8_SNORM: return &util_format_r8g8b8a8_snorm_description; case PIPE_FORMAT_R8_SSCALED: return &util_format_r8_sscaled_description; case PIPE_FORMAT_R8G8_SSCALED: return &util_format_r8g8_sscaled_description; case PIPE_FORMAT_R8G8B8_SSCALED: return &util_format_r8g8b8_sscaled_description; case PIPE_FORMAT_R8G8B8A8_SSCALED: return &util_format_r8g8b8a8_sscaled_description; case PIPE_FORMAT_R32_FIXED: return &util_format_r32_fixed_description; case PIPE_FORMAT_R32G32_FIXED: return &util_format_r32g32_fixed_description; case PIPE_FORMAT_R32G32B32_FIXED: return &util_format_r32g32b32_fixed_description; case PIPE_FORMAT_R32G32B32A32_FIXED: return &util_format_r32g32b32a32_fixed_description; case PIPE_FORMAT_R10G10B10X2_USCALED: return &util_format_r10g10b10x2_uscaled_description; case PIPE_FORMAT_R10G10B10X2_SNORM: return &util_format_r10g10b10x2_snorm_description; case PIPE_FORMAT_YV12: return &util_format_yv12_description; case PIPE_FORMAT_YV16: return &util_format_yv16_description; case PIPE_FORMAT_IYUV: return &util_format_iyuv_description; case PIPE_FORMAT_NV12: return &util_format_nv12_description; case PIPE_FORMAT_NV21: return &util_format_nv21_description; case PIPE_FORMAT_A4R4_UNORM: return &util_format_a4r4_unorm_description; case PIPE_FORMAT_R4A4_UNORM: return &util_format_r4a4_unorm_description; case PIPE_FORMAT_R8A8_UNORM: return &util_format_r8a8_unorm_description; case PIPE_FORMAT_A8R8_UNORM: return &util_format_a8r8_unorm_description; case PIPE_FORMAT_R10G10B10A2_USCALED: return &util_format_r10g10b10a2_uscaled_description; case PIPE_FORMAT_R10G10B10A2_SSCALED: return &util_format_r10g10b10a2_sscaled_description; case PIPE_FORMAT_R10G10B10A2_SNORM: return &util_format_r10g10b10a2_snorm_description; case PIPE_FORMAT_B10G10R10A2_USCALED: return &util_format_b10g10r10a2_uscaled_description; case PIPE_FORMAT_B10G10R10A2_SSCALED: return &util_format_b10g10r10a2_sscaled_description; case PIPE_FORMAT_B10G10R10A2_SNORM: return &util_format_b10g10r10a2_snorm_description; case PIPE_FORMAT_R8_UINT: return &util_format_r8_uint_description; case PIPE_FORMAT_R8G8_UINT: return &util_format_r8g8_uint_description; case PIPE_FORMAT_R8G8B8_UINT: return &util_format_r8g8b8_uint_description; case PIPE_FORMAT_R8G8B8A8_UINT: return &util_format_r8g8b8a8_uint_description; case PIPE_FORMAT_R8_SINT: return &util_format_r8_sint_description; case PIPE_FORMAT_R8G8_SINT: return &util_format_r8g8_sint_description; case PIPE_FORMAT_R8G8B8_SINT: return &util_format_r8g8b8_sint_description; case PIPE_FORMAT_R8G8B8A8_SINT: return &util_format_r8g8b8a8_sint_description; case PIPE_FORMAT_R16_UINT: return &util_format_r16_uint_description; case PIPE_FORMAT_R16G16_UINT: return &util_format_r16g16_uint_description; case PIPE_FORMAT_R16G16B16_UINT: return &util_format_r16g16b16_uint_description; case PIPE_FORMAT_R16G16B16A16_UINT: return &util_format_r16g16b16a16_uint_description; case PIPE_FORMAT_R16_SINT: return &util_format_r16_sint_description; case PIPE_FORMAT_R16G16_SINT: return &util_format_r16g16_sint_description; case PIPE_FORMAT_R16G16B16_SINT: return &util_format_r16g16b16_sint_description; case PIPE_FORMAT_R16G16B16A16_SINT: return &util_format_r16g16b16a16_sint_description; case PIPE_FORMAT_R32_UINT: return &util_format_r32_uint_description; case PIPE_FORMAT_R32G32_UINT: return &util_format_r32g32_uint_description; case PIPE_FORMAT_R32G32B32_UINT: return &util_format_r32g32b32_uint_description; case PIPE_FORMAT_R32G32B32A32_UINT: return &util_format_r32g32b32a32_uint_description; case PIPE_FORMAT_R32_SINT: return &util_format_r32_sint_description; case PIPE_FORMAT_R32G32_SINT: return &util_format_r32g32_sint_description; case PIPE_FORMAT_R32G32B32_SINT: return &util_format_r32g32b32_sint_description; case PIPE_FORMAT_R32G32B32A32_SINT: return &util_format_r32g32b32a32_sint_description; case PIPE_FORMAT_A8_UINT: return &util_format_a8_uint_description; case PIPE_FORMAT_I8_UINT: return &util_format_i8_uint_description; case PIPE_FORMAT_L8_UINT: return &util_format_l8_uint_description; case PIPE_FORMAT_L8A8_UINT: return &util_format_l8a8_uint_description; case PIPE_FORMAT_A8_SINT: return &util_format_a8_sint_description; case PIPE_FORMAT_I8_SINT: return &util_format_i8_sint_description; case PIPE_FORMAT_L8_SINT: return &util_format_l8_sint_description; case PIPE_FORMAT_L8A8_SINT: return &util_format_l8a8_sint_description; case PIPE_FORMAT_A16_UINT: return &util_format_a16_uint_description; case PIPE_FORMAT_I16_UINT: return &util_format_i16_uint_description; case PIPE_FORMAT_L16_UINT: return &util_format_l16_uint_description; case PIPE_FORMAT_L16A16_UINT: return &util_format_l16a16_uint_description; case PIPE_FORMAT_A16_SINT: return &util_format_a16_sint_description; case PIPE_FORMAT_I16_SINT: return &util_format_i16_sint_description; case PIPE_FORMAT_L16_SINT: return &util_format_l16_sint_description; case PIPE_FORMAT_L16A16_SINT: return &util_format_l16a16_sint_description; case PIPE_FORMAT_A32_UINT: return &util_format_a32_uint_description; case PIPE_FORMAT_I32_UINT: return &util_format_i32_uint_description; case PIPE_FORMAT_L32_UINT: return &util_format_l32_uint_description; case PIPE_FORMAT_L32A32_UINT: return &util_format_l32a32_uint_description; case PIPE_FORMAT_A32_SINT: return &util_format_a32_sint_description; case PIPE_FORMAT_I32_SINT: return &util_format_i32_sint_description; case PIPE_FORMAT_L32_SINT: return &util_format_l32_sint_description; case PIPE_FORMAT_L32A32_SINT: return &util_format_l32a32_sint_description; case PIPE_FORMAT_B10G10R10A2_UINT: return &util_format_b10g10r10a2_uint_description; case PIPE_FORMAT_R8G8B8X8_SNORM: return &util_format_r8g8b8x8_snorm_description; case PIPE_FORMAT_R8G8B8X8_SRGB: return &util_format_r8g8b8x8_srgb_description; case PIPE_FORMAT_R8G8B8X8_UINT: return &util_format_r8g8b8x8_uint_description; case PIPE_FORMAT_R8G8B8X8_SINT: return &util_format_r8g8b8x8_sint_description; case PIPE_FORMAT_B10G10R10X2_UNORM: return &util_format_b10g10r10x2_unorm_description; case PIPE_FORMAT_R16G16B16X16_UNORM: return &util_format_r16g16b16x16_unorm_description; case PIPE_FORMAT_R16G16B16X16_SNORM: return &util_format_r16g16b16x16_snorm_description; case PIPE_FORMAT_R16G16B16X16_FLOAT: return &util_format_r16g16b16x16_float_description; case PIPE_FORMAT_R16G16B16X16_UINT: return &util_format_r16g16b16x16_uint_description; case PIPE_FORMAT_R16G16B16X16_SINT: return &util_format_r16g16b16x16_sint_description; case PIPE_FORMAT_R32G32B32X32_FLOAT: return &util_format_r32g32b32x32_float_description; case PIPE_FORMAT_R32G32B32X32_UINT: return &util_format_r32g32b32x32_uint_description; case PIPE_FORMAT_R32G32B32X32_SINT: return &util_format_r32g32b32x32_sint_description; case PIPE_FORMAT_R8A8_SNORM: return &util_format_r8a8_snorm_description; case PIPE_FORMAT_R16A16_UNORM: return &util_format_r16a16_unorm_description; case PIPE_FORMAT_R16A16_SNORM: return &util_format_r16a16_snorm_description; case PIPE_FORMAT_R16A16_FLOAT: return &util_format_r16a16_float_description; case PIPE_FORMAT_R32A32_FLOAT: return &util_format_r32a32_float_description; case PIPE_FORMAT_R8A8_UINT: return &util_format_r8a8_uint_description; case PIPE_FORMAT_R8A8_SINT: return &util_format_r8a8_sint_description; case PIPE_FORMAT_R16A16_UINT: return &util_format_r16a16_uint_description; case PIPE_FORMAT_R16A16_SINT: return &util_format_r16a16_sint_description; case PIPE_FORMAT_R32A32_UINT: return &util_format_r32a32_uint_description; case PIPE_FORMAT_R32A32_SINT: return &util_format_r32a32_sint_description; case PIPE_FORMAT_R10G10B10A2_UINT: return &util_format_r10g10b10a2_uint_description; case PIPE_FORMAT_B5G6R5_SRGB: return &util_format_b5g6r5_srgb_description; case PIPE_FORMAT_A8L8_UNORM: return &util_format_a8l8_unorm_description; case PIPE_FORMAT_A8L8_SNORM: return &util_format_a8l8_snorm_description; case PIPE_FORMAT_A8L8_SRGB: return &util_format_a8l8_srgb_description; case PIPE_FORMAT_A16L16_UNORM: return &util_format_a16l16_unorm_description; case PIPE_FORMAT_G8R8_UNORM: return &util_format_g8r8_unorm_description; case PIPE_FORMAT_G8R8_SNORM: return &util_format_g8r8_snorm_description; case PIPE_FORMAT_G16R16_UNORM: return &util_format_g16r16_unorm_description; case PIPE_FORMAT_G16R16_SNORM: return &util_format_g16r16_snorm_description; case PIPE_FORMAT_A8B8G8R8_SNORM: return &util_format_a8b8g8r8_snorm_description; case PIPE_FORMAT_X8B8G8R8_SNORM: return &util_format_x8b8g8r8_snorm_description; case PIPE_FORMAT_ETC2_RGB8: return &util_format_etc2_rgb8_description; case PIPE_FORMAT_ETC2_SRGB8: return &util_format_etc2_srgb8_description; case PIPE_FORMAT_ETC2_RGB8A1: return &util_format_etc2_rgb8a1_description; case PIPE_FORMAT_ETC2_SRGB8A1: return &util_format_etc2_srgb8a1_description; case PIPE_FORMAT_ETC2_RGBA8: return &util_format_etc2_rgba8_description; case PIPE_FORMAT_ETC2_SRGBA8: return &util_format_etc2_srgba8_description; case PIPE_FORMAT_ETC2_R11_UNORM: return &util_format_etc2_r11_unorm_description; case PIPE_FORMAT_ETC2_R11_SNORM: return &util_format_etc2_r11_snorm_description; case PIPE_FORMAT_ETC2_RG11_UNORM: return &util_format_etc2_rg11_unorm_description; case PIPE_FORMAT_ETC2_RG11_SNORM: return &util_format_etc2_rg11_snorm_description; case PIPE_FORMAT_ASTC_4x4: return &util_format_astc_4x4_description; case PIPE_FORMAT_ASTC_5x4: return &util_format_astc_5x4_description; case PIPE_FORMAT_ASTC_5x5: return &util_format_astc_5x5_description; case PIPE_FORMAT_ASTC_6x5: return &util_format_astc_6x5_description; case PIPE_FORMAT_ASTC_6x6: return &util_format_astc_6x6_description; case PIPE_FORMAT_ASTC_8x5: return &util_format_astc_8x5_description; case PIPE_FORMAT_ASTC_8x6: return &util_format_astc_8x6_description; case PIPE_FORMAT_ASTC_8x8: return &util_format_astc_8x8_description; case PIPE_FORMAT_ASTC_10x5: return &util_format_astc_10x5_description; case PIPE_FORMAT_ASTC_10x6: return &util_format_astc_10x6_description; case PIPE_FORMAT_ASTC_10x8: return &util_format_astc_10x8_description; case PIPE_FORMAT_ASTC_10x10: return &util_format_astc_10x10_description; case PIPE_FORMAT_ASTC_12x10: return &util_format_astc_12x10_description; case PIPE_FORMAT_ASTC_12x12: return &util_format_astc_12x12_description; case PIPE_FORMAT_ASTC_4x4_SRGB: return &util_format_astc_4x4_srgb_description; case PIPE_FORMAT_ASTC_5x4_SRGB: return &util_format_astc_5x4_srgb_description; case PIPE_FORMAT_ASTC_5x5_SRGB: return &util_format_astc_5x5_srgb_description; case PIPE_FORMAT_ASTC_6x5_SRGB: return &util_format_astc_6x5_srgb_description; case PIPE_FORMAT_ASTC_6x6_SRGB: return &util_format_astc_6x6_srgb_description; case PIPE_FORMAT_ASTC_8x5_SRGB: return &util_format_astc_8x5_srgb_description; case PIPE_FORMAT_ASTC_8x6_SRGB: return &util_format_astc_8x6_srgb_description; case PIPE_FORMAT_ASTC_8x8_SRGB: return &util_format_astc_8x8_srgb_description; case PIPE_FORMAT_ASTC_10x5_SRGB: return &util_format_astc_10x5_srgb_description; case PIPE_FORMAT_ASTC_10x6_SRGB: return &util_format_astc_10x6_srgb_description; case PIPE_FORMAT_ASTC_10x8_SRGB: return &util_format_astc_10x8_srgb_description; case PIPE_FORMAT_ASTC_10x10_SRGB: return &util_format_astc_10x10_srgb_description; case PIPE_FORMAT_ASTC_12x10_SRGB: return &util_format_astc_12x10_srgb_description; case PIPE_FORMAT_ASTC_12x12_SRGB: return &util_format_astc_12x12_srgb_description; default: return NULL; } }