11 struct IDXGIDeviceSubObject;
13 struct IDXGIKeyedMutex;
19 struct IDXGISwapChain;
400 struct __declspec(novtable, uuid("aec22fb8-76f3-4639-9be0-28eb43a67a2e"))
401 IDXGIObject :
public IUnknown
403 virtual HRESULT SetPrivateData(
const GUID& a_iid, std::uint32_t a_dataSize,
const void* a_data) = 0;
404 virtual HRESULT SetPrivateDataInterface(
const GUID& a_iid,
const IUnknown* a_unknown) = 0;
405 virtual HRESULT GetPrivateData(
const GUID& a_iid, std::uint32_t* a_dataSize,
void* a_data) = 0;
406 virtual HRESULT GetParent(
const GUID& a_iid,
void** a_parent) = 0;
409 struct __declspec(novtable, uuid("3d3e0379-f9de-4d58-bb6c-18d62992f1a6"))
410 IDXGIDeviceSubObject :
public IDXGIObject
412 virtual HRESULT GetDevice(
const GUID& a_iid,
void** a_device) = 0;
415 struct __declspec(novtable, uuid("035f3ab4-482e-4e50-b41f-8a7f8bd8960b"))
416 IDXGIResource :
public IDXGIDeviceSubObject
420 virtual HRESULT SetEvictionPriority(std::uint32_t a_evictionPriority) = 0;
421 virtual HRESULT GetEvictionPriority(std::uint32_t* a_evictionPriority) = 0;
424 struct __declspec(novtable, uuid("9d8e1289-d7b3-465f-8126-250e349af85d"))
425 IDXGIKeyedMutex :
public IDXGIDeviceSubObject
427 virtual HRESULT AcquireSync(std::uint64_t a_key, std::uint32_t a_milliseconds) = 0;
428 virtual HRESULT ReleaseSync(std::uint64_t a_key) = 0;
431 struct __declspec(novtable, uuid("cafcb56c-6ac3-4889-bf47-9e23bbd260ec"))
432 IDXGISurface :
public IDXGIDeviceSubObject
434 virtual HRESULT GetDesc(DXGI_SURFACE_DESC* a_desc) = 0;
435 virtual HRESULT Map(DXGI_MAPPED_RECT* a_lockedRect, std::uint32_t a_mapFlags) = 0;
436 virtual HRESULT Unmap(
void) = 0;
439 struct __declspec(novtable, uuid("4AE63092-6327-4c1b-80AE-BFE12EA32B86"))
440 IDXGISurface1 :
public IDXGISurface
443 virtual HRESULT ReleaseDC(RECT* a_dirtyRect) = 0;
446 struct __declspec(novtable, uuid("2411e7e1-12ac-4ccf-bd14-9798e8534dc0"))
447 IDXGIAdapter :
public IDXGIObject
449 virtual HRESULT EnumOutputs(std::uint32_t a_outputSize, IDXGIOutput** a_output) = 0;
450 virtual HRESULT GetDesc(DXGI_ADAPTER_DESC* a_desc) = 0;
451 virtual HRESULT CheckInterfaceSupport(
const GUID& a_iid, std::int64_t* a_umdVersion) = 0;
454 struct __declspec(novtable, uuid("29038f61-3839-4626-91fd-086879011a05"))
455 IDXGIAdapter1 :
public IDXGIAdapter
457 virtual HRESULT GetDesc1(DXGI_ADAPTER_DESC1* a_desc) = 0;
460 struct __declspec(novtable, uuid("ae02eedb-c735-4690-8d52-5a8dc20213aa"))
461 IDXGIOutput :
public IDXGIObject
463 virtual HRESULT GetDesc(DXGI_OUTPUT_DESC* a_desc) = 0;
464 virtual HRESULT GetDisplayModeList(
DXGI_FORMAT a_enumFormat, std::uint32_t a_flags, std::uint32_t* a_numModes, DXGI_MODE_DESC* a_desc) = 0;
465 virtual HRESULT FindClosestMatchingMode(
const DXGI_MODE_DESC* a_modeToMatch, DXGI_MODE_DESC* a_closestMatch, IUnknown* a_concernedDevice) = 0;
466 virtual HRESULT WaitForVBlank(
void) = 0;
467 virtual HRESULT TakeOwnership(IUnknown* a_device,
BOOL a_exclusive) = 0;
468 virtual void ReleaseOwnership(
void) = 0;
469 virtual HRESULT GetGammaControlCapabilities(DXGI_GAMMA_CONTROL_CAPABILITIES* a_gammaCaps) = 0;
470 virtual HRESULT SetGammaControl(
const DXGI_GAMMA_CONTROL* a_array) = 0;
471 virtual HRESULT GetGammaControl(DXGI_GAMMA_CONTROL* a_array) = 0;
472 virtual HRESULT SetDisplaySurface(IDXGISurface* a_scanoutSurface) = 0;
473 virtual HRESULT GetDisplaySurfaceData(IDXGISurface* a_destination) = 0;
474 virtual HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* a_stats) = 0;
477 struct __declspec(novtable, uuid("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a"))
478 IDXGISwapChain :
public IDXGIDeviceSubObject
480 virtual HRESULT Present(std::uint32_t a_syncInterval, std::uint32_t a_flags) = 0;
481 virtual HRESULT GetBuffer(std::uint32_t a_buffer,
const GUID& a_iid,
void** a_surface) = 0;
482 virtual HRESULT SetFullscreenState(
BOOL a_fullscreen, IDXGIOutput* a_target) = 0;
483 virtual HRESULT GetFullscreenState(
BOOL* a_fullscreen, IDXGIOutput** a_target) = 0;
484 virtual HRESULT GetDesc(DXGI_SWAP_CHAIN_DESC* a_desc) = 0;
485 virtual HRESULT ResizeBuffers(std::uint32_t a_bufferCount, std::uint32_t a_width, std::uint32_t a_height,
DXGI_FORMAT a_newFormat, std::uint32_t a_swapChainFlags) = 0;
486 virtual HRESULT ResizeTarget(
const DXGI_MODE_DESC* a_newTargetParameters) = 0;
487 virtual HRESULT GetContainingOutput(IDXGIOutput** a_output) = 0;
488 virtual HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* a_stats) = 0;
489 virtual HRESULT GetLastPresentCount(std::uint32_t* a_lastPresentCount) = 0;
492 struct __declspec(novtable, uuid("7b7166ec-21c7-44ae-b21a-c9ae321ae369"))
493 IDXGIFactory :
public IDXGIObject
495 virtual HRESULT EnumAdapters(std::uint32_t a_adapterSize, IDXGIAdapter** a_adapter) = 0;
496 virtual HRESULT MakeWindowAssociation(
HWND a_windowHandle, std::uint32_t a_flags) = 0;
497 virtual HRESULT GetWindowAssociation(
HWND* a_windowHandle) = 0;
498 virtual HRESULT CreateSwapChain(IUnknown* a_device, DXGI_SWAP_CHAIN_DESC* a_desc, IDXGISwapChain** a_swapChain) = 0;
499 virtual HRESULT CreateSoftwareAdapter(
HMODULE a_module, IDXGIAdapter** a_adapter) = 0;
502 struct __declspec(novtable, uuid("770aae78-f26f-4dba-a829-253c83d1b387"))
503 IDXGIFactory1 :
public IDXGIFactory
505 virtual HRESULT EnumAdapters1(std::uint32_t a_adapterSize, IDXGIAdapter1** a_adapter) = 0;
506 virtual BOOL IsCurrent(
void) = 0;
509 struct __declspec(novtable, uuid("54ec77fa-1377-44e6-8c32-88fd5f44c84c"))
510 IDXGIDevice :
public IDXGIObject
512 virtual HRESULT GetAdapter(IDXGIAdapter** a_adapter) = 0;
513 virtual HRESULT CreateSurface(
const DXGI_SURFACE_DESC* a_desc, std::uint32_t a_numSurfaces,
DXGI_USAGE a_usage,
const DXGI_SHARED_RESOURCE* a_sharedResource, IDXGISurface** a_surface) = 0;
514 virtual HRESULT QueryResourceResidency(IUnknown*
const* a_resources,
DXGI_RESIDENCY* a_residencyStatus, std::uint32_t a_numResources) = 0;
515 virtual HRESULT SetGPUThreadPriority(std::int32_t a_priority) = 0;
516 virtual HRESULT GetGPUThreadPriority(std::int32_t* a_priority) = 0;
519 struct __declspec(novtable, uuid("77db970f-6276-48ba-ba28-070143b4392c"))
520 IDXGIDevice1 :
public IDXGIDevice
522 virtual HRESULT SetMaximumFrameLatency(std::uint32_t a_maxLatency) = 0;
523 virtual HRESULT GetMaximumFrameLatency(std::uint32_t* a_maxLatency) = 0;
535 inline constexpr
IID IID_IDXGIAdapter{ 0x2411E7E1, 0x12AC, 0x4CCF, { 0xBD, 0x14, 0x97, 0x98, 0xE8, 0x53, 0x4D, 0xC0 } };
536 inline constexpr
IID IID_IDXGIAdapter1{ 0x29038F61, 0x3839, 0x4626, { 0x91, 0xFD, 0x08, 0x68, 0x79, 0x01, 0x1A, 0x05 } };
537 inline constexpr
IID IID_IDXGIObject{ 0xAEC22Fb8, 0x76F3, 0x4639, { 0x9B, 0xE0, 0x28, 0xEB, 0x43, 0xA6, 0x7A, 0x2E } };
538 inline constexpr
IID IID_IDXGIDevice{ 0x54EC77FA, 0x1377, 0x44E6, { 0x8C, 0x32, 0x88, 0xFD, 0x5F, 0x44, 0xC8, 0x4C } };
539 inline constexpr
IID IID_IDXGIDevice1{ 0x77DB970F, 0x6276, 0x48BA, { 0xBA, 0x28, 0x07, 0x01, 0x43, 0xB4, 0x39, 0x2C } };
540 inline constexpr
IID IID_IDXGIDeviceSubObject{ 0x3D3E0379, 0xF9DE, 0x4D58, { 0xBB, 0x6C, 0x18, 0xD6, 0x29, 0x92, 0xF1, 0xA6 } };
541 inline constexpr
IID IID_IDXGIFactory{ 0x7B7166EC, 0x21C7, 0x44AE, { 0xB2, 0x1A, 0xC9, 0xAE, 0x32, 0x1A, 0xE3, 0x69 } };
542 inline constexpr
IID IID_IDXGIFactory1{ 0x770AAE78, 0xF26F, 0x4DBA, { 0xA8, 0x29, 0x25, 0x3C, 0x83, 0xD1, 0xB3, 0x87 } };
543 inline constexpr
IID IID_IDXGIKeyedMutex{ 0x9D8E1289, 0xD7B3, 0x465F, { 0x81, 0x26, 0x25, 0x0E, 0x34, 0x9A, 0xF8, 0x5D } };
544 inline constexpr
IID IID_IDXGIOutput{ 0xAE02EEDB, 0xC735, 0x4690, { 0x8D, 0x52, 0x5A, 0x8D, 0xC2, 0x02, 0x13, 0xAA } };
545 inline constexpr
IID IID_IDXGIResource{ 0x035F3AB4, 0x482E, 0x4E50, { 0xB4, 0x1F, 0x8A, 0x7F, 0x8B, 0xD8, 0x96, 0x0B } };
546 inline constexpr
IID IID_IDXGISurface{ 0xCAFCB56C, 0x6AC3, 0x4889, { 0xBF, 0x47, 0x9E, 0x23, 0xBB, 0xD2, 0x60, 0xEC } };
547 inline constexpr
IID IID_IDXGISurface1{ 0x4AE63092, 0x6327, 0x4C1B, { 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86 } };
548 inline constexpr
IID IID_IDXGISwapChain{ 0x310D36A0, 0xD2E7, 0x4C0A, { 0xAA, 0x04, 0x6A, 0x9D, 0x23, 0xB8, 0x88, 0x6A } };
Definition: BSDirectInputManager.h:8
constexpr IID IID_IDXGIKeyedMutex
Definition: DXGI.h:543
DXGI_MODE_SCALING
Definition: DXGI.h:201
@ DXGI_MODE_SCALING_CENTERED
Definition: DXGI.h:203
@ DXGI_MODE_SCALING_STRETCHED
Definition: DXGI.h:204
@ DXGI_MODE_SCALING_UNSPECIFIED
Definition: DXGI.h:202
constexpr IID IID_IDXGIFactory1
Definition: DXGI.h:542
constexpr IID IID_IDXGIAdapter
Definition: DXGI.h:535
void * HANDLE
Definition: BASE.h:14
DXGI_MODE_SCANLINE_ORDER
Definition: DXGI.h:208
@ DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST
Definition: DXGI.h:211
@ DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
Definition: DXGI.h:210
@ DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST
Definition: DXGI.h:212
@ DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
Definition: DXGI.h:209
constexpr IID IID_IDXGIObject
Definition: DXGI.h:537
constexpr IID IID_IDXGISurface1
Definition: DXGI.h:547
struct __declspec(novtable, uuid("00000000-0000-0000-c000-000000000046")) IUnknown
Definition: COM.h:7
struct HDC__ * HDC
Definition: BASE.h:18
DXGI_SWAP_EFFECT
Definition: DXGI.h:223
@ DXGI_SWAP_EFFECT_SEQUENTIAL
Definition: DXGI.h:225
@ DXGI_SWAP_EFFECT_DISCARD
Definition: DXGI.h:224
@ DXGI_SWAP_EFFECT_FLIP_DISCARD
Definition: DXGI.h:227
@ DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
Definition: DXGI.h:226
DXGI_SWAP_CHAIN_FLAG
Definition: DXGI.h:231
@ DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO
Definition: DXGI.h:241
@ DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED
Definition: DXGI.h:242
@ DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS
Definition: DXGI.h:244
@ DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT
Definition: DXGI.h:238
@ DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH
Definition: DXGI.h:233
@ DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER
Definition: DXGI.h:236
@ DXGI_SWAP_CHAIN_FLAG_NONPREROTATED
Definition: DXGI.h:232
@ DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT
Definition: DXGI.h:235
@ DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
Definition: DXGI.h:243
@ DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO
Definition: DXGI.h:240
@ DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY
Definition: DXGI.h:237
@ DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE
Definition: DXGI.h:234
@ DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER
Definition: DXGI.h:239
HRESULT CreateDXGIFactory1(const IID &a_iid, void **a_factory) noexcept
std::int32_t BOOL
Definition: BASE.h:13
constexpr IID IID_IDXGISwapChain
Definition: DXGI.h:548
DXGI_ADAPTER_FLAG
Definition: DXGI.h:25
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
Definition: DXGI.h:29
@ DXGI_ADAPTER_FLAG_SOFTWARE
Definition: DXGI.h:28
@ DXGI_ADAPTER_FLAG_REMOTE
Definition: DXGI.h:27
@ DXGI_ADAPTER_FLAG_NONE
Definition: DXGI.h:26
constexpr IID IID_IDXGIAdapter1
Definition: DXGI.h:536
DXGI_RESIDENCY
Definition: DXGI.h:216
@ DXGI_RESIDENCY_FULLY_RESIDENT
Definition: DXGI.h:217
@ DXGI_RESIDENCY_EVICTED_TO_DISK
Definition: DXGI.h:219
@ DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY
Definition: DXGI.h:218
DXGI_MODE_ROTATION
Definition: DXGI.h:192
@ DXGI_MODE_ROTATION_ROTATE90
Definition: DXGI.h:195
@ DXGI_MODE_ROTATION_UNSPECIFIED
Definition: DXGI.h:193
@ DXGI_MODE_ROTATION_ROTATE270
Definition: DXGI.h:197
@ DXGI_MODE_ROTATION_IDENTITY
Definition: DXGI.h:194
@ DXGI_MODE_ROTATION_ROTATE180
Definition: DXGI.h:196
constexpr IID IID_IDXGIDeviceSubObject
Definition: DXGI.h:540
std::uint32_t DXGI_USAGE
Definition: DXGI.h:259
DXGI_FORMAT
Definition: DXGI.h:63
@ DXGI_FORMAT_R8G8_SNORM
Definition: DXGI.h:115
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
Definition: DXGI.h:131
@ DXGI_FORMAT_R8_UNORM
Definition: DXGI.h:125
@ DXGI_FORMAT_R8_SINT
Definition: DXGI.h:128
@ DXGI_FORMAT_R32G32B32_FLOAT
Definition: DXGI.h:70
@ DXGI_FORMAT_R32G32B32A32_FLOAT
Definition: DXGI.h:66
@ DXGI_FORMAT_R32G32B32_UINT
Definition: DXGI.h:71
@ DXGI_FORMAT_R32G32B32_TYPELESS
Definition: DXGI.h:69
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition: DXGI.h:151
@ DXGI_FORMAT_A8_UNORM
Definition: DXGI.h:129
@ DXGI_FORMAT_V408
Definition: DXGI.h:183
@ DXGI_FORMAT_R8_TYPELESS
Definition: DXGI.h:124
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition: DXGI.h:154
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
Definition: DXGI.h:73
@ DXGI_FORMAT_R32_UINT
Definition: DXGI.h:106
@ DXGI_FORMAT_D24_UNORM_S8_UINT
Definition: DXGI.h:109
@ DXGI_FORMAT_FORCE_UINT
Definition: DXGI.h:188
@ DXGI_FORMAT_R32G32_SINT
Definition: DXGI.h:82
@ DXGI_FORMAT_R8G8B8A8_UINT
Definition: DXGI.h:94
@ DXGI_FORMAT_BC4_SNORM
Definition: DXGI.h:145
@ DXGI_FORMAT_R8G8_B8G8_UNORM
Definition: DXGI.h:132
@ DXGI_FORMAT_P8
Definition: DXGI.h:177
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
Definition: DXGI.h:110
@ DXGI_FORMAT_R16_SNORM
Definition: DXGI.h:122
@ DXGI_FORMAT_R16G16_UNORM
Definition: DXGI.h:99
@ DXGI_FORMAT_BC5_UNORM
Definition: DXGI.h:147
@ DXGI_FORMAT_Y416
Definition: DXGI.h:166
@ DXGI_FORMAT_IA44
Definition: DXGI.h:176
@ DXGI_FORMAT_BC2_UNORM
Definition: DXGI.h:138
@ DXGI_FORMAT_B4G4R4A4_UNORM
Definition: DXGI.h:179
@ DXGI_FORMAT_R8G8_UNORM
Definition: DXGI.h:113
@ DXGI_FORMAT_BC7_TYPELESS
Definition: DXGI.h:161
@ DXGI_FORMAT_R16G16B16A16_SINT
Definition: DXGI.h:78
@ DXGI_FORMAT_B5G6R5_UNORM
Definition: DXGI.h:149
@ DXGI_FORMAT_R32_SINT
Definition: DXGI.h:107
@ DXGI_FORMAT_R32G32B32_SINT
Definition: DXGI.h:72
@ DXGI_FORMAT_P010
Definition: DXGI.h:168
@ DXGI_FORMAT_BC7_UNORM
Definition: DXGI.h:162
@ DXGI_FORMAT_R16_TYPELESS
Definition: DXGI.h:117
@ DXGI_FORMAT_R8G8B8A8_SINT
Definition: DXGI.h:96
@ DXGI_FORMAT_420_OPAQUE
Definition: DXGI.h:170
@ DXGI_FORMAT_R16G16B16A16_UNORM
Definition: DXGI.h:75
@ DXGI_FORMAT_Y210
Definition: DXGI.h:172
@ DXGI_FORMAT_BC7_UNORM_SRGB
Definition: DXGI.h:163
@ DXGI_FORMAT_R16G16B16A16_FLOAT
Definition: DXGI.h:74
@ DXGI_FORMAT_R16G16_TYPELESS
Definition: DXGI.h:97
@ DXGI_FORMAT_UNKNOWN
Definition: DXGI.h:64
@ DXGI_FORMAT_BC3_UNORM_SRGB
Definition: DXGI.h:142
@ DXGI_FORMAT_R32G32_TYPELESS
Definition: DXGI.h:79
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
Definition: DXGI.h:86
@ DXGI_FORMAT_P016
Definition: DXGI.h:169
@ DXGI_FORMAT_R32_FLOAT
Definition: DXGI.h:105
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
Definition: DXGI.h:85
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
Definition: DXGI.h:84
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
Definition: DXGI.h:156
@ DXGI_FORMAT_R16G16_UINT
Definition: DXGI.h:100
@ DXGI_FORMAT_BC1_UNORM_SRGB
Definition: DXGI.h:136
@ DXGI_FORMAT_D32_FLOAT
Definition: DXGI.h:104
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
Definition: DXGI.h:87
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Definition: DXGI.h:153
@ DXGI_FORMAT_R8G8B8A8_SNORM
Definition: DXGI.h:95
@ DXGI_FORMAT_BC1_TYPELESS
Definition: DXGI.h:134
@ DXGI_FORMAT_R11G11B10_FLOAT
Definition: DXGI.h:90
@ DXGI_FORMAT_R16_UINT
Definition: DXGI.h:121
@ DXGI_FORMAT_B5G5R5A1_UNORM
Definition: DXGI.h:150
@ DXGI_FORMAT_R16G16_SNORM
Definition: DXGI.h:101
@ DXGI_FORMAT_V208
Definition: DXGI.h:182
@ DXGI_FORMAT_B8G8R8X8_UNORM
Definition: DXGI.h:152
@ DXGI_FORMAT_R32_TYPELESS
Definition: DXGI.h:103
@ DXGI_FORMAT_AI44
Definition: DXGI.h:175
@ DXGI_FORMAT_YUY2
Definition: DXGI.h:171
@ DXGI_FORMAT_R10G10B10A2_UNORM
Definition: DXGI.h:88
@ DXGI_FORMAT_BC6H_TYPELESS
Definition: DXGI.h:158
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
Definition: DXGI.h:111
@ DXGI_FORMAT_NV11
Definition: DXGI.h:174
@ DXGI_FORMAT_R8_SNORM
Definition: DXGI.h:127
@ DXGI_FORMAT_A8P8
Definition: DXGI.h:178
@ DXGI_FORMAT_D16_UNORM
Definition: DXGI.h:119
@ DXGI_FORMAT_R8G8_TYPELESS
Definition: DXGI.h:112
@ DXGI_FORMAT_R8G8B8A8_UNORM
Definition: DXGI.h:92
@ DXGI_FORMAT_R16_UNORM
Definition: DXGI.h:120
@ DXGI_FORMAT_R16G16B16A16_UINT
Definition: DXGI.h:76
@ DXGI_FORMAT_R16G16_FLOAT
Definition: DXGI.h:98
@ DXGI_FORMAT_R8G8_SINT
Definition: DXGI.h:116
@ DXGI_FORMAT_BC6H_UF16
Definition: DXGI.h:159
@ DXGI_FORMAT_R32G32_UINT
Definition: DXGI.h:81
@ DXGI_FORMAT_R16_SINT
Definition: DXGI.h:123
@ DXGI_FORMAT_BC4_TYPELESS
Definition: DXGI.h:143
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition: DXGI.h:155
@ DXGI_FORMAT_BC1_UNORM
Definition: DXGI.h:135
@ DXGI_FORMAT_BC5_TYPELESS
Definition: DXGI.h:146
@ DXGI_FORMAT_R32G32_FLOAT
Definition: DXGI.h:80
@ DXGI_FORMAT_R16G16_SINT
Definition: DXGI.h:102
@ DXGI_FORMAT_R8G8_UINT
Definition: DXGI.h:114
@ DXGI_FORMAT_Y410
Definition: DXGI.h:165
@ DXGI_FORMAT_BC2_TYPELESS
Definition: DXGI.h:137
@ DXGI_FORMAT_Y216
Definition: DXGI.h:173
@ DXGI_FORMAT_BC5_SNORM
Definition: DXGI.h:148
@ DXGI_FORMAT_BC3_TYPELESS
Definition: DXGI.h:140
@ DXGI_FORMAT_R32G32B32A32_SINT
Definition: DXGI.h:68
@ DXGI_FORMAT_BC4_UNORM
Definition: DXGI.h:144
@ DXGI_FORMAT_BC2_UNORM_SRGB
Definition: DXGI.h:139
@ DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE
Definition: DXGI.h:186
@ DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE
Definition: DXGI.h:185
@ DXGI_FORMAT_BC3_UNORM
Definition: DXGI.h:141
@ DXGI_FORMAT_R8_UINT
Definition: DXGI.h:126
@ DXGI_FORMAT_NV12
Definition: DXGI.h:167
@ DXGI_FORMAT_AYUV
Definition: DXGI.h:164
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
Definition: DXGI.h:93
@ DXGI_FORMAT_R16G16B16A16_SNORM
Definition: DXGI.h:77
@ DXGI_FORMAT_R32G8X24_TYPELESS
Definition: DXGI.h:83
@ DXGI_FORMAT_G8R8_G8B8_UNORM
Definition: DXGI.h:133
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
Definition: DXGI.h:157
@ DXGI_FORMAT_R24G8_TYPELESS
Definition: DXGI.h:108
@ DXGI_FORMAT_P208
Definition: DXGI.h:181
@ DXGI_FORMAT_R10G10B10A2_UINT
Definition: DXGI.h:89
@ DXGI_FORMAT_BC6H_SF16
Definition: DXGI.h:160
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
Definition: DXGI.h:91
@ DXGI_FORMAT_R32G32B32A32_UINT
Definition: DXGI.h:67
@ DXGI_FORMAT_R16_FLOAT
Definition: DXGI.h:118
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
Definition: DXGI.h:65
@ DXGI_FORMAT_R1_UNORM
Definition: DXGI.h:130
constexpr IID IID_IDXGIDevice
Definition: DXGI.h:538
HRESULT CreateDXGIFactory(const IID &a_iid, void **a_factory) noexcept
constexpr IID IID_IDXGIFactory
Definition: DXGI.h:541
constexpr IID IID_IDXGIOutput
Definition: DXGI.h:544
struct HMONITOR__ * HMONITOR
Definition: BASE.h:25
HINSTANCE HMODULE
Definition: BASE.h:24
constexpr IID IID_IDXGIResource
Definition: DXGI.h:545
constexpr IID IID_IDXGIDevice1
Definition: DXGI.h:539
struct HWND__ * HWND
Definition: BASE.h:30
std::int32_t HRESULT
Definition: BASE.h:28
constexpr IID IID_IDXGISurface
Definition: DXGI.h:546
DXGI_COLOR_SPACE_TYPE
Definition: DXGI.h:33
@ DXGI_COLOR_SPACE_RESERVED
Definition: DXGI.h:38
@ DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020
Definition: DXGI.h:46
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601
Definition: DXGI.h:40
@ DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020
Definition: DXGI.h:53
@ DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709
Definition: DXGI.h:35
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020
Definition: DXGI.h:57
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709
Definition: DXGI.h:56
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020
Definition: DXGI.h:50
@ DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601
Definition: DXGI.h:41
@ DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020
Definition: DXGI.h:55
@ DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020
Definition: DXGI.h:51
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020
Definition: DXGI.h:49
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020
Definition: DXGI.h:47
@ DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
Definition: DXGI.h:34
@ DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020
Definition: DXGI.h:48
@ DXGI_COLOR_SPACE_CUSTOM
Definition: DXGI.h:59
@ DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709
Definition: DXGI.h:43
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709
Definition: DXGI.h:42
@ DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601
Definition: DXGI.h:39
@ DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709
Definition: DXGI.h:36
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020
Definition: DXGI.h:58
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020
Definition: DXGI.h:44
@ DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020
Definition: DXGI.h:52
@ DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709
Definition: DXGI.h:54
@ DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020
Definition: DXGI.h:37
@ DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020
Definition: DXGI.h:45
float g
Definition: DXGI.h:253
float a
Definition: DXGI.h:255
float b
Definition: DXGI.h:254
float r
Definition: DXGI.h:252
wchar_t description[128]
Definition: DXGI.h:285
LUID adapterLuid
Definition: DXGI.h:293
std::uint32_t subSysId
Definition: DXGI.h:288
std::size_t dedicatedVideoMemory
Definition: DXGI.h:290
std::size_t dedicatedSystemMemory
Definition: DXGI.h:291
std::uint32_t vendorId
Definition: DXGI.h:286
std::uint32_t flags
Definition: DXGI.h:294
std::uint32_t revision
Definition: DXGI.h:289
std::size_t sharedSystemMemory
Definition: DXGI.h:292
std::uint32_t deviceId
Definition: DXGI.h:287
std::uint32_t deviceId
Definition: DXGI.h:274
std::uint32_t subSysId
Definition: DXGI.h:275
std::size_t dedicatedSystemMemory
Definition: DXGI.h:278
std::size_t sharedSystemMemory
Definition: DXGI.h:279
wchar_t description[128]
Definition: DXGI.h:272
std::uint32_t revision
Definition: DXGI.h:276
LUID adapterLuid
Definition: DXGI.h:280
std::size_t dedicatedVideoMemory
Definition: DXGI.h:277
std::uint32_t vendorId
Definition: DXGI.h:273
float whitePoints[16][2]
Definition: DXGI.h:300
float primaryCoordinates[8][2]
Definition: DXGI.h:299
std::uint32_t presentCount
Definition: DXGI.h:305
std::int64_t syncQPCTime
Definition: DXGI.h:308
std::int64_t syncGPUTime
Definition: DXGI.h:309
std::uint32_t syncRefreshCount
Definition: DXGI.h:307
std::uint32_t presentRefreshCount
Definition: DXGI.h:306
BOOL scaleAndOffsetSupported
Definition: DXGI.h:328
float controlPointPositions[1025]
Definition: DXGI.h:332
std::uint32_t numGammaControlPoints
Definition: DXGI.h:331
float minConvertedValue
Definition: DXGI.h:330
float maxConvertedValue
Definition: DXGI.h:329
DXGI_RGB scale
Definition: DXGI.h:321
DXGI_RGB offset
Definition: DXGI.h:322
DXGI_RGB gammaCurve[1025]
Definition: DXGI.h:323
std::int32_t pitch
Definition: DXGI.h:337
std::uint8_t * bits
Definition: DXGI.h:338
DXGI_MODE_SCALING scaling
Definition: DXGI.h:354
std::uint32_t height
Definition: DXGI.h:350
DXGI_FORMAT format
Definition: DXGI.h:352
std::uint32_t width
Definition: DXGI.h:349
DXGI_RATIONAL refreshRate
Definition: DXGI.h:351
DXGI_MODE_SCANLINE_ORDER scanlineOrdering
Definition: DXGI.h:353
RECT desktopCoordinates
Definition: DXGI.h:360
wchar_t deviceName[32]
Definition: DXGI.h:359
DXGI_MODE_ROTATION rotation
Definition: DXGI.h:362
BOOL attachedToDesktop
Definition: DXGI.h:361
HMONITOR monitor
Definition: DXGI.h:363
std::uint32_t denominator
Definition: DXGI.h:344
std::uint32_t numerator
Definition: DXGI.h:343
float blue
Definition: DXGI.h:316
float red
Definition: DXGI.h:314
float green
Definition: DXGI.h:315
std::uint32_t count
Definition: DXGI.h:368
std::uint32_t quality
Definition: DXGI.h:369
HANDLE handle
Definition: DXGI.h:374
std::uint32_t width
Definition: DXGI.h:379
std::uint32_t height
Definition: DXGI.h:380
DXGI_SAMPLE_DESC sampleDesc
Definition: DXGI.h:382
DXGI_FORMAT format
Definition: DXGI.h:381
std::uint32_t bufferCount
Definition: DXGI.h:390
DXGI_MODE_DESC bufferDesc
Definition: DXGI.h:387
DXGI_SAMPLE_DESC sampleDesc
Definition: DXGI.h:388
DXGI_SWAP_EFFECT swapEffect
Definition: DXGI.h:393
BOOL windowed
Definition: DXGI.h:392
std::uint32_t flags
Definition: DXGI.h:394
HWND outputWindow
Definition: DXGI.h:391
DXGI_USAGE bufferUsage
Definition: DXGI.h:389
std::int32_t hi
Definition: DXGI.h:264
std::uint32_t lo
Definition: DXGI.h:263