| 1 |
/***********************************************************************\ |
|---|
| 2 |
* dxgitype.d * |
|---|
| 3 |
* * |
|---|
| 4 |
* Windows API header module * |
|---|
| 5 |
* * |
|---|
| 6 |
* Placed into public domain * |
|---|
| 7 |
\***********************************************************************/ |
|---|
| 8 |
module win32.directx.dxgitype; |
|---|
| 9 |
|
|---|
| 10 |
private import win32.windows; |
|---|
| 11 |
|
|---|
| 12 |
const _FACDXGI = 0x87a; |
|---|
| 13 |
|
|---|
| 14 |
HRESULT MAKE_DXGI_HRESULT(T)(T code) { |
|---|
| 15 |
return MAKE_HRESULT(1, _FACDXGI, code); |
|---|
| 16 |
} |
|---|
| 17 |
|
|---|
| 18 |
HRESULT MAKE_DXGI_STATUS(T)(T code) { |
|---|
| 19 |
return MAKE_HRESULT(0, _FACDXGI, code); |
|---|
| 20 |
} |
|---|
| 21 |
|
|---|
| 22 |
const HRESULT DXGI_STATUS_OCCLUDED = MAKE_DXGI_STATUS(1); |
|---|
| 23 |
const HRESULT DXGI_STATUS_CLIPPED = MAKE_DXGI_STATUS(2); |
|---|
| 24 |
const HRESULT DXGI_STATUS_NO_REDIRECTION = MAKE_DXGI_STATUS(4); |
|---|
| 25 |
const HRESULT DXGI_STATUS_NO_DESKTOP_ACCESS = MAKE_DXGI_STATUS(5); |
|---|
| 26 |
const HRESULT DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_STATUS(6); |
|---|
| 27 |
const HRESULT DXGI_STATUS_MODE_CHANGED = MAKE_DXGI_STATUS(7); |
|---|
| 28 |
const HRESULT DXGI_STATUS_MODE_CHANGE_IN_PROGRESS = MAKE_DXGI_STATUS(8); |
|---|
| 29 |
const HRESULT DXGI_ERROR_INVALID_CALL = MAKE_DXGI_HRESULT( 1); |
|---|
| 30 |
const HRESULT DXGI_ERROR_NOT_FOUND = MAKE_DXGI_HRESULT( 2); |
|---|
| 31 |
const HRESULT DXGI_ERROR_MORE_DATA = MAKE_DXGI_HRESULT( 3); |
|---|
| 32 |
const HRESULT DXGI_ERROR_UNSUPPORTED = MAKE_DXGI_HRESULT( 4); |
|---|
| 33 |
const HRESULT DXGI_ERROR_DEVICE_REMOVED = MAKE_DXGI_HRESULT( 5); |
|---|
| 34 |
const HRESULT DXGI_ERROR_DEVICE_HUNG = MAKE_DXGI_HRESULT( 6); |
|---|
| 35 |
const HRESULT DXGI_ERROR_DEVICE_RESET = MAKE_DXGI_HRESULT( 7); |
|---|
| 36 |
const HRESULT DXGI_ERROR_WAS_STILL_DRAWING = MAKE_DXGI_HRESULT(10); |
|---|
| 37 |
const HRESULT DXGI_ERROR_FRAME_STATISTICS_DISJOINT = MAKE_DXGI_HRESULT(11); |
|---|
| 38 |
const HRESULT DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_HRESULT(12); |
|---|
| 39 |
const HRESULT DXGI_ERROR_DRIVER_INTERNAL_ERROR = MAKE_DXGI_HRESULT(32); |
|---|
| 40 |
const HRESULT DXGI_ERROR_NONEXCLUSIVE = MAKE_DXGI_HRESULT(33); |
|---|
| 41 |
const HRESULT DXGI_ERROR_NOT_CURRENTLY_AVAILABLE = MAKE_DXGI_HRESULT(34); |
|---|
| 42 |
const HRESULT DXGI_FORMAT_DEFINED = 1; |
|---|
| 43 |
|
|---|
| 44 |
enum DXGI_FORMAT { |
|---|
| 45 |
DXGI_FORMAT_UNKNOWN = 0, |
|---|
| 46 |
DXGI_FORMAT_R32G32B32A32_TYPELESS, |
|---|
| 47 |
DXGI_FORMAT_R32G32B32A32_FLOAT, |
|---|
| 48 |
DXGI_FORMAT_R32G32B32A32_UINT, |
|---|
| 49 |
DXGI_FORMAT_R32G32B32A32_SINT, |
|---|
| 50 |
DXGI_FORMAT_R32G32B32_TYPELESS, |
|---|
| 51 |
DXGI_FORMAT_R32G32B32_FLOAT, |
|---|
| 52 |
DXGI_FORMAT_R32G32B32_UINT, |
|---|
| 53 |
DXGI_FORMAT_R32G32B32_SINT, |
|---|
| 54 |
DXGI_FORMAT_R16G16B16A16_TYPELESS, |
|---|
| 55 |
DXGI_FORMAT_R16G16B16A16_FLOAT, |
|---|
| 56 |
DXGI_FORMAT_R16G16B16A16_UNORM, |
|---|
| 57 |
DXGI_FORMAT_R16G16B16A16_UINT, |
|---|
| 58 |
DXGI_FORMAT_R16G16B16A16_SNORM, |
|---|
| 59 |
DXGI_FORMAT_R16G16B16A16_SINT, |
|---|
| 60 |
DXGI_FORMAT_R32G32_TYPELESS, |
|---|
| 61 |
DXGI_FORMAT_R32G32_FLOAT, |
|---|
| 62 |
DXGI_FORMAT_R32G32_UINT, |
|---|
| 63 |
DXGI_FORMAT_R32G32_SINT, |
|---|
| 64 |
DXGI_FORMAT_R32G8X24_TYPELESS, |
|---|
| 65 |
DXGI_FORMAT_D32_FLOAT_S8X24_UINT, |
|---|
| 66 |
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, |
|---|
| 67 |
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT, |
|---|
| 68 |
DXGI_FORMAT_R10G10B10A2_TYPELESS, |
|---|
| 69 |
DXGI_FORMAT_R10G10B10A2_UNORM, |
|---|
| 70 |
DXGI_FORMAT_R10G10B10A2_UINT, |
|---|
| 71 |
DXGI_FORMAT_R11G11B10_FLOAT, |
|---|
| 72 |
DXGI_FORMAT_R8G8B8A8_TYPELESS, |
|---|
| 73 |
DXGI_FORMAT_R8G8B8A8_UNORM, |
|---|
| 74 |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
|---|
| 75 |
DXGI_FORMAT_R8G8B8A8_UINT, |
|---|
| 76 |
DXGI_FORMAT_R8G8B8A8_SNORM, |
|---|
| 77 |
DXGI_FORMAT_R8G8B8A8_SINT, |
|---|
| 78 |
DXGI_FORMAT_R16G16_TYPELESS, |
|---|
| 79 |
DXGI_FORMAT_R16G16_FLOAT, |
|---|
| 80 |
DXGI_FORMAT_R16G16_UNORM, |
|---|
| 81 |
DXGI_FORMAT_R16G16_UINT, |
|---|
| 82 |
DXGI_FORMAT_R16G16_SNORM, |
|---|
| 83 |
DXGI_FORMAT_R16G16_SINT, |
|---|
| 84 |
DXGI_FORMAT_R32_TYPELESS, |
|---|
| 85 |
DXGI_FORMAT_D32_FLOAT, |
|---|
| 86 |
DXGI_FORMAT_R32_FLOAT, |
|---|
| 87 |
DXGI_FORMAT_R32_UINT, |
|---|
| 88 |
DXGI_FORMAT_R32_SINT, |
|---|
| 89 |
DXGI_FORMAT_R24G8_TYPELESS, |
|---|
| 90 |
DXGI_FORMAT_D24_UNORM_S8_UINT, |
|---|
| 91 |
DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
|---|
| 92 |
DXGI_FORMAT_X24_TYPELESS_G8_UINT, |
|---|
| 93 |
DXGI_FORMAT_R8G8_TYPELESS, |
|---|
| 94 |
DXGI_FORMAT_R8G8_UNORM, |
|---|
| 95 |
DXGI_FORMAT_R8G8_UINT, |
|---|
| 96 |
DXGI_FORMAT_R8G8_SNORM, |
|---|
| 97 |
DXGI_FORMAT_R8G8_SINT, |
|---|
| 98 |
DXGI_FORMAT_R16_TYPELESS, |
|---|
| 99 |
DXGI_FORMAT_R16_FLOAT, |
|---|
| 100 |
DXGI_FORMAT_D16_UNORM, |
|---|
| 101 |
DXGI_FORMAT_R16_UNORM, |
|---|
| 102 |
DXGI_FORMAT_R16_UINT, |
|---|
| 103 |
DXGI_FORMAT_R16_SNORM, |
|---|
| 104 |
DXGI_FORMAT_R16_SINT, |
|---|
| 105 |
DXGI_FORMAT_R8_TYPELESS, |
|---|
| 106 |
DXGI_FORMAT_R8_UNORM, |
|---|
| 107 |
DXGI_FORMAT_R8_UINT, |
|---|
| 108 |
DXGI_FORMAT_R8_SNORM, |
|---|
| 109 |
DXGI_FORMAT_R8_SINT, |
|---|
| 110 |
DXGI_FORMAT_A8_UNORM, |
|---|
| 111 |
DXGI_FORMAT_R1_UNORM, |
|---|
| 112 |
DXGI_FORMAT_R9G9B9E5_SHAREDEXP, |
|---|
| 113 |
DXGI_FORMAT_R8G8_B8G8_UNORM, |
|---|
| 114 |
DXGI_FORMAT_G8R8_G8B8_UNORM, |
|---|
| 115 |
DXGI_FORMAT_BC1_TYPELESS, |
|---|
| 116 |
DXGI_FORMAT_BC1_UNORM, |
|---|
| 117 |
DXGI_FORMAT_BC1_UNORM_SRGB, |
|---|
| 118 |
DXGI_FORMAT_BC2_TYPELESS, |
|---|
| 119 |
DXGI_FORMAT_BC2_UNORM, |
|---|
| 120 |
DXGI_FORMAT_BC2_UNORM_SRGB, |
|---|
| 121 |
DXGI_FORMAT_BC3_TYPELESS, |
|---|
| 122 |
DXGI_FORMAT_BC3_UNORM, |
|---|
| 123 |
DXGI_FORMAT_BC3_UNORM_SRGB, |
|---|
| 124 |
DXGI_FORMAT_BC4_TYPELESS, |
|---|
| 125 |
DXGI_FORMAT_BC4_UNORM, |
|---|
| 126 |
DXGI_FORMAT_BC4_SNORM, |
|---|
| 127 |
DXGI_FORMAT_BC5_TYPELESS, |
|---|
| 128 |
DXGI_FORMAT_BC5_UNORM, |
|---|
| 129 |
DXGI_FORMAT_BC5_SNORM, |
|---|
| 130 |
DXGI_FORMAT_B5G6R5_UNORM, |
|---|
| 131 |
DXGI_FORMAT_B5G5R5A1_UNORM, |
|---|
| 132 |
DXGI_FORMAT_B8G8R8A8_UNORM, |
|---|
| 133 |
DXGI_FORMAT_B8G8R8X8_UNORM, |
|---|
| 134 |
DXGI_FORMAT_FORCE_UINT = 0xffffffff |
|---|
| 135 |
} |
|---|
| 136 |
|
|---|
| 137 |
struct DXGI_RGB { |
|---|
| 138 |
float Red; |
|---|
| 139 |
float Green; |
|---|
| 140 |
float Blue; |
|---|
| 141 |
} |
|---|
| 142 |
|
|---|
| 143 |
struct DXGI_GAMMA_CONTROL { |
|---|
| 144 |
DXGI_RGB Scale; |
|---|
| 145 |
DXGI_RGB Offset; |
|---|
| 146 |
DXGI_RGB[1025] GammaCurve; |
|---|
| 147 |
} |
|---|
| 148 |
|
|---|
| 149 |
struct DXGI_GAMMA_CONTROL_CAPABILITIES { |
|---|
| 150 |
BOOL ScaleAndOffsetSupported; |
|---|
| 151 |
float MaxConvertedValue; |
|---|
| 152 |
float MinConvertedValue; |
|---|
| 153 |
UINT NumGammaControlPoints; |
|---|
| 154 |
float[1025] ControlPointPositions; |
|---|
| 155 |
} |
|---|
| 156 |
|
|---|
| 157 |
struct DXGI_RATIONAL { |
|---|
| 158 |
UINT Numerator; |
|---|
| 159 |
UINT Denominator; |
|---|
| 160 |
} |
|---|
| 161 |
|
|---|
| 162 |
enum DXGI_MODE_SCANLINE_ORDER { |
|---|
| 163 |
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0, |
|---|
| 164 |
DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1, |
|---|
| 165 |
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2, |
|---|
| 166 |
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3 |
|---|
| 167 |
} |
|---|
| 168 |
|
|---|
| 169 |
enum DXGI_MODE_SCALING { |
|---|
| 170 |
DXGI_MODE_SCALING_UNSPECIFIED = 0, |
|---|
| 171 |
DXGI_MODE_SCALING_CENTERED = 1, |
|---|
| 172 |
DXGI_MODE_SCALING_STRETCHED = 2 |
|---|
| 173 |
} |
|---|
| 174 |
|
|---|
| 175 |
enum DXGI_MODE_ROTATION { |
|---|
| 176 |
DXGI_MODE_ROTATION_UNSPECIFIED = 0, |
|---|
| 177 |
DXGI_MODE_ROTATION_IDENTITY = 1, |
|---|
| 178 |
DXGI_MODE_ROTATION_ROTATE90 = 2, |
|---|
| 179 |
DXGI_MODE_ROTATION_ROTATE180 = 3, |
|---|
| 180 |
DXGI_MODE_ROTATION_ROTATE270 = 4 |
|---|
| 181 |
} |
|---|
| 182 |
|
|---|
| 183 |
struct DXGI_MODE_DESC { |
|---|
| 184 |
UINT Width; |
|---|
| 185 |
UINT Height; |
|---|
| 186 |
DXGI_RATIONAL RefreshRate; |
|---|
| 187 |
DXGI_FORMAT Format; |
|---|
| 188 |
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; |
|---|
| 189 |
DXGI_MODE_SCALING Scaling; |
|---|
| 190 |
} |
|---|
| 191 |
|
|---|
| 192 |
struct DXGI_SAMPLE_DESC { |
|---|
| 193 |
UINT Count; |
|---|
| 194 |
UINT Quality; |
|---|
| 195 |
} |
|---|