Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::Formats::DDS Namespace Reference

Classes

struct  DDS_PIXELFORMAT
struct  DDSHeader
struct  DDSHeaderExtended
struct  DdsParseOutput

Typedefs

using DWORD = unsigned long

Enumerations

enum class  DxgiFormat : uint32_t {
  UNKNOWN = 0 , R32G32B32A32_TYPELESS = 1 , R32G32B32A32_FLOAT = 2 , R32G32B32A32_UINT = 3 ,
  R32G32B32A32_SINT = 4 , R32G32B32_TYPELESS = 5 , R32G32B32_FLOAT = 6 , R32G32B32_UINT = 7 ,
  R32G32B32_SINT = 8 , R16G16B16A16_TYPELESS = 9 , R16G16B16A16_FLOAT = 10 , R16G16B16A16_UNORM = 11 ,
  R16G16B16A16_UINT = 12 , R16G16B16A16_SNORM = 13 , R16G16B16A16_SINT = 14 , R32G32_TYPELESS = 15 ,
  R32G32_FLOAT = 16 , R32G32_UINT = 17 , R32G32_SINT = 18 , R32G8X24_TYPELESS = 19 ,
  D32_FLOAT_S8X24_UINT = 20 , R32_FLOAT_X8X24_TYPELESS = 21 , X32_TYPELESS_G8X24_UINT = 22 , R10G10B10A2_TYPELESS = 23 ,
  R10G10B10A2_UNORM = 24 , R10G10B10A2_UINT = 25 , R11G11B10_FLOAT = 26 , R8G8B8A8_TYPELESS = 27 ,
  R8G8B8A8_UNORM = 28 , R8G8B8A8_UNORM_SRGB = 29 , R8G8B8A8_UINT = 30 , R8G8B8A8_SNORM = 31 ,
  R8G8B8A8_SINT = 32 , R16G16_TYPELESS = 33 , R16G16_FLOAT = 34 , R16G16_UNORM = 35 ,
  R16G16_UINT = 36 , R16G16_SNORM = 37 , R16G16_SINT = 38 , R32_TYPELESS = 39 ,
  D32_FLOAT = 40 , R32_FLOAT = 41 , R32_UINT = 42 , R32_SINT = 43 ,
  R24G8_TYPELESS = 44 , D24_UNORM_S8_UINT = 45 , R24_UNORM_X8_TYPELESS = 46 , X24_TYPELESS_G8_UINT = 47 ,
  R8G8_TYPELESS = 48 , R8G8_UNORM = 49 , R8G8_UINT = 50 , R8G8_SNORM = 51 ,
  R8G8_SINT = 52 , R16_TYPELESS = 53 , R16_FLOAT = 54 , D16_UNORM = 55 ,
  R16_UNORM = 56 , R16_UINT = 57 , R16_SNORM = 58 , R16_SINT = 59 ,
  R8_TYPELESS = 60 , R8_UNORM = 61 , R8_UINT = 62 , R8_SNORM = 63 ,
  R8_SINT = 64 , A8_UNORM = 65 , R1_UNORM = 66 , R9G9B9E5_SHAREDEXP = 67 ,
  R8G8_B8G8_UNORM = 68 , G8R8_G8B8_UNORM = 69 , BC1_TYPELESS = 70 , BC1_UNORM = 71 ,
  BC1_UNORM_SRGB = 72 , BC2_TYPELESS = 73 , BC2_UNORM = 74 , BC2_UNORM_SRGB = 75 ,
  BC3_TYPELESS = 76 , BC3_UNORM = 77 , BC3_UNORM_SRGB = 78 , BC4_TYPELESS = 79 ,
  BC4_UNORM = 80 , BC4_SNORM = 81 , BC5_TYPELESS = 82 , BC5_UNORM = 83 ,
  BC5_SNORM = 84 , B5G6R5_UNORM = 85 , B5G5R5A1_UNORM = 86 , B8G8R8A8_UNORM = 87 ,
  B8G8R8X8_UNORM = 88 , R10G10B10_XR_BIAS_A2_UNORM = 89 , B8G8R8A8_TYPELESS = 90 , B8G8R8A8_UNORM_SRGB = 91 ,
  B8G8R8X8_TYPELESS = 92 , B8G8R8X8_UNORM_SRGB = 93 , BC6H_TYPELESS = 94 , BC6H_UF16 = 95 ,
  BC6H_SF16 = 96 , BC7_TYPELESS = 97 , BC7_UNORM = 98 , BC7_UNORM_SRGB = 99 ,
  AYUV = 100 , Y410 = 101 , Y416 = 102 , NV12 = 103 ,
  P010 = 104 , P016 = 105 , OPAQUE_420 = 106 , YUY2 = 107 ,
  Y210 = 108 , Y216 = 109 , NV11 = 110 , AI44 = 111 ,
  IA44 = 112 , P8 = 113 , A8P8 = 114 , B4G4R4A4_UNORM = 115 ,
  P208 = 130 , V208 = 131 , V408 = 132 , SAMPLER_FEEDBACK_MIN_MIP_OPAQUE ,
  SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE , FORCE_UINT = 0xffffffff
}
enum class  D3d10ResourceDimension : uint32_t {
  D3D10_RESOURCE_DIMENSION_UNKNOWN = 0 , D3D10_RESOURCE_DIMENSION_BUFFER = 1 , D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2 , D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3 ,
  D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
}

Functions

