CommonLibSSE (powerof3)
DXGI.h File Reference
#include "REX/W32/COM.h"

Go to the source code of this file.

Classes

struct  REX::W32::D3DCOLORVALUE
 
struct  REX::W32::LUID
 
struct  REX::W32::DXGI_ADAPTER_DESC
 
struct  REX::W32::DXGI_ADAPTER_DESC1
 
struct  REX::W32::DXGI_DISPLAY_COLOR_SPACE
 
struct  REX::W32::DXGI_FRAME_STATISTICS
 
struct  REX::W32::DXGI_RGB
 
struct  REX::W32::DXGI_GAMMA_CONTROL
 
struct  REX::W32::DXGI_GAMMA_CONTROL_CAPABILITIES
 
struct  REX::W32::DXGI_MAPPED_RECT
 
struct  REX::W32::DXGI_RATIONAL
 
struct  REX::W32::DXGI_MODE_DESC
 
struct  REX::W32::DXGI_OUTPUT_DESC
 
struct  REX::W32::DXGI_SAMPLE_DESC
 
struct  REX::W32::DXGI_SHARED_RESOURCE
 
struct  REX::W32::DXGI_SURFACE_DESC
 
struct  REX::W32::DXGI_SWAP_CHAIN_DESC
 

Namespaces

 REX
 
 REX::W32
 

Typedefs

using REX::W32::DXGI_RGBA = D3DCOLORVALUE
 
using REX::W32::DXGI_USAGE = std::uint32_t
 

Enumerations

enum  REX::W32::DXGI_ADAPTER_FLAG { REX::W32::DXGI_ADAPTER_FLAG_NONE = 0 , REX::W32::DXGI_ADAPTER_FLAG_REMOTE = 1 , REX::W32::DXGI_ADAPTER_FLAG_SOFTWARE = 2 , REX::W32::DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xFFFFFFFF }
 
enum  REX::W32::DXGI_COLOR_SPACE_TYPE {
  REX::W32::DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0 , REX::W32::DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1 , REX::W32::DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2 , REX::W32::DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3 ,
  REX::W32::DXGI_COLOR_SPACE_RESERVED = 4 , REX::W32::DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6 , REX::W32::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7 ,
  REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8 , REX::W32::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10 , REX::W32::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11 ,
  REX::W32::DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13 , REX::W32::DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15 ,
  REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16 , REX::W32::DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 = 18 , REX::W32::DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 = 19 ,
  REX::W32::DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709 = 20 , REX::W32::DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020 = 21 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709 = 22 , REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020 = 23 ,
  REX::W32::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020 = 24 , REX::W32::DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF
}
 
