qt: add device preferences for mmdevice
[vlc.git] / contrib / src / d3d11 / dxgi12.patch
blob5dde0072173c3147653784b8cf0e08c3c8cc2e67
1 --- tarballs/dxgi1_2.idl.orig 2016-03-02 16:01:30.243405100 +0100
2 +++ tarballs/dxgi1_2.idl 2016-03-02 16:19:58.006959300 +0100
3 @@ -232,3 +232,106 @@ interface IDXGIAdapter2 : IDXGIAdapter1
5 HRESULT GetDesc2([out] DXGI_ADAPTER_DESC2 *pDesc);
8 +typedef struct DXGI_OUTDUPL_DESC {
9 + DXGI_MODE_DESC ModeDesc;
10 + DXGI_MODE_ROTATION Rotation;
11 + BOOL DesktopImageInSystemMemory;
12 +} DXGI_OUTDUPL_DESC;
14 +typedef struct DXGI_OUTDUPL_POINTER_POSITION {
15 + POINT Position;
16 + BOOL Visible;
17 +} DXGI_OUTDUPL_POINTER_POSITION;
19 +typedef struct DXGI_OUTDUPL_FRAME_INFO {
20 + LARGE_INTEGER LastPresentTime;
21 + LARGE_INTEGER LastMouseUpdateTime;
22 + UINT AccumulatedFrames;
23 + BOOL RectsCoalesced;
24 + BOOL ProtectedContentMaskedOut;
25 + DXGI_OUTDUPL_POINTER_POSITION PointerPosition;
26 + UINT TotalMetadataBufferSize;
27 + UINT PointerShapeBufferSize;
28 +} DXGI_OUTDUPL_FRAME_INFO;
30 +typedef struct DXGI_OUTDUPL_MOVE_RECT {
31 + POINT SourcePoint;
32 + RECT DestinationRect;
33 +} DXGI_OUTDUPL_MOVE_RECT;
35 +typedef struct DXGI_OUTDUPL_POINTER_SHAPE_INFO {
36 + UINT Type;
37 + UINT Width;
38 + UINT Height;
39 + UINT Pitch;
40 + POINT HotSpot;
41 +} DXGI_OUTDUPL_POINTER_SHAPE_INFO;
43 + object,
44 + uuid(191cfac3-a341-470d-b26e-a864f428319c),
45 + local,
46 + pointer_default(unique)
48 +interface IDXGIOutputDuplication :
49 + IDXGIObject
51 + void GetDesc(
52 + [out] DXGI_OUTDUPL_DESC* pDesc);
53 + HRESULT AcquireNextFrame(
54 + [in] UINT TimeoutInMilliseconds,
55 + [out] DXGI_OUTDUPL_FRAME_INFO* pFrameInfo,
56 + [out] IDXGIResource** ppDesktopResource);
57 + HRESULT GetFrameDirtyRects(
58 + [in] UINT DirtyRectsBufferSize,
59 + [out] RECT* pDirtyRectsBuffer,
60 + [out] UINT* pDirtyRectsBufferSizeRequired);
61 + HRESULT GetFrameMoveRects(
62 + [in] UINT MoveRectsBufferSize,
63 + [out] DXGI_OUTDUPL_MOVE_RECT* pMoveRectBuffer,
64 + [out] UINT* pMoveRectsBufferSizeRequired);
65 + HRESULT GetFramePointerShape(
66 + [in] UINT PointerShapeBufferSize,
67 + [out] void* pPointerShapeBuffer,
68 + [out] UINT* pPointerShapeBufferSizeRequired,
69 + [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO* pPointerShapeInfo);
70 + HRESULT MapDesktopSurface(
71 + [out] DXGI_MAPPED_RECT* pLockedRect);
72 + HRESULT UnMapDesktopSurface();
73 + HRESULT ReleaseFrame();
74 +};
76 +typedef struct DXGI_MODE_DESC1
78 + UINT Width;
79 + UINT Height;
80 + DXGI_RATIONAL RefreshRate;
81 + DXGI_FORMAT Format;
82 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
83 + DXGI_MODE_SCALING Scaling;
84 + BOOL Stereo;
85 +} DXGI_MODE_DESC1;
88 + object,
89 + uuid(00cddea8-939b-4b83-a340-a685226666cc),
90 + local,
91 + pointer_default(unique)
93 +interface IDXGIOutput1 : IDXGIOutput
95 + HRESULT GetDisplayModeList1(
96 + [in] DXGI_FORMAT EnumFormat,
97 + [in] UINT Flags,
98 + [in, out] UINT * pNumModes,
99 + [out] DXGI_MODE_DESC1 *pDesc);
100 + HRESULT FindClosestMatchingMode1(
101 + [in] const DXGI_MODE_DESC1 *pModeToMatch,
102 + [out] DXGI_MODE_DESC1 *pClosestMatch,
103 + [in] IUnknown * pConcernedDevice);
104 + HRESULT GetDisplaySurfaceData1(
105 + [in] IDXGIResource *pDestination);
106 + HRESULT DuplicateOutput(
107 + [in] IUnknown *pDevice,
108 + [out] IDXGIOutputDuplication **ppOutputDuplication);