7 struct IDXGIDecodeSwapChain;
10 struct IDXGIFactoryMedia;
13 struct IDXGISwapChain2;
14 struct IDXGISwapChainMedia;
72 struct __declspec(novtable, uuid("2633066B-4514-4C7A-8FD8-12EA98059D18"))
73 IDXGIDecodeSwapChain :
public IUnknown
75 virtual HRESULT PresentBuffer(std::uint32_t a_bufferToPresent, std::uint32_t a_syncInterval, std::uint32_t a_flags) = 0;
76 virtual HRESULT SetSourceRect(
const RECT* a_rect) = 0;
77 virtual HRESULT SetTargetRect(
const RECT* a_rect) = 0;
78 virtual HRESULT SetDestSize(std::uint32_t a_width, std::uint32_t a_height) = 0;
79 virtual HRESULT GetSourceRect(RECT* a_rect) = 0;
80 virtual HRESULT GetTargetRect(RECT* a_rect) = 0;
81 virtual HRESULT GetDestSize(std::uint32_t* a_width, std::uint32_t* a_height) = 0;
86 struct __declspec(novtable, uuid("6007896C-3244-4AFD-BF18-A6D3BEDA5023"))
87 IDXGIDevice3 :
public IDXGIDevice2
89 virtual void Trim(
void) = 0;
92 struct __declspec(novtable, uuid("25483823-CD46-4C7D-86CA-47AA95B837BD"))
93 IDXGIFactory3 :
public IDXGIFactory2
95 virtual std::uint32_t GetCreationFlags(
void) = 0;
98 struct __declspec(novtable, uuid("41E7D1F2-A591-4F7B-A2E5-FA9C843E1C12"))
99 IDXGIFactoryMedia :
public IUnknown
101 virtual HRESULT CreateSwapChainForCompositionSurfaceHandle(IUnknown* a_device,
HANDLE a_surface,
const DXGI_SWAP_CHAIN_DESC1* a_desc, IDXGIOutput* a_restrictToOutput, IDXGISwapChain1** a_swapChain) = 0;
102 virtual HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(IUnknown* a_device,
HANDLE a_surface, DXGI_DECODE_SWAP_CHAIN_DESC* a_desc, IDXGIResource* a_yuvDecodeBuffers, IDXGIOutput* a_restrictToOutput, IDXGIDecodeSwapChain** a_swapChain) = 0;
105 struct __declspec(novtable, uuid("595E39D1-2724-4663-99B1-DA969DE28364"))
106 IDXGIOutput2 :
public IDXGIOutput1
108 virtual BOOL SupportsOverlays(
void) = 0;
111 struct __declspec(novtable, uuid("8A6BB301-7E7E-41F4-A8E0-5B32F7F99B18"))
112 IDXGIOutput3 :
public IDXGIOutput2
114 virtual HRESULT CheckOverlaySupport(
DXGI_FORMAT a_enumFormat, IUnknown* a_concernedDevice, std::uint32_t* a_flags) = 0;
117 struct __declspec(novtable, uuid("A8BE2AC4-199F-4946-B331-79599FB98DE7"))
118 IDXGISwapChain2 :
public IDXGISwapChain1
120 virtual HRESULT SetSourceSize(std::uint32_t a_width, std::uint32_t a_height) = 0;
121 virtual HRESULT GetSourceSize(std::uint32_t* a_width, std::uint32_t* a_height) = 0;
122 virtual HRESULT SetMaximumFrameLatency(std::uint32_t a_maxLatency) = 0;
123 virtual HRESULT GetMaximumFrameLatency(std::uint32_t* a_maxLatency) = 0;
124 virtual HANDLE GetFrameLatencyWaitableObject(
void) = 0;
125 virtual HRESULT SetMatrixTransform(
const DXGI_MATRIX_3X2_F* a_matrix) = 0;
126 virtual HRESULT GetMatrixTransform(DXGI_MATRIX_3X2_F* a_matrix) = 0;
129 struct __declspec(novtable, uuid("DD95B90B-F05F-4F6A-BD65-25BFB264BD84"))
130 IDXGISwapChainMedia :
public IUnknown
132 virtual HRESULT GetFrameStatisticsMedia(DXGI_FRAME_STATISTICS_MEDIA* a_stats) = 0;
133 virtual HRESULT SetPresentDuration(std::uint32_t a_duration) = 0;
134 virtual HRESULT CheckPresentDurationSupport(std::uint32_t a_desiredPresentDuration, std::uint32_t* a_closestSmallerPresentDuration, std::uint32_t* a_closestLargerPresentDuration) = 0;
140 inline constexpr
IID IID_IDXGIDecodeSwapChain{ 0x2633066B, 0x4514, 0x4C7A, { 0x8F, 0xD8, 0x12, 0xEA, 0x98, 0x05, 0x9D, 0x18 } };
141 inline constexpr
IID IID_IDXGIDevice3{ 0x6007896C, 0x3244, 0x4AFD, { 0xBF, 0x18, 0xA6, 0xD3, 0xBE, 0xDA, 0x50, 0x23 } };
142 inline constexpr
IID IID_IDXGIFactory3{ 0x25483823, 0xCD46, 0x4C7D, { 0x86, 0xCA, 0x47, 0xAA, 0x95, 0xB8, 0x37, 0xBD } };
143 inline constexpr
IID IID_IDXGIFactoryMedia{ 0x41E7D1F2, 0xA591, 0x4F7B, { 0xA2, 0xE5, 0xFA, 0x9C, 0x84, 0x3E, 0x1C, 0x12 } };
144 inline constexpr
IID IID_IDXGIOutput2{ 0x595E39D1, 0x2724, 0x4663, { 0x99, 0xB1, 0xDA, 0x96, 0x9D, 0xE2, 0x83, 0x64 } };
145 inline constexpr
IID IID_IDXGIOutput3{ 0x8A6BB301, 0x7E7E, 0x41F4, { 0xA8, 0xE0, 0x5B, 0x32, 0xF7, 0xF9, 0x9B, 0x18 } };
146 inline constexpr
IID IID_IDXGISwapChain2{ 0xA8BE2AC4, 0x199F, 0x4946, { 0xB3, 0x31, 0x79, 0x59, 0x9F, 0xB9, 0x8D, 0xE7 } };
147 inline constexpr
IID IID_IDXGISwapChainMedia{ 0xDD95B90B, 0xF05F, 0x4F6A, { 0xBD, 0x65, 0x25, 0xBF, 0xB2, 0x64, 0xBD, 0x84 } };
Definition: BSDirectInputManager.h:8
void * HANDLE
Definition: BASE.h:14
struct __declspec(novtable, uuid("00000000-0000-0000-c000-000000000046")) IUnknown
Definition: COM.h:7
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS
Definition: DXGI_3.h:28
@ DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC
Definition: DXGI_3.h:31
@ DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE
Definition: DXGI_3.h:29
@ DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709
Definition: DXGI_3.h:30
std::int32_t BOOL
Definition: BASE.h:13
DXGI_FRAME_PRESENTATION_MODE
Definition: DXGI_3.h:20
@ DXGI_FRAME_PRESENTATION_MODE_OVERLAY
Definition: DXGI_3.h:22
@ DXGI_FRAME_PRESENTATION_MODE_COMPOSED
Definition: DXGI_3.h:21
@ DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE
Definition: DXGI_3.h:24
@ DXGI_FRAME_PRESENTATION_MODE_NONE
Definition: DXGI_3.h:23
constexpr IID IID_IDXGISwapChain2
Definition: DXGI_3.h:146
constexpr IID IID_IDXGIFactory3
Definition: DXGI_3.h:142
constexpr IID IID_IDXGISwapChainMedia
Definition: DXGI_3.h:147
constexpr IID IID_IDXGIOutput2
Definition: DXGI_3.h:144
DXGI_FORMAT
Definition: DXGI.h:63
constexpr IID IID_IDXGIDecodeSwapChain
Definition: DXGI_3.h:140
std::int32_t HRESULT
Definition: BASE.h:28
DXGI_OVERLAY_SUPPORT_FLAG
Definition: DXGI_3.h:35
@ DXGI_OVERLAY_SUPPORT_FLAG_SCALING
Definition: DXGI_3.h:37
@ DXGI_OVERLAY_SUPPORT_FLAG_DIRECT
Definition: DXGI_3.h:36
constexpr IID IID_IDXGIDevice3
Definition: DXGI_3.h:141
constexpr IID IID_IDXGIOutput3
Definition: DXGI_3.h:145
constexpr IID IID_IDXGIFactoryMedia
Definition: DXGI_3.h:143
std::uint32_t flags
Definition: DXGI_3.h:45
float _12
Definition: DXGI_3.h:62
float _21
Definition: DXGI_3.h:63
float _32
Definition: DXGI_3.h:66
float _22
Definition: DXGI_3.h:64
float _11
Definition: DXGI_3.h:61
float _31
Definition: DXGI_3.h:65