enum  REX::W32::DXGI_FORMAT {
  REX::W32::DXGI_FORMAT_UNKNOWN = 0 , REX::W32::DXGI_FORMAT_R32G32B32A32_TYPELESS = 1 , REX::W32::DXGI_FORMAT_R32G32B32A32_FLOAT = 2 , REX::W32::DXGI_FORMAT_R32G32B32A32_UINT = 3 ,
  REX::W32::DXGI_FORMAT_R32G32B32A32_SINT = 4 , REX::W32::DXGI_FORMAT_R32G32B32_TYPELESS = 5 , REX::W32::DXGI_FORMAT_R32G32B32_FLOAT = 6 , REX::W32::DXGI_FORMAT_R32G32B32_UINT = 7 ,
  REX::W32::DXGI_FORMAT_R32G32B32_SINT = 8 , REX::W32::DXGI_FORMAT_R16G16B16A16_TYPELESS = 9 , REX::W32::DXGI_FORMAT_R16G16B16A16_FLOAT = 10 , REX::W32::DXGI_FORMAT_R16G16B16A16_UNORM = 11 ,
  REX::W32::DXGI_FORMAT_R16G16B16A16_UINT = 12 , REX::W32::DXGI_FORMAT_R16G16B16A16_SNORM = 13 , REX::W32::DXGI_FORMAT_R16G16B16A16_SINT = 14 , REX::W32::DXGI_FORMAT_R32G32_TYPELESS = 15 ,
  REX::W32::DXGI_FORMAT_R32G32_FLOAT = 16 , REX::W32::DXGI_FORMAT_R32G32_UINT = 17 , REX::W32::DXGI_FORMAT_R32G32_SINT = 18 , REX::W32::DXGI_FORMAT_R32G8X24_TYPELESS = 19 ,
  REX::W32::DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20 , REX::W32::DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21 , REX::W32::DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22 , REX::W32::DXGI_FORMAT_R10G10B10A2_TYPELESS = 23 ,
  REX::W32::DXGI_FORMAT_R10G10B10A2_UNORM = 24 , REX::W32::DXGI_FORMAT_R10G10B10A2_UINT = 25 , REX::W32::DXGI_FORMAT_R11G11B10_FLOAT = 26 , REX::W32::DXGI_FORMAT_R8G8B8A8_TYPELESS = 27 ,
  REX::W32::DXGI_FORMAT_R8G8B8A8_UNORM = 28 , REX::W32::DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29 , REX::W32::DXGI_FORMAT_R8G8B8A8_UINT = 30 , REX::W32::DXGI_FORMAT_R8G8B8A8_SNORM = 31 ,
  REX::W32::DXGI_FORMAT_R8G8B8A8_SINT = 32 , REX::W32::DXGI_FORMAT_R16G16_TYPELESS = 33 , REX::W32::DXGI_FORMAT_R16G16_FLOAT = 34 , REX::W32::DXGI_FORMAT_R16G16_UNORM = 35 ,
  REX::W32::DXGI_FORMAT_R16G16_UINT = 36 , REX::W32::DXGI_FORMAT_R16G16_SNORM = 37 , REX::W32::DXGI_FORMAT_R16G16_SINT = 38 , REX::W32::DXGI_FORMAT_R32_TYPELESS = 39 ,
  REX::W32::DXGI_FORMAT_D32_FLOAT = 40 , REX::W32::DXGI_FORMAT_R32_FLOAT = 41 , REX::W32::DXGI_FORMAT_R32_UINT = 42 , REX::W32::DXGI_FORMAT_R32_SINT = 43 ,
  REX::W32::DXGI_FORMAT_R24G8_TYPELESS = 44 , REX::W32::DXGI_FORMAT_D24_UNORM_S8_UINT = 45 , REX::W32::DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46 , REX::W32::DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47 ,
  REX::W32::DXGI_FORMAT_R8G8_TYPELESS = 48 , REX::W32::DXGI_FORMAT_R8G8_UNORM = 49 , REX::W32::DXGI_FORMAT_R8G8_UINT = 50 , REX::W32::DXGI_FORMAT_R8G8_SNORM = 51 ,
  REX::W32::DXGI_FORMAT_R8G8_SINT = 52 , REX::W32::DXGI_FORMAT_R16_TYPELESS = 53 , REX::W32::DXGI_FORMAT_R16_FLOAT = 54 , REX::W32::DXGI_FORMAT_D16_UNORM = 55 ,
  REX::W32::DXGI_FORMAT_R16_UNORM = 56 , REX::W32::DXGI_FORMAT_R16_UINT = 57 , REX::W32::DXGI_FORMAT_R16_SNORM = 58 , REX::W32::DXGI_FORMAT_R16_SINT = 59 ,
  REX::W32::DXGI_FORMAT_R8_TYPELESS = 60 , REX::W32::DXGI_FORMAT_R8_UNORM = 61 , REX::W32::DXGI_FORMAT_R8_UINT = 62 , REX::W32::DXGI_FORMAT_R8_SNORM = 63 ,
  REX::W32::DXGI_FORMAT_R8_SINT = 64 , REX::W32::DXGI_FORMAT_A8_UNORM = 65 , REX::W32::DXGI_FORMAT_R1_UNORM = 66 , REX::W32::DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67 ,
  REX::W32::DXGI_FORMAT_R8G8_B8G8_UNORM = 68 , REX::W32::DXGI_FORMAT_G8R8_G8B8_UNORM = 69 , REX::W32::DXGI_FORMAT_BC1_TYPELESS = 70 , REX::W32::DXGI_FORMAT_BC1_UNORM = 71 ,
  REX::W32::DXGI_FORMAT_BC1_UNORM_SRGB = 72 , REX::W32::DXGI_FORMAT_BC2_TYPELESS = 73 , REX::W32::DXGI_FORMAT_BC2_UNORM = 74 , REX::W32::DXGI_FORMAT_BC2_UNORM_SRGB = 75 ,
  REX::W32::DXGI_FORMAT_BC3_TYPELESS = 76 , REX::W32::DXGI_FORMAT_BC3_UNORM = 77 , REX::W32::DXGI_FORMAT_BC3_UNORM_SRGB = 78 , REX::W32::DXGI_FORMAT_BC4_TYPELESS = 79 ,
  REX::W32::DXGI_FORMAT_BC4_UNORM = 80 , REX::W32::DXGI_FORMAT_BC4_SNORM = 81 , REX::W32::DXGI_FORMAT_BC5_TYPELESS = 82 , REX::W32::DXGI_FORMAT_BC5_UNORM = 83 ,
  REX::W32::DXGI_FORMAT_BC5_SNORM = 84 , REX::W32::DXGI_FORMAT_B5G6R5_UNORM = 85 , REX::W32::DXGI_FORMAT_B5G5R5A1_UNORM = 86 , REX::W32::DXGI_FORMAT_B8G8R8A8_UNORM = 87 ,
  REX::W32::DXGI_FORMAT_B8G8R8X8_UNORM = 88 , REX::W32::DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89 , REX::W32::DXGI_FORMAT_B8G8R8A8_TYPELESS = 90 , REX::W32::DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91 ,
  REX::W32::DXGI_FORMAT_B8G8R8X8_TYPELESS = 92 , REX::W32::DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93 , REX::W32::DXGI_FORMAT_BC6H_TYPELESS = 94 , REX::W32::DXGI_FORMAT_BC6H_UF16 = 95 ,
  REX::W32::DXGI_FORMAT_BC6H_SF16 = 96 , REX::W32::DXGI_FORMAT_BC7_TYPELESS = 97 , REX::W32::DXGI_FORMAT_BC7_UNORM = 98 , REX::W32::DXGI_FORMAT_BC7_UNORM_SRGB = 99 ,
  REX::W32::DXGI_FORMAT_AYUV = 100 , REX::W32::DXGI_FORMAT_Y410 = 101 , REX::W32::DXGI_FORMAT_Y416 = 102 , REX::W32::DXGI_FORMAT_NV12 = 103 ,
  REX::W32::DXGI_FORMAT_P010 = 104 , REX::W32::DXGI_FORMAT_P016 = 105 , REX::W32::DXGI_FORMAT_420_OPAQUE = 106 , REX::W32::DXGI_FORMAT_YUY2 = 107 ,
  REX::W32::DXGI_FORMAT_Y210 = 108 , REX::W32::DXGI_FORMAT_Y216 = 109 , REX::W32::DXGI_FORMAT_NV11 = 110 , REX::W32::DXGI_FORMAT_AI44 = 111 ,
  REX::W32::DXGI_FORMAT_IA44 = 112 , REX::W32::DXGI_FORMAT_P8 = 113 , REX::W32::DXGI_FORMAT_A8P8 = 114 , REX::W32::DXGI_FORMAT_B4G4R4A4_UNORM = 115 ,
  REX::W32::DXGI_FORMAT_P208 = 130 , REX::W32::DXGI_FORMAT_V208 = 131 , REX::W32::DXGI_FORMAT_V408 = 132 , REX::W32::DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189 ,
  REX::W32::DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190 , REX::W32::DXGI_FORMAT_FORCE_UINT = 0xFFFFFFFF
}
 
