CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
DXGI_6.h
Go to the documentation of this file.
1#pragma once
2
3#include "REX/W32/DXGI_5.h"
4
5namespace REX::W32
6{
7 struct IDXGIAdapter4;
8 struct IDXGIFactory6;
9 struct IDXGIFactory7;
10 struct IDXGIOutput6;
11}
12
13namespace REX::W32
14{
26
33
40}
41
42namespace REX::W32
43{
59
77}
78
79namespace REX::W32
80{
81 struct __declspec(novtable, uuid("3C8D99D1-4FBF-4181-A82C-AF66BF7BD24E"))
82 IDXGIAdapter4 : public IDXGIAdapter3
83 {
84 virtual HRESULT GetDesc3(DXGI_ADAPTER_DESC3* a_desc) = 0;
85 };
86
87 struct __declspec(novtable, uuid("C1B6694F-FF09-44A9-B03C-77900A0A1D17"))
88 IDXGIFactory6 : public IDXGIFactory5
89 {
90 virtual HRESULT EnumAdapterByGpuPreference(std::uint32_t a_adapterFlags, DXGI_GPU_PREFERENCE a_gpuPreference, const IID& a_iid, void** a_adapter) = 0;
91 };
92
93 struct __declspec(novtable, uuid("A4966EED-76DB-44DA-84C1-EE9A7AFB20A8"))
94 IDXGIFactory7 : public IDXGIFactory6
95 {
96 virtual HRESULT RegisterAdaptersChangedEvent(HANDLE a_event, std::uint32_t* a_cookie) = 0;
97 virtual HRESULT UnregisterAdaptersChangedEvent(std::uint32_t a_cookie) = 0;
98 };
99
100 struct __declspec(novtable, uuid("068346E8-AAEC-4B84-ADD7-137F513F77A1"))
101 IDXGIOutput6 : public IDXGIOutput5
102 {
103 virtual HRESULT GetDesc1(DXGI_OUTPUT_DESC1* a_desc) = 0;
104 virtual HRESULT CheckHardwareCompositionSupport(std::uint32_t* a_flags) = 0;
105 };
106}
107
108namespace REX::W32
109{
110 inline constexpr IID IID_IDXGIAdapter4{ 0x3C8D99D1, 0x4FBF, 0x4181, { 0xA8, 0x2C, 0xAF, 0x66, 0xBF, 0x7B, 0xD2, 0x4E } };
111 inline constexpr IID IID_IDXGIFactory6{ 0xC1B6694F, 0xFF09, 0x44A9, { 0xB0, 0x3C, 0x77, 0x90, 0x0A, 0x0A, 0x1D, 0x17 } };
112 inline constexpr IID IID_IDXGIFactory7{ 0xA4966EED, 0x76DB, 0x44DA, { 0x84, 0xC1, 0xEE, 0x9A, 0x7A, 0xFB, 0x20, 0xA8 } };
113 inline constexpr IID IID_IDXGIOutput6{ 0x068346E8, 0xAAEC, 0x4B84, { 0xAD, 0xD7, 0x13, 0x7F, 0x51, 0x3F, 0x77, 0xA1 } };
114}
Definition BSDirectInputManager.h:8
DXGI_GPU_PREFERENCE
Definition DXGI_6.h:28
@ DXGI_GPU_PREFERENCE_MINIMUM_POWER
Definition DXGI_6.h:30
@ DXGI_GPU_PREFERENCE_UNSPECIFIED
Definition DXGI_6.h:29
@ DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE
Definition DXGI_6.h:31
DXGI_COMPUTE_PREEMPTION_GRANULARITY
Definition DXGI_2.h:30
void * HANDLE
Definition BASE.h:14
DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS
Definition DXGI_6.h:35
@ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN
Definition DXGI_6.h:36
@ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED
Definition DXGI_6.h:37
@ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED
Definition DXGI_6.h:38
struct __declspec(novtable, uuid("00000000-0000-0000-c000-000000000046")) IUnknown
Definition COM.h:7
constexpr IID IID_IDXGIFactory6
Definition DXGI_6.h:111
DXGI_ADAPTER_FLAG3
Definition DXGI_6.h:16
@ DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE
Definition DXGI_6.h:23
@ DXGI_ADAPTER_FLAG3_REMOTE
Definition DXGI_6.h:18
@ DXGI_ADAPTER_FLAG3_FORCE_DWORD
Definition DXGI_6.h:24
@ DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES
Definition DXGI_6.h:22
@ DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES
Definition DXGI_6.h:21
@ DXGI_ADAPTER_FLAG3_NONE
Definition DXGI_6.h:17
@ DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE
Definition DXGI_6.h:20
@ DXGI_ADAPTER_FLAG3_SOFTWARE
Definition DXGI_6.h:19
constexpr IID IID_IDXGIAdapter4
Definition DXGI_6.h:110
std::int32_t BOOL
Definition BASE.h:13
constexpr IID IID_IDXGIFactory7
Definition DXGI_6.h:112
DXGI_GRAPHICS_PREEMPTION_GRANULARITY
Definition DXGI_2.h:39
constexpr IID IID_IDXGIOutput6
Definition DXGI_6.h:113
DXGI_MODE_ROTATION
Definition DXGI.h:192
std::int32_t HRESULT
Definition BASE.h:28
HMONITOR__ * HMONITOR
Definition BASE.h:25
GUID IID
Definition BASE.h:88
DXGI_COLOR_SPACE_TYPE
Definition DXGI.h:33
Definition DXGI_6.h:45
DXGI_GRAPHICS_PREEMPTION_GRANULARITY graphicsPreemptionGranularity
Definition DXGI_6.h:56
DXGI_ADAPTER_FLAG3 flags
Definition DXGI_6.h:55
std::uint32_t vendorID
Definition DXGI_6.h:47
std::size_t dedicatedVideoMemory
Definition DXGI_6.h:51
DXGI_COMPUTE_PREEMPTION_GRANULARITY computePreemptionGranularity
Definition DXGI_6.h:57
std::uint32_t subSysID
Definition DXGI_6.h:49
std::uint32_t revision
Definition DXGI_6.h:50
std::size_t dedicatedSystemMemory
Definition DXGI_6.h:52
std::size_t sharedSystemMemory
Definition DXGI_6.h:53
std::uint32_t deviceID
Definition DXGI_6.h:48
wchar_t description[128]
Definition DXGI_6.h:46
LUID adapterLUID
Definition DXGI_6.h:54
Definition DXGI_6.h:61
std::uint32_t bitsPerColor
Definition DXGI_6.h:67
wchar_t deviceName[32]
Definition DXGI_6.h:62
float maxFullFrameLuminance
Definition DXGI_6.h:75
float minLuminance
Definition DXGI_6.h:73
BOOL attachedToDesktop
Definition DXGI_6.h:64
RECT desktopCoordinates
Definition DXGI_6.h:63
HMONITOR monitor
Definition DXGI_6.h:66
float greenPrimary[2]
Definition DXGI_6.h:70
DXGI_COLOR_SPACE_TYPE colorSpace
Definition DXGI_6.h:68
DXGI_MODE_ROTATION rotation
Definition DXGI_6.h:65
float redPrimary[2]
Definition DXGI_6.h:69
float whitePoint[2]
Definition DXGI_6.h:72
float maxLuminance
Definition DXGI_6.h:74
float bluePrimary[2]
Definition DXGI_6.h:71
Definition BASE.h:63
Definition DXGI.h:262
Definition BASE.h:110