/**************************************************************************** * Copyright (C) 2016 Intel Corporation. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. * * @file format_traits.h * * @brief Format Traits. auto-generated file * * DO NOT EDIT * ******************************************************************************/ #pragma once #include "format_types.h" #include "format_utils.h" ////////////////////////////////////////////////////////////////////////// /// FormatSwizzle - Component swizzle selects ////////////////////////////////////////////////////////////////////////// template struct FormatSwizzle { // Return swizzle select for component. INLINE static uint32_t swizzle(uint32_t c) { static const uint32_t s[4] = {comp0, comp1, comp2, comp3}; return s[c]; } }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits ////////////////////////////////////////////////////////////////////////// template struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0> { static const uint32_t bpp{0}; static const uint32_t numComps{0}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R64G64_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose64_64 TransposeT; typedef Format2<64, 64> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32X32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32A32_SFIXED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32_32 TransposeT; typedef Format4<32, 32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32B32_SFIXED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{96}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32_32 TransposeT; typedef Format3<32, 32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for /// R32_FLOAT_X8X24_TYPELESS ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for X32_TYPELESS_G8X24_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L32A32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R64_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<64> TransposeT; typedef Format1<64> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16X16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16X16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L32X32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I32X32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16A16_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16_16 TransposeT; typedef Format4<16, 16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32G32_SFIXED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose32_32 TransposeT; typedef Format2<32, 32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B8G8R8A8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B8G8R8A8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R11G11B10_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose11_11_10 TransposeT; typedef Format3<11, 11, 10> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for /// R10G10B10_FLOAT_A2_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R24_UNORM_X8_TYPELESS ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<24> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for X24_TYPELESS_G8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L32_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L16A16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I24X8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose24_8 TransposeT; typedef Format2<24, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L24X8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose24_8 TransposeT; typedef Format2<24, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A32_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B8G8R8X8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B8G8R8X8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8X8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8X8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R9G9B9E5_SHAREDEXP ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose9_9_9_5 TransposeT; typedef Format4<9, 9, 9, 5> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10X2_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L16A16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10X2_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8A8_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16 TransposeT; typedef Format2<16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G6R5_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_6_5 TransposeT; typedef Format3<5, 6, 5> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G6R5_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_6_5 TransposeT; typedef Format3<5, 6, 5> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G5R5A1_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_5_5_1 TransposeT; typedef Format4<5, 5, 5, 1> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G5R5A1_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_5_5_1 TransposeT; typedef Format4<5, 5, 5, 1> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B4G4R4A4_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose4_4_4_4 TransposeT; typedef Format4<4, 4, 4, 4> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B4G4R4A4_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose4_4_4_4 TransposeT; typedef Format4<4, 4, 4, 4> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8A8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8A8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G5R5X1_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_5_5_1 TransposeT; typedef Format4<5, 5, 5, 1> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B5G5R5X1_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose5_5_5_1 TransposeT; typedef Format4<5, 5, 5, 1> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<16> TransposeT; typedef Format1<16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A1B5G5R5_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3, 2, 1, 0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose1_5_5_5 TransposeT; typedef Format4<1, 5, 5, 5> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A4B4G4R4_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3, 2, 1, 0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{16}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose4_4_4_4 TransposeT; typedef Format4<4, 4, 4, 4> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8A8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8A8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{16}; static const uint32_t numComps{2}; static const bool hasAlpha{true}; static const uint32_t alphaComp{1}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8 TransposeT; typedef Format2<8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for A8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for L8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for I8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for DXT1_RGB_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for YCRCB_SWAPUVY ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{true}; static const uint32_t bcWidth{2}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC1_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC2_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC3_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC4_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC5_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC1_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC2_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC3_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for YCRCB_SWAPUV ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{true}; static const uint32_t bcWidth{2}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8_8 TransposeT; typedef Format4<8, 8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for DXT1_RGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R64G64B64A64_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{256}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose64_64_64_64 TransposeT; typedef Format4<64, 64, 64, 64> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R64G64B64_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{192}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose64_64_64 TransposeT; typedef Format3<64, 64, 64> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC4_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{64}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC5_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_FLOAT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC6H_SF16 ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC7_UNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC7_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{true}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for BC6H_UF16 ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{128}; static const uint32_t numComps{1}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{true}; static const bool isSubsampled{false}; static const uint32_t bcWidth{4}; static const uint32_t bcHeight{4}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_UNORM_SRGB ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{true}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R16G16B16_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{48}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose16_16_16 TransposeT; typedef Format3<16, 16, 16> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R32_SFIXED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<32> TransposeT; typedef Format1<32> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R10G10B10A2_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_SNORM ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_USCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_SSCALED ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x3f800000> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for B10G10R10A2_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<2, 1, 0, 3>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{32}; static const uint32_t numComps{4}; static const bool hasAlpha{true}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose10_10_10_2 TransposeT; typedef Format4<10, 10, 10, 2> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_UINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for R8G8B8_SINT ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0, 1, 2>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{24}; static const uint32_t numComps{3}; static const bool hasAlpha{false}; static const uint32_t alphaComp{0}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef Transpose8_8_8 TransposeT; typedef Format3<8, 8, 8> FormatT; }; ////////////////////////////////////////////////////////////////////////// /// FormatTraits - Format traits specialization for RAW ////////////////////////////////////////////////////////////////////////// template <> struct FormatTraits : ComponentTraits, FormatSwizzle<0>, Defaults<0, 0, 0, 0x1> { static const uint32_t bpp{8}; static const uint32_t numComps{1}; static const bool hasAlpha{false}; static const uint32_t alphaComp{3}; static const bool isSRGB{false}; static const bool isBC{false}; static const bool isSubsampled{false}; static const uint32_t bcWidth{1}; static const uint32_t bcHeight{1}; typedef TransposeSingleComponent<8> TransposeT; typedef Format1<8> FormatT; };