2 * Copyright 2014 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 import
"d3dcommon.idl";
25 typedef enum D3D11_LOGIC_OP
{
26 D3D11_LOGIC_OP_CLEAR
= 0,
29 D3D11_LOGIC_OP_COPY_INVERTED
,
31 D3D11_LOGIC_OP_INVERT
,
38 D3D11_LOGIC_OP_AND_REVERSE
,
39 D3D11_LOGIC_OP_AND_INVERTED
,
40 D3D11_LOGIC_OP_OR_REVERSE
,
41 D3D11_LOGIC_OP_OR_INVERTED
44 typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1
{
48 D3D11_BLEND DestBlend
;
49 D3D11_BLEND_OP BlendOp
;
50 D3D11_BLEND SrcBlendAlpha
;
51 D3D11_BLEND DestBlendAlpha
;
52 D3D11_BLEND_OP BlendOpAlpha
;
53 D3D11_LOGIC_OP LogicOp
;
54 UINT8 RenderTargetWriteMask
;
55 } D3D11_RENDER_TARGET_BLEND_DESC1
;
57 typedef struct _D3D11_BLEND_DESC1
{
58 BOOL AlphaToCoverageEnable
;
59 BOOL IndependentBlendEnable
;
60 D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget
[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT
];
63 typedef struct _D3D11_RASTERIZER_DESC1
{
64 D3D11_FILL_MODE FillMode
;
65 D3D11_CULL_MODE CullMode
;
66 BOOL FrontCounterClockwise
;
69 FLOAT SlopeScaledDepthBias
;
72 BOOL MultisampleEnable
;
73 BOOL AntialiasedLineEnable
;
74 UINT ForcedSampleCount
;
75 } D3D11_RASTERIZER_DESC1
;
78 uuid(cc86fabe
-da55
-401d
-85e7
-e3c9de2877e9
),
81 pointer_default(unique)
83 interface ID3D11BlendState1
: ID3D11BlendState
85 void GetDesc1
(D3D11_BLEND_DESC1
*pDesc
);
89 uuid(5c1e0d8a
-7c23
-48f9
-8c59
-a92958ceff11
),
92 pointer_default(unique)
94 interface ID3DDeviceContextState
: ID3D11DeviceChild
99 uuid(bb2c6faa
-b5fb
-4082-8e6b
-388b8cfa90e1
),
102 pointer_default(unique)
104 interface ID3D11DeviceContext1
: ID3D11DeviceContext
106 void CopySubresourceRegion1
(
107 ID3D11Resource
*pDstResource
,
112 ID3D11Resource
*pSrcResource
,
114 const D3D11_BOX
*pSrcBox
,
117 void UpdateSubresource1
(
118 ID3D11Resource
*pDstResource
,
120 const D3D11_BOX
*pDstBox
,
121 const void *pSrcData
,
126 void DiscardResource
(ID3D11Resource
*pResource
);
128 void DiscardView
(ID3D11View
*pResourceView
);
130 void VSSetConstantBuffers1
(
133 ID3D11Buffer
*const *ppConstantBuffers
,
134 const UINT
*pFirstConstant
,
135 const UINT
*pNumConstants
);
137 void HSSetConstantBuffers1
(
140 ID3D11Buffer
*const *ppConstantBuffers
,
141 const UINT
*pFirstConstant
,
142 const UINT
*pNumConstants
);
144 void DSSetConstantBuffers1
(
147 ID3D11Buffer
*const *ppConstantBuffers
,
148 const UINT
*pFirstConstant
,
149 const UINT
*pNumConstants
);
151 void GSSetConstantBuffers1
(
154 ID3D11Buffer
*const *ppConstantBuffers
,
155 const UINT
*pFirstConstant
,
156 const UINT
*pNumConstants
);
158 void PSSetConstantBuffers1
(
161 ID3D11Buffer
*const *ppConstantBuffers
,
162 const UINT
*pFirstConstant
,
163 const UINT
*pNumConstants
);
165 void CSSetConstantBuffers1
(
168 ID3D11Buffer
*const *ppConstantBuffers
,
169 const UINT
*pFirstConstant
,
170 const UINT
*pNumConstants
);
172 void VSGetConstantBuffers1
(
175 ID3D11Buffer
**ppConstantBuffers
,
176 UINT
*pFirstConstant
,
177 UINT
*pNumConstants
);
179 void HSGetConstantBuffers1
(
182 ID3D11Buffer
**ppConstantBuffers
,
183 UINT
*pFirstConstant
,
184 UINT
*pNumConstants
);
186 void DSGetConstantBuffers1
(
189 ID3D11Buffer
**ppConstantBuffers
,
190 UINT
*pFirstConstant
,
191 UINT
*pNumConstants
);
193 void GSGetConstantBuffers1
(
196 ID3D11Buffer
**ppConstantBuffers
,
197 UINT
*pFirstConstant
,
198 UINT
*pNumConstants
);
200 void PSGetConstantBuffers1
(
203 ID3D11Buffer
**ppConstantBuffers
,
204 UINT
*pFirstConstant
,
205 UINT
*pNumConstants
);
207 void CSGetConstantBuffers1
(
210 ID3D11Buffer
**ppConstantBuffers
,
211 UINT
*pFirstConstant
,
212 UINT
*pNumConstants
);
214 void SwapDeviceContextState
(
215 ID3DDeviceContextState
*pState
,
216 ID3DDeviceContextState
**ppPreviousState
);
220 const FLOAT Color
[4],
221 const D3D11_RECT
*pRect
,
225 ID3D11View
*pResourceView
,
226 const D3D11_RECT
*pRects
,
231 uuid(b2daad8b
-03d4
-4dbf
-95eb
-32ab4b63d0ab
),
234 pointer_default(unique)
236 interface ID3DUserDefinedAnnotation
: IUnknown
238 INT BeginEvent
(LPCWSTR Name
);
240 void SetMarker
(LPCWSTR Name
);
245 uuid(1217d7a6
-5039-418c
-b042
-9cbe256afd6e
),
248 pointer_default(unique)
250 interface ID3D11RasterizerState1
: ID3D11RasterizerState
252 void GetDesc1
(D3D11_RASTERIZER_DESC1
*pDesc
);
256 uuid(a04bfb29
-08ef
-43d6
-a49c
-a9bdbdcbe686
),
259 pointer_default(unique)
261 interface ID3D11Device1
: ID3D11Device
263 void GetImmediateContext1
(
264 ID3D11DeviceContext1
**ppImmediateContext
);
266 HRESULT CreateDeferredContext1
(
268 ID3D11DeviceContext1
**ppDeferredContext
);
270 HRESULT CreateBlendState1
(
271 const D3D11_BLEND_DESC1
*pBlendStateDesc
,
272 ID3D11BlendState1
**ppBlendState
);
274 HRESULT CreateRasterizerState1
(
275 const D3D11_RASTERIZER_DESC1
*pRasterizerDesc
,
276 ID3D11RasterizerState1
**ppRasterizerState
);
278 HRESULT CreateDeviceContextState
(
280 const D3D_FEATURE_LEVEL
*pFeatureLevels
,
283 REFIID EmulatedInterface
,
284 D3D_FEATURE_LEVEL
*pChosenFeatureLevel
,
285 ID3DDeviceContextState
**ppContextState
);
287 HRESULT OpenSharedResource1
(
289 REFIID returnedInterface
,
292 HRESULT OpenSharedResourceByName
(
294 DWORD dwDesiredAccess
,
295 REFIID returnedInterface
,