| // Copyright 2018 The Amber Authors. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| #ifndef SRC_FORMAT_DATA_H_ |
| #define SRC_FORMAT_DATA_H_ |
| |
| enum class FormatComponentType { |
| kR = 0, |
| kG, |
| kB, |
| kA, |
| kX, |
| kD, |
| kS, |
| }; |
| |
| enum class FormatMode { |
| kUNorm = 0, |
| kUInt, |
| kUFloat, |
| kUScaled, |
| kSInt, |
| kSNorm, |
| kSScaled, |
| kSFloat, |
| kSRGB, |
| }; |
| |
| enum class FormatType { |
| kUnknown = 0, |
| kA1R5G5B5_UNORM_PACK16, |
| kA2B10G10R10_SINT_PACK32, |
| kA2B10G10R10_SNORM_PACK32, |
| kA2B10G10R10_SSCALED_PACK32, |
| kA2B10G10R10_UINT_PACK32, |
| kA2B10G10R10_UNORM_PACK32, |
| kA2B10G10R10_USCALED_PACK32, |
| kA2R10G10B10_SINT_PACK32, |
| kA2R10G10B10_SNORM_PACK32, |
| kA2R10G10B10_SSCALED_PACK32, |
| kA2R10G10B10_UINT_PACK32, |
| kA2R10G10B10_UNORM_PACK32, |
| kA2R10G10B10_USCALED_PACK32, |
| kA8B8G8R8_SINT_PACK32, |
| kA8B8G8R8_SNORM_PACK32, |
| kA8B8G8R8_SRGB_PACK32, |
| kA8B8G8R8_SSCALED_PACK32, |
| kA8B8G8R8_UINT_PACK32, |
| kA8B8G8R8_UNORM_PACK32, |
| kA8B8G8R8_USCALED_PACK32, |
| kB10G11R11_UFLOAT_PACK32, |
| kB4G4R4A4_UNORM_PACK16, |
| kB5G5R5A1_UNORM_PACK16, |
| kB5G6R5_UNORM_PACK16, |
| kB8G8R8A8_SINT, |
| kB8G8R8A8_SNORM, |
| kB8G8R8A8_SRGB, |
| kB8G8R8A8_SSCALED, |
| kB8G8R8A8_UINT, |
| kB8G8R8A8_UNORM, |
| kB8G8R8A8_USCALED, |
| kB8G8R8_SINT, |
| kB8G8R8_SNORM, |
| kB8G8R8_SRGB, |
| kB8G8R8_SSCALED, |
| kB8G8R8_UINT, |
| kB8G8R8_UNORM, |
| kB8G8R8_USCALED, |
| kD16_UNORM, |
| kD16_UNORM_S8_UINT, |
| kD24_UNORM_S8_UINT, |
| kD32_SFLOAT, |
| kD32_SFLOAT_S8_UINT, |
| kR16G16B16A16_SFLOAT, |
| kR16G16B16A16_SINT, |
| kR16G16B16A16_SNORM, |
| kR16G16B16A16_SSCALED, |
| kR16G16B16A16_UINT, |
| kR16G16B16A16_UNORM, |
| kR16G16B16A16_USCALED, |
| kR16G16B16_SFLOAT, |
| kR16G16B16_SINT, |
| kR16G16B16_SNORM, |
| kR16G16B16_SSCALED, |
| kR16G16B16_UINT, |
| kR16G16B16_UNORM, |
| kR16G16B16_USCALED, |
| kR16G16_SFLOAT, |
| kR16G16_SINT, |
| kR16G16_SNORM, |
| kR16G16_SSCALED, |
| kR16G16_UINT, |
| kR16G16_UNORM, |
| kR16G16_USCALED, |
| kR16_SFLOAT, |
| kR16_SINT, |
| kR16_SNORM, |
| kR16_SSCALED, |
| kR16_UINT, |
| kR16_UNORM, |
| kR16_USCALED, |
| kR32G32B32A32_SFLOAT, |
| kR32G32B32A32_SINT, |
| kR32G32B32A32_UINT, |
| kR32G32B32_SFLOAT, |
| kR32G32B32_SINT, |
| kR32G32B32_UINT, |
| kR32G32_SFLOAT, |
| kR32G32_SINT, |
| kR32G32_UINT, |
| kR32_SFLOAT, |
| kR32_SINT, |
| kR32_UINT, |
| kR4G4B4A4_UNORM_PACK16, |
| kR4G4_UNORM_PACK8, |
| kR5G5B5A1_UNORM_PACK16, |
| kR5G6B5_UNORM_PACK16, |
| kR64G64B64A64_SFLOAT, |
| kR64G64B64A64_SINT, |
| kR64G64B64A64_UINT, |
| kR64G64B64_SFLOAT, |
| kR64G64B64_SINT, |
| kR64G64B64_UINT, |
| kR64G64_SFLOAT, |
| kR64G64_SINT, |
| kR64G64_UINT, |
| kR64_SFLOAT, |
| kR64_SINT, |
| kR64_UINT, |
| kR8G8B8A8_SINT, |
| kR8G8B8A8_SNORM, |
| kR8G8B8A8_SRGB, |
| kR8G8B8A8_SSCALED, |
| kR8G8B8A8_UINT, |
| kR8G8B8A8_UNORM, |
| kR8G8B8A8_USCALED, |
| kR8G8B8_SINT, |
| kR8G8B8_SNORM, |
| kR8G8B8_SRGB, |
| kR8G8B8_SSCALED, |
| kR8G8B8_UINT, |
| kR8G8B8_UNORM, |
| kR8G8B8_USCALED, |
| kR8G8_SINT, |
| kR8G8_SNORM, |
| kR8G8_SRGB, |
| kR8G8_SSCALED, |
| kR8G8_UINT, |
| kR8G8_UNORM, |
| kR8G8_USCALED, |
| kR8_SINT, |
| kR8_SNORM, |
| kR8_SRGB, |
| kR8_SSCALED, |
| kR8_UINT, |
| kR8_UNORM, |
| kR8_USCALED, |
| kS8_UINT, |
| kX8_D24_UNORM_PACK32, |
| }; |
| |
| #endif // SRC_FORMAT_DATA_H_ |