1 // Copyright 2018 The Amber Authors. 2 // 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 #ifndef SRC_FORMAT_DATA_H_ 16 #define SRC_FORMAT_DATA_H_ 17 18 enum class FormatComponentType { 19 kR = 0, 20 kG, 21 kB, 22 kA, 23 kX, 24 kD, 25 kS, 26 }; 27 28 enum class FormatMode { 29 kUNorm = 0, 30 kUInt, 31 kUFloat, 32 kUScaled, 33 kSInt, 34 kSNorm, 35 kSScaled, 36 kSFloat, 37 kSRGB, 38 }; 39 40 enum class FormatType { 41 kUnknown = 0, 42 kA1R5G5B5_UNORM_PACK16, 43 kA2B10G10R10_SINT_PACK32, 44 kA2B10G10R10_SNORM_PACK32, 45 kA2B10G10R10_SSCALED_PACK32, 46 kA2B10G10R10_UINT_PACK32, 47 kA2B10G10R10_UNORM_PACK32, 48 kA2B10G10R10_USCALED_PACK32, 49 kA2R10G10B10_SINT_PACK32, 50 kA2R10G10B10_SNORM_PACK32, 51 kA2R10G10B10_SSCALED_PACK32, 52 kA2R10G10B10_UINT_PACK32, 53 kA2R10G10B10_UNORM_PACK32, 54 kA2R10G10B10_USCALED_PACK32, 55 kA8B8G8R8_SINT_PACK32, 56 kA8B8G8R8_SNORM_PACK32, 57 kA8B8G8R8_SRGB_PACK32, 58 kA8B8G8R8_SSCALED_PACK32, 59 kA8B8G8R8_UINT_PACK32, 60 kA8B8G8R8_UNORM_PACK32, 61 kA8B8G8R8_USCALED_PACK32, 62 kB10G11R11_UFLOAT_PACK32, 63 kB4G4R4A4_UNORM_PACK16, 64 kB5G5R5A1_UNORM_PACK16, 65 kB5G6R5_UNORM_PACK16, 66 kB8G8R8A8_SINT, 67 kB8G8R8A8_SNORM, 68 kB8G8R8A8_SRGB, 69 kB8G8R8A8_SSCALED, 70 kB8G8R8A8_UINT, 71 kB8G8R8A8_UNORM, 72 kB8G8R8A8_USCALED, 73 kB8G8R8_SINT, 74 kB8G8R8_SNORM, 75 kB8G8R8_SRGB, 76 kB8G8R8_SSCALED, 77 kB8G8R8_UINT, 78 kB8G8R8_UNORM, 79 kB8G8R8_USCALED, 80 kD16_UNORM, 81 kD16_UNORM_S8_UINT, 82 kD24_UNORM_S8_UINT, 83 kD32_SFLOAT, 84 kD32_SFLOAT_S8_UINT, 85 kR16G16B16A16_SFLOAT, 86 kR16G16B16A16_SINT, 87 kR16G16B16A16_SNORM, 88 kR16G16B16A16_SSCALED, 89 kR16G16B16A16_UINT, 90 kR16G16B16A16_UNORM, 91 kR16G16B16A16_USCALED, 92 kR16G16B16_SFLOAT, 93 kR16G16B16_SINT, 94 kR16G16B16_SNORM, 95 kR16G16B16_SSCALED, 96 kR16G16B16_UINT, 97 kR16G16B16_UNORM, 98 kR16G16B16_USCALED, 99 kR16G16_SFLOAT, 100 kR16G16_SINT, 101 kR16G16_SNORM, 102 kR16G16_SSCALED, 103 kR16G16_UINT, 104 kR16G16_UNORM, 105 kR16G16_USCALED, 106 kR16_SFLOAT, 107 kR16_SINT, 108 kR16_SNORM, 109 kR16_SSCALED, 110 kR16_UINT, 111 kR16_UNORM, 112 kR16_USCALED, 113 kR32G32B32A32_SFLOAT, 114 kR32G32B32A32_SINT, 115 kR32G32B32A32_UINT, 116 kR32G32B32_SFLOAT, 117 kR32G32B32_SINT, 118 kR32G32B32_UINT, 119 kR32G32_SFLOAT, 120 kR32G32_SINT, 121 kR32G32_UINT, 122 kR32_SFLOAT, 123 kR32_SINT, 124 kR32_UINT, 125 kR4G4B4A4_UNORM_PACK16, 126 kR4G4_UNORM_PACK8, 127 kR5G5B5A1_UNORM_PACK16, 128 kR5G6B5_UNORM_PACK16, 129 kR64G64B64A64_SFLOAT, 130 kR64G64B64A64_SINT, 131 kR64G64B64A64_UINT, 132 kR64G64B64_SFLOAT, 133 kR64G64B64_SINT, 134 kR64G64B64_UINT, 135 kR64G64_SFLOAT, 136 kR64G64_SINT, 137 kR64G64_UINT, 138 kR64_SFLOAT, 139 kR64_SINT, 140 kR64_UINT, 141 kR8G8B8A8_SINT, 142 kR8G8B8A8_SNORM, 143 kR8G8B8A8_SRGB, 144 kR8G8B8A8_SSCALED, 145 kR8G8B8A8_UINT, 146 kR8G8B8A8_UNORM, 147 kR8G8B8A8_USCALED, 148 kR8G8B8_SINT, 149 kR8G8B8_SNORM, 150 kR8G8B8_SRGB, 151 kR8G8B8_SSCALED, 152 kR8G8B8_UINT, 153 kR8G8B8_UNORM, 154 kR8G8B8_USCALED, 155 kR8G8_SINT, 156 kR8G8_SNORM, 157 kR8G8_SRGB, 158 kR8G8_SSCALED, 159 kR8G8_UINT, 160 kR8G8_UNORM, 161 kR8G8_USCALED, 162 kR8_SINT, 163 kR8_SNORM, 164 kR8_SRGB, 165 kR8_SSCALED, 166 kR8_UINT, 167 kR8_UNORM, 168 kR8_USCALED, 169 kS8_UINT, 170 kX8_D24_UNORM_PACK32, 171 }; 172 173 #endif // SRC_FORMAT_DATA_H_ 174