constexpr DWORD MakeFourCC (char c0, char c1, char c2, char c3)
constexpr DWORD MakeFourCCStr (const char *str)
bool TryParseDds (const char *debugName, Grindstone::Containers::BufferSpan bufferView, DdsParseOutput &output)
uint64_t GetRequiredBytes (const DdsParseOutput &ddsData)

Variables

constexpr DWORD DDPF_ALPHAPIXELS = 0x1
constexpr DWORD DDPF_ALPHA = 0x2
constexpr DWORD DDPF_FOURCC = 0x4
constexpr DWORD DDPF_RGB = 0x40
constexpr DWORD DDPF_YUV = 0x200
constexpr DWORD DDPF_LUMINANCE = 0x20000
constexpr DWORD DDSD_CAPS = 0x1
constexpr DWORD DDSD_HEIGHT = 0x2
constexpr DWORD DDSD_WIDTH = 0x4
constexpr DWORD DDSD_PITCH = 0x8
constexpr DWORD DDSD_PIXELFORMAT = 0x1000
constexpr DWORD DDSD_MIPMAPCOUNT = 0x20000
constexpr DWORD DDSD_LINEARSIZE = 0x80000
constexpr DWORD DDSD_DEPTH = 0x800000
constexpr DWORD DDSD_REQUIRED
constexpr DWORD FOURCC_R8G8_B8G8_UNORM = MakeFourCC('R', 'G', 'B', 'G')
constexpr DWORD FOURCC_G8R8_G8B8_UNORM = MakeFourCC('G', 'R', 'G', 'B')
constexpr DWORD FOURCC_R16G16B16A16_UNORM = 36
constexpr DWORD FOURCC_R16G16B16A16_SNORM = 110
constexpr DWORD FOURCC_R16_SFLOAT = 111
constexpr DWORD FOURCC_R16G16_SFLOAT = 112
constexpr DWORD FOURCC_R16G16B16A16_SFLOAT = 113
constexpr DWORD FOURCC_R32_SFLOAT = 114
constexpr DWORD FOURCC_R32G32_SFLOAT = 115
constexpr DWORD FOURCC_R32G32B32A32_SFLOAT = 116
constexpr DWORD FOURCC_CxV8U8 = 117
constexpr DWORD FOURCC_DXT2_UNORM = MakeFourCC('D', 'X', 'T', '2')
constexpr DWORD FOURCC_DXT4_UNORM = MakeFourCC('D', 'X', 'T', '4')
constexpr DWORD FOURCC_BC1_UNORM = MakeFourCC('D', 'X', 'T', '1')
constexpr DWORD FOURCC_BC2_UNORM = MakeFourCC('D', 'X', 'T', '3')
constexpr DWORD FOURCC_BC3_UNORM = MakeFourCC('D', 'X', 'T', '5')
constexpr DWORD FOURCC_BC4_UNORM_ATI = MakeFourCC('A', 'T', 'I', '1')
constexpr DWORD FOURCC_BC4_UNORM = MakeFourCC('B', 'C', '4', 'U')
constexpr DWORD FOURCC_BC4_SNORM = MakeFourCC('B', 'C', '4', 'S')
constexpr DWORD FOURCC_BC5_UNORM_ATI = MakeFourCC('A', 'T', 'I', '2')
constexpr DWORD FOURCC_BC5_UNORM = MakeFourCC('B', 'C', '5', 'U')
constexpr DWORD FOURCC_BC5_SNORM = MakeFourCC('B', 'C', '5', 'S')
constexpr DWORD FOURCC_UYVY = MakeFourCC('U', 'Y', 'V', 'Y')
constexpr DWORD FOURCC_YUY2 = MakeFourCC('Y', 'U', 'Y', '2')
constexpr DWORD FOURCC_DXGI = MakeFourCC('D', 'X', '1', '0')
constexpr DWORD DXGI_BC6H = 95
constexpr DWORD DDSCAPS_COMPLEX = 0x8
constexpr DWORD DDSCAPS_MIPMAP = 0x400000
constexpr DWORD DDSCAPS_TEXTURE = 0x1000
constexpr DWORD DDS_RESOURCE_MISC_TEXTURECUBE = 0x4
constexpr DWORD DDSCAPS2_CUBEMAP = 0x200
constexpr DWORD DDSCAPS2_CUBEMAP_POSITIVEX = 0x400
constexpr DWORD DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800
constexpr DWORD DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000
constexpr DWORD DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000
constexpr DWORD DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000
constexpr DWORD DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000
constexpr DWORD DDSCAPS2_CUBEMAP_VOLUME = 0x200000
constexpr DWORD DDS_CUBEMAP_ALLFACES

Variable Documentation

◆ DDS_CUBEMAP_ALLFACES

DWORD Grindstone::Formats::DDS::DDS_CUBEMAP_ALLFACES
constexpr
Initial value:
=
DDSCAPS2_CUBEMAP |
DDSCAPS2_CUBEMAP_POSITIVEX |
DDSCAPS2_CUBEMAP_NEGATIVEX |
DDSCAPS2_CUBEMAP_POSITIVEY |
DDSCAPS2_CUBEMAP_NEGATIVEY |
DDSCAPS2_CUBEMAP_POSITIVEZ |
DDSCAPS2_CUBEMAP_NEGATIVEZ

◆ DDSD_REQUIRED

DWORD Grindstone::Formats::DDS::DDSD_REQUIRED
constexpr
Initial value:
=
DDSD_CAPS |
DDSD_HEIGHT |
DDSD_WIDTH |
DDSD_PIXELFORMAT |
DDSD_LINEARSIZE