// 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 { kA = 0, kR, kG, kB, 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_