enum  REX::W32::DXGI_MODE_ROTATION {
  REX::W32::DXGI_MODE_ROTATION_UNSPECIFIED = 0 , REX::W32::DXGI_MODE_ROTATION_IDENTITY = 1 , REX::W32::DXGI_MODE_ROTATION_ROTATE90 = 2 , REX::W32::DXGI_MODE_ROTATION_ROTATE180 = 3 ,
  REX::W32::DXGI_MODE_ROTATION_ROTATE270 = 4
}
 
enum  REX::W32::DXGI_MODE_SCALING { REX::W32::DXGI_MODE_SCALING_UNSPECIFIED = 0 , REX::W32::DXGI_MODE_SCALING_CENTERED = 1 , REX::W32::DXGI_MODE_SCALING_STRETCHED = 2 }
 
enum  REX::W32::DXGI_MODE_SCANLINE_ORDER { REX::W32::DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0 , REX::W32::DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1 , REX::W32::DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2 , REX::W32::DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3 }
 
enum  REX::W32::DXGI_RESIDENCY { REX::W32::DXGI_RESIDENCY_FULLY_RESIDENT = 1 , REX::W32::DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2 , REX::W32::DXGI_RESIDENCY_EVICTED_TO_DISK = 3 }
 
enum  REX::W32::DXGI_SWAP_EFFECT { REX::W32::DXGI_SWAP_EFFECT_DISCARD = 0 , REX::W32::DXGI_SWAP_EFFECT_SEQUENTIAL = 1 , REX::W32::DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL = 3 , REX::W32::DXGI_SWAP_EFFECT_FLIP_DISCARD = 4 }
 
