65dcbb6426713da5b1bca5e6c47f69879619d0f8
2 * © Copyright 2017-2098 The Panfrost Communiy
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 #include "pan_pretty_print.h"
30 /* Some self-contained prettyprinting functions shared between pandecode and
33 #define DEFINE_CASE(name) case MALI_## name: return "MALI_" #name
34 char *pandecode_format(enum mali_format format
)
36 static char unk_format_str
[10];
39 DEFINE_CASE(ETC2_RGB8
);
40 DEFINE_CASE(ETC2_R11_UNORM
);
41 DEFINE_CASE(ETC2_RGBA8
);
42 DEFINE_CASE(ETC2_RG11_UNORM
);
43 DEFINE_CASE(ETC2_R11_SNORM
);
44 DEFINE_CASE(ETC2_RG11_SNORM
);
45 DEFINE_CASE(ETC2_RGB8A1
);
47 DEFINE_CASE(BC1_UNORM
);
48 DEFINE_CASE(BC2_UNORM
);
49 DEFINE_CASE(BC3_UNORM
);
50 DEFINE_CASE(BC4_UNORM
);
51 DEFINE_CASE(BC4_SNORM
);
52 DEFINE_CASE(BC5_UNORM
);
53 DEFINE_CASE(BC5_SNORM
);
54 DEFINE_CASE(BC6H_UF16
);
55 DEFINE_CASE(BC6H_SF16
);
56 DEFINE_CASE(BC7_UNORM
);
57 DEFINE_CASE(ASTC_3D_LDR
);
58 DEFINE_CASE(ASTC_3D_HDR
);
59 DEFINE_CASE(ASTC_2D_LDR
);
60 DEFINE_CASE(ASTC_2D_HDR
);
62 DEFINE_CASE(RGB5_X1_UNORM
);
63 DEFINE_CASE(RGB5_A1_UNORM
);
64 DEFINE_CASE(RGB10_A2_UNORM
);
65 DEFINE_CASE(RGB10_A2_SNORM
);
66 DEFINE_CASE(RGB10_A2UI
);
67 DEFINE_CASE(RGB10_A2I
);
68 DEFINE_CASE(RGB332_UNORM
);
69 DEFINE_CASE(RGB233_UNORM
);
70 DEFINE_CASE(Z24X8_UNORM
);
71 DEFINE_CASE(R32_FIXED
);
72 DEFINE_CASE(RG32_FIXED
);
73 DEFINE_CASE(RGB32_FIXED
);
74 DEFINE_CASE(RGBA32_FIXED
);
75 DEFINE_CASE(R11F_G11F_B10F
);
76 DEFINE_CASE(R9F_G9F_B9F_E5F
);
77 DEFINE_CASE(VARYING_POS
);
78 DEFINE_CASE(VARYING_DISCARD
);
80 DEFINE_CASE(R8_SNORM
);
81 DEFINE_CASE(R16_SNORM
);
82 DEFINE_CASE(R32_SNORM
);
83 DEFINE_CASE(RG8_SNORM
);
84 DEFINE_CASE(RG16_SNORM
);
85 DEFINE_CASE(RG32_SNORM
);
86 DEFINE_CASE(RGB8_SNORM
);
87 DEFINE_CASE(RGB16_SNORM
);
88 DEFINE_CASE(RGB32_SNORM
);
89 DEFINE_CASE(RGBA8_SNORM
);
90 DEFINE_CASE(RGBA16_SNORM
);
91 DEFINE_CASE(RGBA32_SNORM
);
100 DEFINE_CASE(RGB16UI
);
101 DEFINE_CASE(RGB32UI
);
102 DEFINE_CASE(RGBA8UI
);
103 DEFINE_CASE(RGBA16UI
);
104 DEFINE_CASE(RGBA32UI
);
106 DEFINE_CASE(R8_UNORM
);
107 DEFINE_CASE(R16_UNORM
);
108 DEFINE_CASE(R32_UNORM
);
110 DEFINE_CASE(RG8_UNORM
);
111 DEFINE_CASE(RG16_UNORM
);
112 DEFINE_CASE(RG32_UNORM
);
114 DEFINE_CASE(RGB8_UNORM
);
115 DEFINE_CASE(RGB16_UNORM
);
116 DEFINE_CASE(RGB32_UNORM
);
118 DEFINE_CASE(RGBA4_UNORM
);
119 DEFINE_CASE(RGBA8_UNORM
);
120 DEFINE_CASE(RGBA16_UNORM
);
121 DEFINE_CASE(RGBA32_UNORM
);
122 DEFINE_CASE(RGBA32F
);
137 DEFINE_CASE(RGBA16I
);
138 DEFINE_CASE(RGBA32I
);
139 DEFINE_CASE(RGBA16F
);
142 DEFINE_CASE(RGBA8_2
);
143 DEFINE_CASE(RGB10_A2_2
);
145 snprintf(unk_format_str
, sizeof(unk_format_str
), "MALI_0x%02x", format
);
146 return unk_format_str
;