wined3d: WINED3DFMT_B5G5R5X1_UNORM doesn't have an alpha channel.
[wine/multimedia.git] / include / d3d11_1.idl
blob1a46abf111c2656a1baae85d7499b6015338bac0
1 /*
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
19 import "oaidl.idl";
20 import "ocidl.idl";
21 import "dxgi1_2.idl";
22 import "d3dcommon.idl";
23 import "d3d11.idl";
25 typedef enum D3D11_LOGIC_OP {
26 D3D11_LOGIC_OP_CLEAR = 0,
27 D3D11_LOGIC_OP_SET,
28 D3D11_LOGIC_OP_COPY,
29 D3D11_LOGIC_OP_COPY_INVERTED,
30 D3D11_LOGIC_OP_NOOP,
31 D3D11_LOGIC_OP_INVERT,
32 D3D11_LOGIC_OP_AND,
33 D3D11_LOGIC_OP_NAND,
34 D3D11_LOGIC_OP_OR,
35 D3D11_LOGIC_OP_NOR,
36 D3D11_LOGIC_OP_XOR,
37 D3D11_LOGIC_OP_EQUIV,
38 D3D11_LOGIC_OP_AND_REVERSE,
39 D3D11_LOGIC_OP_AND_INVERTED,
40 D3D11_LOGIC_OP_OR_REVERSE,
41 D3D11_LOGIC_OP_OR_INVERTED
42 } D3D11_LOGIC_OP;
44 typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1 {
45 BOOL BlendEnable;
46 BOOL LogicOpEnable;
47 D3D11_BLEND SrcBlend;
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];
61 } D3D11_BLEND_DESC1;
63 typedef struct _D3D11_RASTERIZER_DESC1 {
64 D3D11_FILL_MODE FillMode;
65 D3D11_CULL_MODE CullMode;
66 BOOL FrontCounterClockwise;
67 INT DepthBias;
68 FLOAT DepthBiasClamp;
69 FLOAT SlopeScaledDepthBias;
70 BOOL DepthClipEnable;
71 BOOL ScissorEnable;
72 BOOL MultisampleEnable;
73 BOOL AntialiasedLineEnable;
74 UINT ForcedSampleCount;
75 } D3D11_RASTERIZER_DESC1;
78 uuid(cc86fabe-da55-401d-85e7-e3c9de2877e9),
79 object,
80 local,
81 pointer_default(unique)
83 interface ID3D11BlendState1 : ID3D11BlendState
85 void GetDesc1(D3D11_BLEND_DESC1 *pDesc);
89 uuid(5c1e0d8a-7c23-48f9-8c59-a92958ceff11),
90 object,
91 local,
92 pointer_default(unique)
94 interface ID3DDeviceContextState : ID3D11DeviceChild
99 uuid(bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1),
100 object,
101 local,
102 pointer_default(unique)
104 interface ID3D11DeviceContext1 : ID3D11DeviceContext
106 void CopySubresourceRegion1(
107 ID3D11Resource *pDstResource,
108 UINT DstSubresource,
109 UINT DstX,
110 UINT DstY,
111 UINT DstZ,
112 ID3D11Resource *pSrcResource,
113 UINT SrcSubresource,
114 const D3D11_BOX *pSrcBox,
115 UINT CopyFlags);
117 void UpdateSubresource1(
118 ID3D11Resource *pDstResource,
119 UINT DstSubresource,
120 const D3D11_BOX *pDstBox,
121 const void *pSrcData,
122 UINT SrcRowPitch,
123 UINT SrcDepthPitch,
124 UINT CopyFlags);
126 void DiscardResource(ID3D11Resource *pResource);
128 void DiscardView(ID3D11View *pResourceView);
130 void VSSetConstantBuffers1(
131 UINT StartSlot,
132 UINT NumBuffers,
133 ID3D11Buffer *const *ppConstantBuffers,
134 const UINT *pFirstConstant,
135 const UINT *pNumConstants);
137 void HSSetConstantBuffers1(
138 UINT StartSlot,
139 UINT NumBuffers,
140 ID3D11Buffer *const *ppConstantBuffers,
141 const UINT *pFirstConstant,
142 const UINT *pNumConstants);
144 void DSSetConstantBuffers1(
145 UINT StartSlot,
146 UINT NumBuffers,
147 ID3D11Buffer *const *ppConstantBuffers,
148 const UINT *pFirstConstant,
149 const UINT *pNumConstants);
151 void GSSetConstantBuffers1(
152 UINT StartSlot,
153 UINT NumBuffers,
154 ID3D11Buffer *const *ppConstantBuffers,
155 const UINT *pFirstConstant,
156 const UINT *pNumConstants);
158 void PSSetConstantBuffers1(
159 UINT StartSlot,
160 UINT NumBuffers,
161 ID3D11Buffer *const *ppConstantBuffers,
162 const UINT *pFirstConstant,
163 const UINT *pNumConstants);
165 void CSSetConstantBuffers1(
166 UINT StartSlot,
167 UINT NumBuffers,
168 ID3D11Buffer *const *ppConstantBuffers,
169 const UINT *pFirstConstant,
170 const UINT *pNumConstants);
172 void VSGetConstantBuffers1(
173 UINT StartSlot,
174 UINT NumBuffers,
175 ID3D11Buffer **ppConstantBuffers,
176 UINT *pFirstConstant,
177 UINT *pNumConstants);
179 void HSGetConstantBuffers1(
180 UINT StartSlot,
181 UINT NumBuffers,
182 ID3D11Buffer **ppConstantBuffers,
183 UINT *pFirstConstant,
184 UINT *pNumConstants);
186 void DSGetConstantBuffers1(
187 UINT StartSlot,
188 UINT NumBuffers,
189 ID3D11Buffer **ppConstantBuffers,
190 UINT *pFirstConstant,
191 UINT *pNumConstants);
193 void GSGetConstantBuffers1(
194 UINT StartSlot,
195 UINT NumBuffers,
196 ID3D11Buffer **ppConstantBuffers,
197 UINT *pFirstConstant,
198 UINT *pNumConstants);
200 void PSGetConstantBuffers1(
201 UINT StartSlot,
202 UINT NumBuffers,
203 ID3D11Buffer **ppConstantBuffers,
204 UINT *pFirstConstant,
205 UINT *pNumConstants);
207 void CSGetConstantBuffers1(
208 UINT StartSlot,
209 UINT NumBuffers,
210 ID3D11Buffer **ppConstantBuffers,
211 UINT *pFirstConstant,
212 UINT *pNumConstants);
214 void SwapDeviceContextState(
215 ID3DDeviceContextState *pState,
216 ID3DDeviceContextState **ppPreviousState);
218 void ClearView(
219 ID3D11View *pView,
220 const FLOAT Color[4],
221 const D3D11_RECT *pRect,
222 UINT NumRects);
224 void DiscardView1(
225 ID3D11View *pResourceView,
226 const D3D11_RECT *pRects,
227 UINT NumRects);
231 uuid(b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab),
232 object,
233 local,
234 pointer_default(unique)
236 interface ID3DUserDefinedAnnotation : IUnknown
238 INT BeginEvent(LPCWSTR Name);
239 INT EndEvent();
240 void SetMarker(LPCWSTR Name);
241 BOOL GetStatus();
245 uuid(1217d7a6-5039-418c-b042-9cbe256afd6e),
246 object,
247 local,
248 pointer_default(unique)
250 interface ID3D11RasterizerState1 : ID3D11RasterizerState
252 void GetDesc1(D3D11_RASTERIZER_DESC1 *pDesc);
256 uuid(a04bfb29-08ef-43d6-a49c-a9bdbdcbe686),
257 object,
258 local,
259 pointer_default(unique)
261 interface ID3D11Device1 : ID3D11Device
263 void GetImmediateContext1(
264 ID3D11DeviceContext1 **ppImmediateContext);
266 HRESULT CreateDeferredContext1(
267 UINT ContextFlags,
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(
279 UINT Flags,
280 const D3D_FEATURE_LEVEL *pFeatureLevels,
281 UINT FeatureLevels,
282 UINT SDKVersion,
283 REFIID EmulatedInterface,
284 D3D_FEATURE_LEVEL *pChosenFeatureLevel,
285 ID3DDeviceContextState **ppContextState);
287 HRESULT OpenSharedResource1(
288 HANDLE hResource,
289 REFIID returnedInterface,
290 void **ppResource);
292 HRESULT OpenSharedResourceByName(
293 LPCWSTR lpName,
294 DWORD dwDesiredAccess,
295 REFIID returnedInterface,
296 void **ppResource);