mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-11 07:18:11 -05:00
Reformat code with clang format
This commit is contained in:
@ -99,12 +99,10 @@ enum D3DFORMAT
|
||||
// 2.8 biased fixed point
|
||||
D3DFMT_A2B10G10R10_XR_BIAS = 119,
|
||||
|
||||
|
||||
// Binary format indicating that the data has no inherent type
|
||||
D3DFMT_BINARYBUFFER = 199,
|
||||
|
||||
|
||||
/* -- D3D9Ex only */
|
||||
|
||||
|
||||
D3DFMT_FORCE_DWORD = 0x7fffffff
|
||||
};
|
||||
};
|
||||
|
@ -4,10 +4,7 @@
|
||||
|
||||
constexpr uint32_t MakeFourCc(const char ch0, const char ch1, const char ch2, const char ch3)
|
||||
{
|
||||
return static_cast<uint32_t>(ch0)
|
||||
| static_cast<uint32_t>(ch1) << 8
|
||||
| static_cast<uint32_t>(ch2) << 16
|
||||
| static_cast<uint32_t>(ch3) << 24;
|
||||
return static_cast<uint32_t>(ch0) | static_cast<uint32_t>(ch1) << 8 | static_cast<uint32_t>(ch2) << 16 | static_cast<uint32_t>(ch3) << 24;
|
||||
}
|
||||
|
||||
enum DDP_FLAGS
|
||||
|
@ -22,126 +22,126 @@ const unsigned int DXGI_FORMAT_DEFINED = 1;
|
||||
|
||||
enum DXGI_FORMAT
|
||||
{
|
||||
DXGI_FORMAT_UNKNOWN = 0x00,
|
||||
DXGI_FORMAT_R32G32B32A32_TYPELESS = 0x01,
|
||||
DXGI_FORMAT_R32G32B32A32_FLOAT = 0x02,
|
||||
DXGI_FORMAT_R32G32B32A32_UINT = 0x03,
|
||||
DXGI_FORMAT_R32G32B32A32_SINT = 0x04,
|
||||
DXGI_FORMAT_R32G32B32_TYPELESS = 0x05,
|
||||
DXGI_FORMAT_R32G32B32_FLOAT = 0x06,
|
||||
DXGI_FORMAT_R32G32B32_UINT = 0x07,
|
||||
DXGI_FORMAT_R32G32B32_SINT = 0x08,
|
||||
DXGI_FORMAT_R16G16B16A16_TYPELESS = 0x09,
|
||||
DXGI_FORMAT_R16G16B16A16_FLOAT = 0x0a,
|
||||
DXGI_FORMAT_R16G16B16A16_UNORM = 0x0b,
|
||||
DXGI_FORMAT_R16G16B16A16_UINT = 0x0c,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM = 0x0d,
|
||||
DXGI_FORMAT_R16G16B16A16_SINT = 0x0e,
|
||||
DXGI_FORMAT_R32G32_TYPELESS = 0x0f,
|
||||
DXGI_FORMAT_R32G32_FLOAT = 0x10,
|
||||
DXGI_FORMAT_R32G32_UINT = 0x11,
|
||||
DXGI_FORMAT_R32G32_SINT = 0x12,
|
||||
DXGI_FORMAT_R32G8X24_TYPELESS = 0x13,
|
||||
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 0x14,
|
||||
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 0x15,
|
||||
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 0x16,
|
||||
DXGI_FORMAT_R10G10B10A2_TYPELESS = 0x17,
|
||||
DXGI_FORMAT_R10G10B10A2_UNORM = 0x18,
|
||||
DXGI_FORMAT_R10G10B10A2_UINT = 0x19,
|
||||
DXGI_FORMAT_R11G11B10_FLOAT = 0x1a,
|
||||
DXGI_FORMAT_R8G8B8A8_TYPELESS = 0x1b,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM = 0x1c,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 0x1d,
|
||||
DXGI_FORMAT_R8G8B8A8_UINT = 0x1e,
|
||||
DXGI_FORMAT_R8G8B8A8_SNORM = 0x1f,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT = 0x20,
|
||||
DXGI_FORMAT_R16G16_TYPELESS = 0x21,
|
||||
DXGI_FORMAT_R16G16_FLOAT = 0x22,
|
||||
DXGI_FORMAT_R16G16_UNORM = 0x23,
|
||||
DXGI_FORMAT_R16G16_UINT = 0x24,
|
||||
DXGI_FORMAT_R16G16_SNORM = 0x25,
|
||||
DXGI_FORMAT_R16G16_SINT = 0x26,
|
||||
DXGI_FORMAT_R32_TYPELESS = 0x27,
|
||||
DXGI_FORMAT_D32_FLOAT = 0x28,
|
||||
DXGI_FORMAT_R32_FLOAT = 0x29,
|
||||
DXGI_FORMAT_R32_UINT = 0x2a,
|
||||
DXGI_FORMAT_R32_SINT = 0x2b,
|
||||
DXGI_FORMAT_R24G8_TYPELESS = 0x2c,
|
||||
DXGI_FORMAT_D24_UNORM_S8_UINT = 0x2d,
|
||||
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 0x2e,
|
||||
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 0x2f,
|
||||
DXGI_FORMAT_R8G8_TYPELESS = 0x30,
|
||||
DXGI_FORMAT_R8G8_UNORM = 0x31,
|
||||
DXGI_FORMAT_R8G8_UINT = 0x32,
|
||||
DXGI_FORMAT_R8G8_SNORM = 0x33,
|
||||
DXGI_FORMAT_R8G8_SINT = 0x34,
|
||||
DXGI_FORMAT_R16_TYPELESS = 0x35,
|
||||
DXGI_FORMAT_R16_FLOAT = 0x36,
|
||||
DXGI_FORMAT_D16_UNORM = 0x37,
|
||||
DXGI_FORMAT_R16_UNORM = 0x38,
|
||||
DXGI_FORMAT_R16_UINT = 0x39,
|
||||
DXGI_FORMAT_R16_SNORM = 0x3a,
|
||||
DXGI_FORMAT_R16_SINT = 0x3b,
|
||||
DXGI_FORMAT_R8_TYPELESS = 0x3c,
|
||||
DXGI_FORMAT_R8_UNORM = 0x3d,
|
||||
DXGI_FORMAT_R8_UINT = 0x3e,
|
||||
DXGI_FORMAT_R8_SNORM = 0x3f,
|
||||
DXGI_FORMAT_R8_SINT = 0x40,
|
||||
DXGI_FORMAT_A8_UNORM = 0x41,
|
||||
DXGI_FORMAT_R1_UNORM = 0x42,
|
||||
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 0x43,
|
||||
DXGI_FORMAT_R8G8_B8G8_UNORM = 0x44,
|
||||
DXGI_FORMAT_G8R8_G8B8_UNORM = 0x45,
|
||||
DXGI_FORMAT_BC1_TYPELESS = 0x46,
|
||||
DXGI_FORMAT_BC1_UNORM = 0x47,
|
||||
DXGI_FORMAT_BC1_UNORM_SRGB = 0x48,
|
||||
DXGI_FORMAT_BC2_TYPELESS = 0x49,
|
||||
DXGI_FORMAT_BC2_UNORM = 0x4a,
|
||||
DXGI_FORMAT_BC2_UNORM_SRGB = 0x4b,
|
||||
DXGI_FORMAT_BC3_TYPELESS = 0x4c,
|
||||
DXGI_FORMAT_BC3_UNORM = 0x4d,
|
||||
DXGI_FORMAT_BC3_UNORM_SRGB = 0x4e,
|
||||
DXGI_FORMAT_BC4_TYPELESS = 0x4f,
|
||||
DXGI_FORMAT_BC4_UNORM = 0x50,
|
||||
DXGI_FORMAT_BC4_SNORM = 0x51,
|
||||
DXGI_FORMAT_BC5_TYPELESS = 0x52,
|
||||
DXGI_FORMAT_BC5_UNORM = 0x53,
|
||||
DXGI_FORMAT_BC5_SNORM = 0x54,
|
||||
DXGI_FORMAT_B5G6R5_UNORM = 0x55,
|
||||
DXGI_FORMAT_B5G5R5A1_UNORM = 0x56,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM = 0x57,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM = 0x58,
|
||||
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 0x59,
|
||||
DXGI_FORMAT_B8G8R8A8_TYPELESS = 0x5a,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 0x5b,
|
||||
DXGI_FORMAT_B8G8R8X8_TYPELESS = 0x5c,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 0x5d,
|
||||
DXGI_FORMAT_BC6H_TYPELESS = 0x5e,
|
||||
DXGI_FORMAT_BC6H_UF16 = 0x5f,
|
||||
DXGI_FORMAT_BC6H_SF16 = 0x60,
|
||||
DXGI_FORMAT_BC7_TYPELESS = 0x61,
|
||||
DXGI_FORMAT_BC7_UNORM = 0x62,
|
||||
DXGI_FORMAT_BC7_UNORM_SRGB = 0x63,
|
||||
DXGI_FORMAT_AYUV = 0x64,
|
||||
DXGI_FORMAT_Y410 = 0x65,
|
||||
DXGI_FORMAT_Y416 = 0x66,
|
||||
DXGI_FORMAT_NV12 = 0x67,
|
||||
DXGI_FORMAT_P010 = 0x68,
|
||||
DXGI_FORMAT_P016 = 0x69,
|
||||
DXGI_FORMAT_420_OPAQUE = 0x6a,
|
||||
DXGI_FORMAT_YUY2 = 0x6b,
|
||||
DXGI_FORMAT_Y210 = 0x6c,
|
||||
DXGI_FORMAT_Y216 = 0x6d,
|
||||
DXGI_FORMAT_NV11 = 0x6e,
|
||||
DXGI_FORMAT_AI44 = 0x6f,
|
||||
DXGI_FORMAT_IA44 = 0x70,
|
||||
DXGI_FORMAT_P8 = 0x71,
|
||||
DXGI_FORMAT_A8P8 = 0x72,
|
||||
DXGI_FORMAT_B4G4R4A4_UNORM = 0x73,
|
||||
DXGI_FORMAT_UNKNOWN = 0x00,
|
||||
DXGI_FORMAT_R32G32B32A32_TYPELESS = 0x01,
|
||||
DXGI_FORMAT_R32G32B32A32_FLOAT = 0x02,
|
||||
DXGI_FORMAT_R32G32B32A32_UINT = 0x03,
|
||||
DXGI_FORMAT_R32G32B32A32_SINT = 0x04,
|
||||
DXGI_FORMAT_R32G32B32_TYPELESS = 0x05,
|
||||
DXGI_FORMAT_R32G32B32_FLOAT = 0x06,
|
||||
DXGI_FORMAT_R32G32B32_UINT = 0x07,
|
||||
DXGI_FORMAT_R32G32B32_SINT = 0x08,
|
||||
DXGI_FORMAT_R16G16B16A16_TYPELESS = 0x09,
|
||||
DXGI_FORMAT_R16G16B16A16_FLOAT = 0x0a,
|
||||
DXGI_FORMAT_R16G16B16A16_UNORM = 0x0b,
|
||||
DXGI_FORMAT_R16G16B16A16_UINT = 0x0c,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM = 0x0d,
|
||||
DXGI_FORMAT_R16G16B16A16_SINT = 0x0e,
|
||||
DXGI_FORMAT_R32G32_TYPELESS = 0x0f,
|
||||
DXGI_FORMAT_R32G32_FLOAT = 0x10,
|
||||
DXGI_FORMAT_R32G32_UINT = 0x11,
|
||||
DXGI_FORMAT_R32G32_SINT = 0x12,
|
||||
DXGI_FORMAT_R32G8X24_TYPELESS = 0x13,
|
||||
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 0x14,
|
||||
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 0x15,
|
||||
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 0x16,
|
||||
DXGI_FORMAT_R10G10B10A2_TYPELESS = 0x17,
|
||||
DXGI_FORMAT_R10G10B10A2_UNORM = 0x18,
|
||||
DXGI_FORMAT_R10G10B10A2_UINT = 0x19,
|
||||
DXGI_FORMAT_R11G11B10_FLOAT = 0x1a,
|
||||
DXGI_FORMAT_R8G8B8A8_TYPELESS = 0x1b,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM = 0x1c,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 0x1d,
|
||||
DXGI_FORMAT_R8G8B8A8_UINT = 0x1e,
|
||||
DXGI_FORMAT_R8G8B8A8_SNORM = 0x1f,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT = 0x20,
|
||||
DXGI_FORMAT_R16G16_TYPELESS = 0x21,
|
||||
DXGI_FORMAT_R16G16_FLOAT = 0x22,
|
||||
DXGI_FORMAT_R16G16_UNORM = 0x23,
|
||||
DXGI_FORMAT_R16G16_UINT = 0x24,
|
||||
DXGI_FORMAT_R16G16_SNORM = 0x25,
|
||||
DXGI_FORMAT_R16G16_SINT = 0x26,
|
||||
DXGI_FORMAT_R32_TYPELESS = 0x27,
|
||||
DXGI_FORMAT_D32_FLOAT = 0x28,
|
||||
DXGI_FORMAT_R32_FLOAT = 0x29,
|
||||
DXGI_FORMAT_R32_UINT = 0x2a,
|
||||
DXGI_FORMAT_R32_SINT = 0x2b,
|
||||
DXGI_FORMAT_R24G8_TYPELESS = 0x2c,
|
||||
DXGI_FORMAT_D24_UNORM_S8_UINT = 0x2d,
|
||||
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 0x2e,
|
||||
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 0x2f,
|
||||
DXGI_FORMAT_R8G8_TYPELESS = 0x30,
|
||||
DXGI_FORMAT_R8G8_UNORM = 0x31,
|
||||
DXGI_FORMAT_R8G8_UINT = 0x32,
|
||||
DXGI_FORMAT_R8G8_SNORM = 0x33,
|
||||
DXGI_FORMAT_R8G8_SINT = 0x34,
|
||||
DXGI_FORMAT_R16_TYPELESS = 0x35,
|
||||
DXGI_FORMAT_R16_FLOAT = 0x36,
|
||||
DXGI_FORMAT_D16_UNORM = 0x37,
|
||||
DXGI_FORMAT_R16_UNORM = 0x38,
|
||||
DXGI_FORMAT_R16_UINT = 0x39,
|
||||
DXGI_FORMAT_R16_SNORM = 0x3a,
|
||||
DXGI_FORMAT_R16_SINT = 0x3b,
|
||||
DXGI_FORMAT_R8_TYPELESS = 0x3c,
|
||||
DXGI_FORMAT_R8_UNORM = 0x3d,
|
||||
DXGI_FORMAT_R8_UINT = 0x3e,
|
||||
DXGI_FORMAT_R8_SNORM = 0x3f,
|
||||
DXGI_FORMAT_R8_SINT = 0x40,
|
||||
DXGI_FORMAT_A8_UNORM = 0x41,
|
||||
DXGI_FORMAT_R1_UNORM = 0x42,
|
||||
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 0x43,
|
||||
DXGI_FORMAT_R8G8_B8G8_UNORM = 0x44,
|
||||
DXGI_FORMAT_G8R8_G8B8_UNORM = 0x45,
|
||||
DXGI_FORMAT_BC1_TYPELESS = 0x46,
|
||||
DXGI_FORMAT_BC1_UNORM = 0x47,
|
||||
DXGI_FORMAT_BC1_UNORM_SRGB = 0x48,
|
||||
DXGI_FORMAT_BC2_TYPELESS = 0x49,
|
||||
DXGI_FORMAT_BC2_UNORM = 0x4a,
|
||||
DXGI_FORMAT_BC2_UNORM_SRGB = 0x4b,
|
||||
DXGI_FORMAT_BC3_TYPELESS = 0x4c,
|
||||
DXGI_FORMAT_BC3_UNORM = 0x4d,
|
||||
DXGI_FORMAT_BC3_UNORM_SRGB = 0x4e,
|
||||
DXGI_FORMAT_BC4_TYPELESS = 0x4f,
|
||||
DXGI_FORMAT_BC4_UNORM = 0x50,
|
||||
DXGI_FORMAT_BC4_SNORM = 0x51,
|
||||
DXGI_FORMAT_BC5_TYPELESS = 0x52,
|
||||
DXGI_FORMAT_BC5_UNORM = 0x53,
|
||||
DXGI_FORMAT_BC5_SNORM = 0x54,
|
||||
DXGI_FORMAT_B5G6R5_UNORM = 0x55,
|
||||
DXGI_FORMAT_B5G5R5A1_UNORM = 0x56,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM = 0x57,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM = 0x58,
|
||||
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 0x59,
|
||||
DXGI_FORMAT_B8G8R8A8_TYPELESS = 0x5a,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 0x5b,
|
||||
DXGI_FORMAT_B8G8R8X8_TYPELESS = 0x5c,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 0x5d,
|
||||
DXGI_FORMAT_BC6H_TYPELESS = 0x5e,
|
||||
DXGI_FORMAT_BC6H_UF16 = 0x5f,
|
||||
DXGI_FORMAT_BC6H_SF16 = 0x60,
|
||||
DXGI_FORMAT_BC7_TYPELESS = 0x61,
|
||||
DXGI_FORMAT_BC7_UNORM = 0x62,
|
||||
DXGI_FORMAT_BC7_UNORM_SRGB = 0x63,
|
||||
DXGI_FORMAT_AYUV = 0x64,
|
||||
DXGI_FORMAT_Y410 = 0x65,
|
||||
DXGI_FORMAT_Y416 = 0x66,
|
||||
DXGI_FORMAT_NV12 = 0x67,
|
||||
DXGI_FORMAT_P010 = 0x68,
|
||||
DXGI_FORMAT_P016 = 0x69,
|
||||
DXGI_FORMAT_420_OPAQUE = 0x6a,
|
||||
DXGI_FORMAT_YUY2 = 0x6b,
|
||||
DXGI_FORMAT_Y210 = 0x6c,
|
||||
DXGI_FORMAT_Y216 = 0x6d,
|
||||
DXGI_FORMAT_NV11 = 0x6e,
|
||||
DXGI_FORMAT_AI44 = 0x6f,
|
||||
DXGI_FORMAT_IA44 = 0x70,
|
||||
DXGI_FORMAT_P8 = 0x71,
|
||||
DXGI_FORMAT_A8P8 = 0x72,
|
||||
DXGI_FORMAT_B4G4R4A4_UNORM = 0x73,
|
||||
|
||||
DXGI_FORMAT_P208 = 0x82,
|
||||
DXGI_FORMAT_V208 = 0x83,
|
||||
DXGI_FORMAT_V408 = 0x84,
|
||||
DXGI_FORMAT_P208 = 0x82,
|
||||
DXGI_FORMAT_V208 = 0x83,
|
||||
DXGI_FORMAT_V408 = 0x84,
|
||||
|
||||
DXGI_FORMAT_FORCE_UINT = 0xffffffff,
|
||||
};
|
||||
DXGI_FORMAT_FORCE_UINT = 0xffffffff,
|
||||
};
|
||||
|
@ -22,10 +22,18 @@ DXGI_FORMAT ImageFormat::GetDxgiFormat() const
|
||||
return m_dxgi_format;
|
||||
}
|
||||
|
||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
||||
const unsigned bitsPerPixel, const unsigned rOffset, const unsigned rSize,
|
||||
const unsigned gOffset, const unsigned gSize, const unsigned bOffset,
|
||||
const unsigned bSize, const unsigned aOffset, const unsigned aSize)
|
||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id,
|
||||
const D3DFORMAT d3dFormat,
|
||||
const DXGI_FORMAT dxgiFormat,
|
||||
const unsigned bitsPerPixel,
|
||||
const unsigned rOffset,
|
||||
const unsigned rSize,
|
||||
const unsigned gOffset,
|
||||
const unsigned gSize,
|
||||
const unsigned bOffset,
|
||||
const unsigned bSize,
|
||||
const unsigned aOffset,
|
||||
const unsigned aSize)
|
||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||
m_bits_per_pixel(bitsPerPixel),
|
||||
m_r_offset(rOffset),
|
||||
@ -53,8 +61,7 @@ size_t ImageFormatUnsigned::GetPitch(const unsigned mipLevel, const unsigned wid
|
||||
return mipWidth * m_bits_per_pixel / 8;
|
||||
}
|
||||
|
||||
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height,
|
||||
const unsigned depth) const
|
||||
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||
{
|
||||
unsigned mipWidth = width >> mipLevel;
|
||||
unsigned mipHeight = height >> mipLevel;
|
||||
@ -70,8 +77,8 @@ size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const uns
|
||||
return mipWidth * mipHeight * mipDepth * m_bits_per_pixel / 8;
|
||||
}
|
||||
|
||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
||||
const unsigned blockSize, const unsigned bitsPerBlock)
|
||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(
|
||||
const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat, const unsigned blockSize, const unsigned bitsPerBlock)
|
||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||
m_block_size(blockSize),
|
||||
m_bits_per_block(bitsPerBlock)
|
||||
@ -95,8 +102,7 @@ size_t ImageFormatBlockCompressed::GetPitch(const unsigned mipLevel, const unsig
|
||||
return blockCount * m_bits_per_block / 8;
|
||||
}
|
||||
|
||||
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width,
|
||||
const unsigned height, const unsigned depth) const
|
||||
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||
{
|
||||
unsigned mipWidth = width >> mipLevel;
|
||||
unsigned mipHeight = height >> mipLevel;
|
||||
@ -109,9 +115,7 @@ size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, co
|
||||
if (mipDepth == 0)
|
||||
mipDepth = 1;
|
||||
|
||||
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size)
|
||||
* ((mipHeight + m_block_size - 1) / m_block_size)
|
||||
* mipDepth;
|
||||
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size) * ((mipHeight + m_block_size - 1) / m_block_size) * mipDepth;
|
||||
|
||||
return blockCount * m_bits_per_block / 8;
|
||||
}
|
||||
@ -138,10 +142,13 @@ bool ImageFormatUnsigned::HasA() const
|
||||
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8(ImageFormatId::R8_G8_B8, D3DFMT_R8G8B8, DXGI_FORMAT_UNKNOWN, 24, 0, 8, 8, 8, 16, 8, 0, 0);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_X8(ImageFormatId::B8_G8_R8_X8, D3DFMT_X8R8G8B8, DXGI_FORMAT_B8G8R8X8_UNORM, 32, 16, 8, 8, 8, 0, 8, 0, 0);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
||||
const ImageFormatUnsigned
|
||||
ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
||||
const ImageFormatUnsigned
|
||||
ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_A8(ImageFormatId::A8, D3DFMT_A8, DXGI_FORMAT_A8_UNORM, 8, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(ImageFormatId::R16_G16_B16_A16_FLOAT, D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(
|
||||
ImageFormatId::R16_G16_B16_A16_FLOAT, D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8(ImageFormatId::R8, D3DFMT_L8, DXGI_FORMAT_R8_UNORM, 8, 0, 8, 0, 0, 0, 0, 0, 0);
|
||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_A8(ImageFormatId::R8_A8, D3DFMT_A8L8, DXGI_FORMAT_UNKNOWN, 16, 0, 8, 0, 0, 0, 0, 8, 8);
|
||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC1(ImageFormatId::BC1, D3DFMT_DXT1, DXGI_FORMAT_BC1_UNORM, 4, 64);
|
||||
@ -150,8 +157,7 @@ const ImageFormatBlockCompressed ImageFormat::FORMAT_BC3(ImageFormatId::BC3, D3D
|
||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC4(ImageFormatId::BC4, D3DFMT_UNKNOWN, DXGI_FORMAT_BC4_UNORM, 4, 64);
|
||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC5(ImageFormatId::BC5, D3DFMT_UNKNOWN, DXGI_FORMAT_BC5_UNORM, 4, 128);
|
||||
|
||||
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]
|
||||
{
|
||||
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]{
|
||||
&FORMAT_R8_G8_B8,
|
||||
&FORMAT_B8_G8_R8_X8,
|
||||
&FORMAT_R8_G8_B8_A8,
|
||||
|
@ -1,10 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include "D3DFormat.h"
|
||||
#include "DxgiFormat.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
enum class ImageFormatId
|
||||
{
|
||||
UNKNOWN = -1,
|
||||
@ -60,7 +61,7 @@ public:
|
||||
static const ImageFormatUnsigned FORMAT_R8_G8_B8_A8;
|
||||
static const ImageFormatUnsigned FORMAT_B8_G8_R8_A8;
|
||||
static const ImageFormatUnsigned FORMAT_A8;
|
||||
static const ImageFormatUnsigned FORMAT_R16_G16_B16_A16_FLOAT; //TODO: Float not unsigned
|
||||
static const ImageFormatUnsigned FORMAT_R16_G16_B16_A16_FLOAT; // TODO: Float not unsigned
|
||||
static const ImageFormatUnsigned FORMAT_R8;
|
||||
static const ImageFormatUnsigned FORMAT_R8_A8;
|
||||
static const ImageFormatBlockCompressed FORMAT_BC1;
|
||||
@ -84,9 +85,18 @@ public:
|
||||
unsigned m_a_offset;
|
||||
unsigned m_a_size;
|
||||
|
||||
ImageFormatUnsigned(ImageFormatId id, D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat, unsigned bitsPerPixel, unsigned rOffset,
|
||||
unsigned rSize, unsigned gOffset, unsigned gSize, unsigned bOffset, unsigned bSize,
|
||||
unsigned aOffset, unsigned aSize);
|
||||
ImageFormatUnsigned(ImageFormatId id,
|
||||
D3DFORMAT d3dFormat,
|
||||
DXGI_FORMAT dxgiFormat,
|
||||
unsigned bitsPerPixel,
|
||||
unsigned rOffset,
|
||||
unsigned rSize,
|
||||
unsigned gOffset,
|
||||
unsigned gSize,
|
||||
unsigned bOffset,
|
||||
unsigned bSize,
|
||||
unsigned aOffset,
|
||||
unsigned aSize);
|
||||
|
||||
ImageFormatType GetType() const override;
|
||||
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
||||
|
@ -54,7 +54,7 @@ namespace iwi6
|
||||
IMG_FLAG_RENDER_TARGET = 1 << 17,
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 18
|
||||
};
|
||||
}
|
||||
} // namespace iwi6
|
||||
|
||||
// IW4
|
||||
namespace iwi8
|
||||
@ -122,7 +122,7 @@ namespace iwi8
|
||||
IMG_FLAG_RENDER_TARGET = 1 << 25,
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 26
|
||||
};
|
||||
}
|
||||
} // namespace iwi8
|
||||
|
||||
// T5
|
||||
namespace iwi13
|
||||
@ -177,7 +177,7 @@ namespace iwi13
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 18,
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace iwi13
|
||||
|
||||
// T6
|
||||
namespace iwi27
|
||||
@ -232,4 +232,4 @@ namespace iwi27
|
||||
IMG_FLAG_MULTISAMPLE = 1 << 18,
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace iwi27
|
||||
|
@ -260,8 +260,7 @@ Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsi
|
||||
{
|
||||
}
|
||||
|
||||
Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsigned height, const unsigned depth,
|
||||
const bool mipMaps)
|
||||
Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsigned height, const unsigned depth, const bool mipMaps)
|
||||
: Texture(format, mipMaps)
|
||||
{
|
||||
m_width = width;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "ImageFormat.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
enum class TextureType
|
||||
@ -123,4 +124,4 @@ public:
|
||||
uint8_t* GetBufferForMipLevel(int mipLevel, int face) override;
|
||||
|
||||
int GetMipMapCount() const override;
|
||||
};
|
||||
};
|
||||
|
@ -44,8 +44,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
||||
|
||||
for (auto pixelOffset = 0u; pixelOffset < bitCount; pixelOffset += 8)
|
||||
{
|
||||
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) <<
|
||||
pixelOffset);
|
||||
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) << pixelOffset);
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -99,9 +98,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
||||
else
|
||||
{
|
||||
assert(false);
|
||||
m_write_pixel_func = [](void* offset, uint64_t pixel, unsigned bitCount)
|
||||
{
|
||||
};
|
||||
m_write_pixel_func = [](void* offset, uint64_t pixel, unsigned bitCount) {};
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -120,18 +117,16 @@ void TextureConverter::CreateOutputTexture()
|
||||
switch (m_input_texture->GetTextureType())
|
||||
{
|
||||
case TextureType::T_2D:
|
||||
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->HasMipMaps());
|
||||
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
|
||||
case TextureType::T_CUBE:
|
||||
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->HasMipMaps());
|
||||
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
|
||||
case TextureType::T_3D:
|
||||
m_output_texture = new Texture3D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
||||
m_output_texture = new Texture3D(
|
||||
m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
default:
|
||||
assert(false);
|
||||
@ -166,8 +161,7 @@ void TextureConverter::ReorderUnsignedToUnsigned() const
|
||||
const auto outputBytePerPixel = outputFormat->m_bits_per_pixel / 8;
|
||||
|
||||
auto outputOffset = 0u;
|
||||
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset +=
|
||||
outputBytePerPixel)
|
||||
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset += outputBytePerPixel)
|
||||
{
|
||||
uint64_t outPixel = 0;
|
||||
const auto inPixel = m_read_pixel_func(&inputBuffer[inputOffset], inputFormat->m_bits_per_pixel);
|
||||
@ -196,9 +190,7 @@ void TextureConverter::ConvertUnsignedToUnsigned()
|
||||
|
||||
SetPixelFunctions(inputFormat->m_bits_per_pixel, outputFormat->m_bits_per_pixel);
|
||||
|
||||
if (inputFormat->m_r_size == outputFormat->m_r_size
|
||||
&& inputFormat->m_g_size == outputFormat->m_g_size
|
||||
&& inputFormat->m_b_size == outputFormat->m_b_size
|
||||
if (inputFormat->m_r_size == outputFormat->m_r_size && inputFormat->m_g_size == outputFormat->m_g_size && inputFormat->m_b_size == outputFormat->m_b_size
|
||||
&& inputFormat->m_a_size == outputFormat->m_a_size)
|
||||
{
|
||||
ReorderUnsignedToUnsigned();
|
||||
@ -214,8 +206,7 @@ Texture* TextureConverter::Convert()
|
||||
{
|
||||
CreateOutputTexture();
|
||||
|
||||
if (m_input_format->GetType() == ImageFormatType::UNSIGNED
|
||||
&& m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
||||
if (m_input_format->GetType() == ImageFormatType::UNSIGNED && m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
||||
{
|
||||
ConvertUnsignedToUnsigned();
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "Texture.h"
|
||||
|
||||
#include <functional>
|
||||
|
||||
class TextureConverter
|
||||
{
|
||||
Texture* m_input_texture;
|
||||
@ -23,8 +23,7 @@ class TextureConverter
|
||||
void ConvertUnsignedToUnsigned();
|
||||
|
||||
public:
|
||||
|
||||
TextureConverter(Texture* inputTexture, const ImageFormat* targetFormat);
|
||||
|
||||
Texture* Convert();
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user