enum  REX::W32::DXGI_SWAP_CHAIN_FLAG {
  REX::W32::DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1 , REX::W32::DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2 , REX::W32::DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4 , REX::W32::DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8 ,
  REX::W32::DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16 , REX::W32::DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32 , REX::W32::DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64 , REX::W32::DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128 ,
  REX::W32::DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256 , REX::W32::DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512 , REX::W32::DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024 , REX::W32::DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048 ,
  REX::W32::DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
}
 

Functions

HRESULT REX::W32::CreateDXGIFactory (const IID &a_iid, void **a_factory) noexcept
 
HRESULT REX::W32::CreateDXGIFactory1 (const IID &a_iid, void **a_factory) noexcept
 

Variables

constexpr IID REX::W32::IID_IDXGIAdapter { 0x2411E7E1, 0x12AC, 0x4CCF, { 0xBD, 0x14, 0x97, 0x98, 0xE8, 0x53, 0x4D, 0xC0 } }
 
constexpr IID REX::W32::IID_IDXGIAdapter1 { 0x29038F61, 0x3839, 0x4626, { 0x91, 0xFD, 0x08, 0x68, 0x79, 0x01, 0x1A, 0x05 } }
 
constexpr IID REX::W32::IID_IDXGIObject { 0xAEC22Fb8, 0x76F3, 0x4639, { 0x9B, 0xE0, 0x28, 0xEB, 0x43, 0xA6, 0x7A, 0x2E } }
 
constexpr IID REX::W32::IID_IDXGIDevice { 0x54EC77FA, 0x1377, 0x44E6, { 0x8C, 0x32, 0x88, 0xFD, 0x5F, 0x44, 0xC8, 0x4C } }
 
constexpr IID REX::W32::IID_IDXGIDevice1 { 0x77DB970F, 0x6276, 0x48BA, { 0xBA, 0x28, 0x07, 0x01, 0x43, 0xB4, 0x39, 0x2C } }
 
constexpr IID REX::W32::IID_IDXGIDeviceSubObject { 0x3D3E0379, 0xF9DE, 0x4D58, { 0xBB, 0x6C, 0x18, 0xD6, 0x29, 0x92, 0xF1, 0xA6 } }
 
constexpr IID REX::W32::IID_IDXGIFactory { 0x7B7166EC, 0x21C7, 0x44AE, { 0xB2, 0x1A, 0xC9, 0xAE, 0x32, 0x1A, 0xE3, 0x69 } }
 
constexpr IID REX::W32::IID_IDXGIFactory1 { 0x770AAE78, 0xF26F, 0x4DBA, { 0xA8, 0x29, 0x25, 0x3C, 0x83, 0xD1, 0xB3, 0x87 } }
 
constexpr IID REX::W32::IID_IDXGIKeyedMutex { 0x9D8E1289, 0xD7B3, 0x465F, { 0x81, 0x26, 0x25, 0x0E, 0x34, 0x9A, 0xF8, 0x5D } }
 
constexpr IID REX::W32::IID_IDXGIOutput { 0xAE02EEDB, 0xC735, 0x4690, { 0x8D, 0x52, 0x5A, 0x8D, 0xC2, 0x02, 0x13, 0xAA } }
 
constexpr IID REX::W32::IID_IDXGIResource { 0x035F3AB4, 0x482E, 0x4E50, { 0xB4, 0x1F, 0x8A, 0x7F, 0x8B, 0xD8, 0x96, 0x0B } }
 
constexpr IID REX::W32::IID_IDXGISurface { 0xCAFCB56C, 0x6AC3, 0x4889, { 0xBF, 0x47, 0x9E, 0x23, 0xBB, 0xD2, 0x60, 0xEC } }
 
constexpr IID REX::W32::IID_IDXGISurface1 { 0x4AE63092, 0x6327, 0x4C1B, { 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86 } }
 
constexpr IID REX::W32::IID_IDXGISwapChain { 0x310D36A0, 0xD2E7, 0x4C0A, { 0xAA, 0x04, 0x6A, 0x9D, 0x23, 0xB8, 0x88, 0x6A } }