1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef LOADER_JSON_FORMAT_SERIALIZATION_H
17 #define LOADER_JSON_FORMAT_SERIALIZATION_H
18 
19 #include <base/util/formats.h>
20 #include <render/namespace.h>
21 
22 #include "json_util.h"
23 
24 BASE_BEGIN_NAMESPACE()
25 // clang-format off
26 CORE_JSON_SERIALIZE_ENUM(BASE_NS::Format,
27     {
28         { BASE_NS::Format::BASE_FORMAT_UNDEFINED, "undefined" },
29         { BASE_NS::Format::BASE_FORMAT_R4G4_UNORM_PACK8, "r4g4_unorm_pack8" },
30         { BASE_NS::Format::BASE_FORMAT_R4G4B4A4_UNORM_PACK16, "r4g4b4a4_unorm_pack16" },
31         { BASE_NS::Format::BASE_FORMAT_B4G4R4A4_UNORM_PACK16, "b4g4r4a4_unorm_pack16" },
32         { BASE_NS::Format::BASE_FORMAT_R5G6B5_UNORM_PACK16, "r5g6b5_unorm_pack16" },
33         { BASE_NS::Format::BASE_FORMAT_B5G6R5_UNORM_PACK16, "b5g6r5_unorm_pack16" },
34         { BASE_NS::Format::BASE_FORMAT_R5G5B5A1_UNORM_PACK16, "r5g5b5a1_unorm_pack16" },
35         { BASE_NS::Format::BASE_FORMAT_B5G5R5A1_UNORM_PACK16, "b5g5r5a1_unorm_pack16" },
36         { BASE_NS::Format::BASE_FORMAT_A1R5G5B5_UNORM_PACK16, "a1r5g5b5_unorm_pack16" },
37         { BASE_NS::Format::BASE_FORMAT_R8_UNORM, "r8_unorm" },
38         { BASE_NS::Format::BASE_FORMAT_R8_SNORM, "r8_snorm" },
39         { BASE_NS::Format::BASE_FORMAT_R8_USCALED, "r8_uscaled" },
40         { BASE_NS::Format::BASE_FORMAT_R8_SSCALED, "r8_sscaled" },
41         { BASE_NS::Format::BASE_FORMAT_R8_UINT, "r8_uint" },
42         { BASE_NS::Format::BASE_FORMAT_R8_SINT, "r8_sint" },
43         { BASE_NS::Format::BASE_FORMAT_R8_SRGB, "r8_srgb" },
44         { BASE_NS::Format::BASE_FORMAT_R8G8_UNORM, "r8g8_unorm" },
45         { BASE_NS::Format::BASE_FORMAT_R8G8_SNORM, "r8g8_snorm" },
46         { BASE_NS::Format::BASE_FORMAT_R8G8_USCALED, "r8g8_uscaled" },
47         { BASE_NS::Format::BASE_FORMAT_R8G8_SSCALED, "r8g8_sscaled" },
48         { BASE_NS::Format::BASE_FORMAT_R8G8_UINT, "r8g8_uint" },
49         { BASE_NS::Format::BASE_FORMAT_R8G8_SINT, "r8g8_sint" },
50         { BASE_NS::Format::BASE_FORMAT_R8G8_SRGB, "r8g8_srgb" },
51         { BASE_NS::Format::BASE_FORMAT_R8G8B8_UNORM, "r8g8b8_unorm" },
52         { BASE_NS::Format::BASE_FORMAT_R8G8B8_SNORM, "r8g8b8_snorm" },
53         { BASE_NS::Format::BASE_FORMAT_R8G8B8_USCALED, "r8g8b8_uscaled" },
54         { BASE_NS::Format::BASE_FORMAT_R8G8B8_SSCALED, "r8g8b8_sscaled" },
55         { BASE_NS::Format::BASE_FORMAT_R8G8B8_UINT, "r8g8b8_uint" },
56         { BASE_NS::Format::BASE_FORMAT_R8G8B8_SINT, "r8g8b8_sint" },
57         { BASE_NS::Format::BASE_FORMAT_R8G8B8_SRGB, "r8g8b8_srgb" },
58         { BASE_NS::Format::BASE_FORMAT_B8G8R8_UNORM, "b8g8r8_unorm" },
59         { BASE_NS::Format::BASE_FORMAT_B8G8R8_SNORM, "b8g8r8_snorm" },
60         { BASE_NS::Format::BASE_FORMAT_B8G8R8_USCALED, "b8g8r8_uscaled" },
61         { BASE_NS::Format::BASE_FORMAT_B8G8R8_SSCALED, "b8g8r8_sscaled" },
62         { BASE_NS::Format::BASE_FORMAT_B8G8R8_UINT, "b8g8r8_uint" },
63         { BASE_NS::Format::BASE_FORMAT_B8G8R8_SINT, "b8g8r8_sint" },
64         { BASE_NS::Format::BASE_FORMAT_B8G8R8_SRGB, "b8g8r8_srgb" },
65         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_UNORM, "r8g8b8a8_unorm" },
66         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_SNORM, "r8g8b8a8_snorm" },
67         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_USCALED, "r8g8b8a8_uscaled" },
68         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_SSCALED, "r8g8b8a8_sscaled" },
69         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_UINT, "r8g8b8a8_uint" },
70         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_SINT, "r8g8b8a8_sint" },
71         { BASE_NS::Format::BASE_FORMAT_R8G8B8A8_SRGB, "r8g8b8a8_srgb" },
72         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_UNORM, "b8g8r8a8_unorm" },
73         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_SNORM, "b8g8r8a8_snorm" },
74         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_USCALED, "b8g8r8a8_uscaled" },
75         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_SSCALED, "b8g8r8a8_sscaled" },
76         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_UINT, "b8g8r8a8_uint" },
77         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_SINT, "b8g8r8a8_sint" },
78         { BASE_NS::Format::BASE_FORMAT_B8G8R8A8_SRGB, "b8g8r8a8_srgb" },
79         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_UNORM_PACK32, "a8b8g8r8_unorm_pack32" },
80         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_SNORM_PACK32, "a8b8g8r8_snorm_pack32" },
81         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_USCALED_PACK32, "a8b8g8r8_uscaled_pack32" },
82         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_SSCALED_PACK32, "a8b8g8r8_sscaled_pack32" },
83         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_UINT_PACK32, "a8b8g8r8_uint_pack32" },
84         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_SINT_PACK32, "a8b8g8r8_sint_pack32" },
85         { BASE_NS::Format::BASE_FORMAT_A8B8G8R8_SRGB_PACK32, "a8b8g8r8_srgb_pack32" },
86         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_UNORM_PACK32, "a2r10g10b10_unorm_pack32" },
87         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_SNORM_PACK32, "a2r10g10b10_snorm_pack32" },
88         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_USCALED_PACK32, "a2r10g10b10_uscaled_pack32" },
89         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_SSCALED_PACK32, "a2r10g10b10_sscaled_pack32" },
90         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_UINT_PACK32, "a2r10g10b10_uint_pack32" },
91         { BASE_NS::Format::BASE_FORMAT_A2R10G10B10_SINT_PACK32, "a2r10g10b10_sint_pack32" },
92         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_UNORM_PACK32, "a2b10g10r10_unorm_pack32" },
93         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_SNORM_PACK32, "a2b10g10r10_snorm_pack32" },
94         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_USCALED_PACK32, "a2b10g10r10_uscaled_pack32" },
95         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_SSCALED_PACK32, "a2b10g10r10_sscaled_pack32" },
96         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_UINT_PACK32, "a2b10g10r10_uint_pack32" },
97         { BASE_NS::Format::BASE_FORMAT_A2B10G10R10_SINT_PACK32, "a2b10g10r10_sint_pack32" },
98         { BASE_NS::Format::BASE_FORMAT_R16_UNORM, "r16_unorm" },
99         { BASE_NS::Format::BASE_FORMAT_R16_SNORM, "r16_snorm" },
100         { BASE_NS::Format::BASE_FORMAT_R16_USCALED, "r16_uscaled" },
101         { BASE_NS::Format::BASE_FORMAT_R16_SSCALED, "r16_sscaled" },
102         { BASE_NS::Format::BASE_FORMAT_R16_UINT, "r16_uint" },
103         { BASE_NS::Format::BASE_FORMAT_R16_SINT, "r16_sint" },
104         { BASE_NS::Format::BASE_FORMAT_R16_SFLOAT, "r16_sfloat" },
105         { BASE_NS::Format::BASE_FORMAT_R16G16_UNORM, "r16g16_unorm" },
106         { BASE_NS::Format::BASE_FORMAT_R16G16_UNORM, "r16g16_unorm" },
107         { BASE_NS::Format::BASE_FORMAT_R16G16_SNORM, "r16g16_snorm" },
108         { BASE_NS::Format::BASE_FORMAT_R16G16_USCALED, "r16g16_uscaled" },
109         { BASE_NS::Format::BASE_FORMAT_R16G16_SSCALED, "r16g16_sscaled" },
110         { BASE_NS::Format::BASE_FORMAT_R16G16_UINT, "r16g16_uint" },
111         { BASE_NS::Format::BASE_FORMAT_R16G16_SINT, "r16g16_sint" },
112         { BASE_NS::Format::BASE_FORMAT_R16G16_SFLOAT, "r16g16_sfloat" },
113         { BASE_NS::Format::BASE_FORMAT_R16G16B16_UNORM, "r16g16b16_unorm" },
114         { BASE_NS::Format::BASE_FORMAT_R16G16B16_SNORM, "r16g16b16_snorm" },
115         { BASE_NS::Format::BASE_FORMAT_R16G16B16_USCALED, "r16g16b16_uscaled" },
116         { BASE_NS::Format::BASE_FORMAT_R16G16B16_SSCALED, "r16g16b16_sscaled" },
117         { BASE_NS::Format::BASE_FORMAT_R16G16B16_UINT, "r16g16b16_uint" },
118         { BASE_NS::Format::BASE_FORMAT_R16G16B16_SINT, "r16g16b16_sint" },
119         { BASE_NS::Format::BASE_FORMAT_R16G16B16_SFLOAT, "r16g16b16_sfloat" },
120         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_UNORM, "r16g16b16a16_unorm" },
121         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_SNORM, "r16g16b16a16_snorm" },
122         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_USCALED, "r16g16b16a16_uscaled" },
123         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_SSCALED, "r16g16b16a16_sscaled" },
124         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_UINT, "r16g16b16a16_uint" },
125         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_SINT, "r16g16b16a16_sint" },
126         { BASE_NS::Format::BASE_FORMAT_R16G16B16A16_SFLOAT, "r16g16b16a16_sfloat" },
127         { BASE_NS::Format::BASE_FORMAT_R32_UINT, "r32_uint" },
128         { BASE_NS::Format::BASE_FORMAT_R32_SINT, "r32_sint" },
129         { BASE_NS::Format::BASE_FORMAT_R32_SFLOAT, "r32_sfloat" },
130         { BASE_NS::Format::BASE_FORMAT_R32G32_UINT, "r32g32_uint" },
131         { BASE_NS::Format::BASE_FORMAT_R32G32_SINT, "r32g32_sint" },
132         { BASE_NS::Format::BASE_FORMAT_R32G32_SFLOAT, "r32g32_sfloat" },
133         { BASE_NS::Format::BASE_FORMAT_R32G32B32_UINT, "r32g32b32_uint" },
134         { BASE_NS::Format::BASE_FORMAT_R32G32B32_SINT, "r32g32b32_sint" },
135         { BASE_NS::Format::BASE_FORMAT_R32G32B32_SFLOAT, "r32g32b32_sfloat" },
136         { BASE_NS::Format::BASE_FORMAT_R32G32B32A32_UINT, "r32g32b32a32_uint" },
137         { BASE_NS::Format::BASE_FORMAT_R32G32B32A32_SINT, "r32g32b32a32_sint" },
138         { BASE_NS::Format::BASE_FORMAT_R32G32B32A32_SFLOAT, "r32g32b32a32_sfloat" },
139         { BASE_NS::Format::BASE_FORMAT_R64_UINT, "r64_uint" },
140         { BASE_NS::Format::BASE_FORMAT_R64_SINT, "r64_sint" },
141         { BASE_NS::Format::BASE_FORMAT_R64_SFLOAT, "r64_sfloat" },
142         { BASE_NS::Format::BASE_FORMAT_R64G64_UINT, "r64g64_uint" },
143         { BASE_NS::Format::BASE_FORMAT_R64G64_SINT, "r64g64_sint" },
144         { BASE_NS::Format::BASE_FORMAT_R64G64_SFLOAT, "r64g64_sfloat" },
145         { BASE_NS::Format::BASE_FORMAT_R64G64B64_UINT, "r64g64b64_uint" },
146         { BASE_NS::Format::BASE_FORMAT_R64G64B64_SINT, "r64g64b64_sint" },
147         { BASE_NS::Format::BASE_FORMAT_R64G64B64_SFLOAT, "r64g64b64_sfloat" },
148         { BASE_NS::Format::BASE_FORMAT_R64G64B64A64_UINT, "r64g64b64a64_uint" },
149         { BASE_NS::Format::BASE_FORMAT_R64G64B64A64_SINT, "r64g64b64a64_sint" },
150         { BASE_NS::Format::BASE_FORMAT_R64G64B64A64_SFLOAT, "r64g64b64a64_sfloat" },
151         { BASE_NS::Format::BASE_FORMAT_B10G11R11_UFLOAT_PACK32, "b10g11r11_ufloat_pack32" },
152         { BASE_NS::Format::BASE_FORMAT_E5B9G9R9_UFLOAT_PACK32, "e5b9g9r9_ufloat_pack32" },
153         { BASE_NS::Format::BASE_FORMAT_D16_UNORM, "d16_unorm" },
154         { BASE_NS::Format::BASE_FORMAT_X8_D24_UNORM_PACK32, "x8_d24_unorm_pack32" },
155         { BASE_NS::Format::BASE_FORMAT_D32_SFLOAT, "d32_sfloat" },
156         { BASE_NS::Format::BASE_FORMAT_S8_UINT, "s8_uint" },
157         { BASE_NS::Format::BASE_FORMAT_D24_UNORM_S8_UINT, "d24_unorm_s8_uint" },
158         { BASE_NS::Format::BASE_FORMAT_BC1_RGB_UNORM_BLOCK, "bc1_rgb_unorm_block" },
159         { BASE_NS::Format::BASE_FORMAT_BC1_RGB_SRGB_BLOCK, "bc1_rgb_srgb_block" },
160         { BASE_NS::Format::BASE_FORMAT_BC1_RGBA_UNORM_BLOCK, "bc1_rgba_unorm_block" },
161         { BASE_NS::Format::BASE_FORMAT_BC1_RGBA_SRGB_BLOCK, "bc1_rgba_srgb_block" },
162         { BASE_NS::Format::BASE_FORMAT_BC2_UNORM_BLOCK, "bc2_unorm_block" },
163         { BASE_NS::Format::BASE_FORMAT_BC2_SRGB_BLOCK, "bc2_srgb_block" },
164         { BASE_NS::Format::BASE_FORMAT_BC3_UNORM_BLOCK, "bc3_unorm_block" },
165         { BASE_NS::Format::BASE_FORMAT_BC3_SRGB_BLOCK, "bc3_srgb_block" },
166         { BASE_NS::Format::BASE_FORMAT_BC4_UNORM_BLOCK, "bc4_unorm_block" },
167         { BASE_NS::Format::BASE_FORMAT_BC4_SNORM_BLOCK, "bc4_snorm_block" },
168         { BASE_NS::Format::BASE_FORMAT_BC5_UNORM_BLOCK, "bc5_unorm_block" },
169         { BASE_NS::Format::BASE_FORMAT_BC5_SNORM_BLOCK, "bc5_snorm_block" },
170         { BASE_NS::Format::BASE_FORMAT_BC6H_UFLOAT_BLOCK, "bc6h_ufloat_block" },
171         { BASE_NS::Format::BASE_FORMAT_BC6H_SFLOAT_BLOCK, "bc6h_sfloat_block" },
172         { BASE_NS::Format::BASE_FORMAT_BC7_UNORM_BLOCK, "bc7_unorm_block" },
173         { BASE_NS::Format::BASE_FORMAT_BC7_SRGB_BLOCK, "bc7_srgb_block" },
174         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, "etc2_r8g8b8_unorm_block" },
175         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, "etc2_r8g8b8_srgb_block" },
176         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, "etc2_r8g8b8a1_unorm_block" },
177         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, "etc2_r8g8b8a1_srgb_block" },
178         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, "etc2_r8g8b8a8_unorm_block" },
179         { BASE_NS::Format::BASE_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, "etc2_r8g8b8a8_srgb_block" },
180         { BASE_NS::Format::BASE_FORMAT_EAC_R11_UNORM_BLOCK, "eac_r11_unorm_block" },
181         { BASE_NS::Format::BASE_FORMAT_EAC_R11_SNORM_BLOCK, "eac_r11_snorm_block" },
182         { BASE_NS::Format::BASE_FORMAT_EAC_R11G11_UNORM_BLOCK, "eac_r11g11_unorm_block" },
183         { BASE_NS::Format::BASE_FORMAT_EAC_R11G11_SNORM_BLOCK, "eac_r11g11_snorm_block" },
184         { BASE_NS::Format::BASE_FORMAT_ASTC_4x4_UNORM_BLOCK, "astc_4x4_unorm_block" },
185         { BASE_NS::Format::BASE_FORMAT_ASTC_4x4_SRGB_BLOCK, "astc_4x4_srgb_block" },
186         { BASE_NS::Format::BASE_FORMAT_ASTC_5x4_UNORM_BLOCK, "astc_5x4_unorm_block" },
187         { BASE_NS::Format::BASE_FORMAT_ASTC_5x4_SRGB_BLOCK, "astc_5x4_srgb_block" },
188         { BASE_NS::Format::BASE_FORMAT_ASTC_5x5_UNORM_BLOCK, "astc_5x5_unorm_block" },
189         { BASE_NS::Format::BASE_FORMAT_ASTC_5x5_SRGB_BLOCK, "astc_5x5_srgb_block" },
190         { BASE_NS::Format::BASE_FORMAT_ASTC_6x5_UNORM_BLOCK, "astc_6x5_unorm_block" },
191         { BASE_NS::Format::BASE_FORMAT_ASTC_6x5_SRGB_BLOCK, "astc_6x5_srgb_block" },
192         { BASE_NS::Format::BASE_FORMAT_ASTC_6x6_UNORM_BLOCK, "astc_6x6_unorm_block" },
193         { BASE_NS::Format::BASE_FORMAT_ASTC_6x6_SRGB_BLOCK, "astc_6x6_srgb_block" },
194         { BASE_NS::Format::BASE_FORMAT_ASTC_8x5_UNORM_BLOCK, "astc_8x5_unorm_block" },
195         { BASE_NS::Format::BASE_FORMAT_ASTC_8x5_SRGB_BLOCK, "astc_8x5_srgb_block" },
196         { BASE_NS::Format::BASE_FORMAT_ASTC_8x6_UNORM_BLOCK, "astc_8x6_unorm_block" },
197         { BASE_NS::Format::BASE_FORMAT_ASTC_8x6_SRGB_BLOCK, "astc_8x6_srgb_block" },
198         { BASE_NS::Format::BASE_FORMAT_ASTC_8x8_UNORM_BLOCK, "astc_8x8_unorm_block" },
199         { BASE_NS::Format::BASE_FORMAT_ASTC_8x8_SRGB_BLOCK, "astc_8x8_srgb_block" },
200         { BASE_NS::Format::BASE_FORMAT_ASTC_10x5_UNORM_BLOCK, "astc_10x5_unorm_block" },
201         { BASE_NS::Format::BASE_FORMAT_ASTC_10x5_SRGB_BLOCK, "astc_10x5_srgb_block" },
202         { BASE_NS::Format::BASE_FORMAT_ASTC_10x6_UNORM_BLOCK, "astc_10x6_unorm_block" },
203         { BASE_NS::Format::BASE_FORMAT_ASTC_10x6_SRGB_BLOCK, "astc_10x6_srgb_block" },
204         { BASE_NS::Format::BASE_FORMAT_ASTC_10x8_UNORM_BLOCK, "astc_10x8_unorm_block" },
205         { BASE_NS::Format::BASE_FORMAT_ASTC_10x8_SRGB_BLOCK, "astc_10x8_srgb_block" },
206         { BASE_NS::Format::BASE_FORMAT_ASTC_10x10_UNORM_BLOCK, "astc_10x10_unorm_block" },
207         { BASE_NS::Format::BASE_FORMAT_ASTC_10x10_SRGB_BLOCK, "astc_10x10_srgb_block" },
208         { BASE_NS::Format::BASE_FORMAT_ASTC_12x10_UNORM_BLOCK, "astc_12x10_unorm_block" },
209         { BASE_NS::Format::BASE_FORMAT_ASTC_12x10_SRGB_BLOCK, "astc_12x10_srgb_block" },
210         { BASE_NS::Format::BASE_FORMAT_ASTC_12x12_UNORM_BLOCK, "astc_12x12_unorm_block" },
211         { BASE_NS::Format::BASE_FORMAT_ASTC_12x12_SRGB_BLOCK, "astc_12x12_srgb_block" },
212         { BASE_NS::Format::BASE_FORMAT_G8B8G8R8_422_UNORM, "G8B8G8R8_422_UNORM" },
213         { BASE_NS::Format::BASE_FORMAT_B8G8R8G8_422_UNORM, "B8G8R8G8_422_UNORM" },
214         { BASE_NS::Format::BASE_FORMAT_G8_B8_R8_3PLANE_420_UNORM, "G8_B8_R8_3PLANE_420_UNORM" },
215         { BASE_NS::Format::BASE_FORMAT_G8_B8R8_2PLANE_420_UNORM, "G8_B8R8_2PLANE_420_UNORM" },
216         { BASE_NS::Format::BASE_FORMAT_G8_B8_R8_3PLANE_422_UNORM, "G8_B8_R8_3PLANE_422_UNORM" },
217         { BASE_NS::Format::BASE_FORMAT_G8_B8R8_2PLANE_422_UNORM, "G8_B8R8_2PLANE_422_UNORM" },
218         { BASE_NS::Format::BASE_FORMAT_G8_B8_R8_3PLANE_444_UNORM, "G8_B8_R8_3PLANE_444_UNORM" },
219     })
220 // clang-format on
221 BASE_END_NAMESPACE()
222 #endif // LOADER_JSON_FORMAT_SERIALIZATION_H
223