d3d11_1.idl 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. /*
  2. * Copyright 2014 Jacek Caban for CodeWeavers
  3. *
  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.
  8. *
  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.
  13. *
  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
  17. */
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. import "dxgi1_2.idl";
  21. import "d3dcommon.idl";
  22. import "d3d11.idl";
  23. typedef enum D3D11_LOGIC_OP {
  24. D3D11_LOGIC_OP_CLEAR = 0,
  25. D3D11_LOGIC_OP_SET,
  26. D3D11_LOGIC_OP_COPY,
  27. D3D11_LOGIC_OP_COPY_INVERTED,
  28. D3D11_LOGIC_OP_NOOP,
  29. D3D11_LOGIC_OP_INVERT,
  30. D3D11_LOGIC_OP_AND,
  31. D3D11_LOGIC_OP_NAND,
  32. D3D11_LOGIC_OP_OR,
  33. D3D11_LOGIC_OP_NOR,
  34. D3D11_LOGIC_OP_XOR,
  35. D3D11_LOGIC_OP_EQUIV,
  36. D3D11_LOGIC_OP_AND_REVERSE,
  37. D3D11_LOGIC_OP_AND_INVERTED,
  38. D3D11_LOGIC_OP_OR_REVERSE,
  39. D3D11_LOGIC_OP_OR_INVERTED
  40. } D3D11_LOGIC_OP;
  41. typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1 {
  42. BOOL BlendEnable;
  43. BOOL LogicOpEnable;
  44. D3D11_BLEND SrcBlend;
  45. D3D11_BLEND DestBlend;
  46. D3D11_BLEND_OP BlendOp;
  47. D3D11_BLEND SrcBlendAlpha;
  48. D3D11_BLEND DestBlendAlpha;
  49. D3D11_BLEND_OP BlendOpAlpha;
  50. D3D11_LOGIC_OP LogicOp;
  51. UINT8 RenderTargetWriteMask;
  52. } D3D11_RENDER_TARGET_BLEND_DESC1;
  53. typedef struct _D3D11_BLEND_DESC1 {
  54. BOOL AlphaToCoverageEnable;
  55. BOOL IndependentBlendEnable;
  56. D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
  57. } D3D11_BLEND_DESC1;
  58. typedef struct _D3D11_RASTERIZER_DESC1 {
  59. D3D11_FILL_MODE FillMode;
  60. D3D11_CULL_MODE CullMode;
  61. BOOL FrontCounterClockwise;
  62. INT DepthBias;
  63. FLOAT DepthBiasClamp;
  64. FLOAT SlopeScaledDepthBias;
  65. BOOL DepthClipEnable;
  66. BOOL ScissorEnable;
  67. BOOL MultisampleEnable;
  68. BOOL AntialiasedLineEnable;
  69. UINT ForcedSampleCount;
  70. } D3D11_RASTERIZER_DESC1;
  71. [
  72. uuid(cc86fabe-da55-401d-85e7-e3c9de2877e9),
  73. object,
  74. local,
  75. pointer_default(unique)
  76. ]
  77. interface ID3D11BlendState1 : ID3D11BlendState
  78. {
  79. void GetDesc1(D3D11_BLEND_DESC1 *pDesc);
  80. }
  81. [
  82. uuid(5c1e0d8a-7c23-48f9-8c59-a92958ceff11),
  83. object,
  84. local,
  85. pointer_default(unique)
  86. ]
  87. interface ID3DDeviceContextState : ID3D11DeviceChild
  88. {
  89. }
  90. [
  91. uuid(bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1),
  92. object,
  93. local,
  94. pointer_default(unique)
  95. ]
  96. interface ID3D11DeviceContext1 : ID3D11DeviceContext
  97. {
  98. void CopySubresourceRegion1(
  99. ID3D11Resource *pDstResource,
  100. UINT DstSubresource,
  101. UINT DstX,
  102. UINT DstY,
  103. UINT DstZ,
  104. ID3D11Resource *pSrcResource,
  105. UINT SrcSubresource,
  106. const D3D11_BOX *pSrcBox,
  107. UINT CopyFlags);
  108. void UpdateSubresource1(
  109. ID3D11Resource *pDstResource,
  110. UINT DstSubresource,
  111. const D3D11_BOX *pDstBox,
  112. const void *pSrcData,
  113. UINT SrcRowPitch,
  114. UINT SrcDepthPitch,
  115. UINT CopyFlags);
  116. void DiscardResource(ID3D11Resource *pResource);
  117. void DiscardView(ID3D11View *pResourceView);
  118. void VSSetConstantBuffers1(
  119. UINT StartSlot,
  120. UINT NumBuffers,
  121. ID3D11Buffer *const *ppConstantBuffers,
  122. const UINT *pFirstConstant,
  123. const UINT *pNumConstants);
  124. void HSSetConstantBuffers1(
  125. UINT StartSlot,
  126. UINT NumBuffers,
  127. ID3D11Buffer *const *ppConstantBuffers,
  128. const UINT *pFirstConstant,
  129. const UINT *pNumConstants);
  130. void DSSetConstantBuffers1(
  131. UINT StartSlot,
  132. UINT NumBuffers,
  133. ID3D11Buffer *const *ppConstantBuffers,
  134. const UINT *pFirstConstant,
  135. const UINT *pNumConstants);
  136. void GSSetConstantBuffers1(
  137. UINT StartSlot,
  138. UINT NumBuffers,
  139. ID3D11Buffer *const *ppConstantBuffers,
  140. const UINT *pFirstConstant,
  141. const UINT *pNumConstants);
  142. void PSSetConstantBuffers1(
  143. UINT StartSlot,
  144. UINT NumBuffers,
  145. ID3D11Buffer *const *ppConstantBuffers,
  146. const UINT *pFirstConstant,
  147. const UINT *pNumConstants);
  148. void CSSetConstantBuffers1(
  149. UINT StartSlot,
  150. UINT NumBuffers,
  151. ID3D11Buffer *const *ppConstantBuffers,
  152. const UINT *pFirstConstant,
  153. const UINT *pNumConstants);
  154. void VSGetConstantBuffers1(
  155. UINT StartSlot,
  156. UINT NumBuffers,
  157. ID3D11Buffer **ppConstantBuffers,
  158. UINT *pFirstConstant,
  159. UINT *pNumConstants);
  160. void HSGetConstantBuffers1(
  161. UINT StartSlot,
  162. UINT NumBuffers,
  163. ID3D11Buffer **ppConstantBuffers,
  164. UINT *pFirstConstant,
  165. UINT *pNumConstants);
  166. void DSGetConstantBuffers1(
  167. UINT StartSlot,
  168. UINT NumBuffers,
  169. ID3D11Buffer **ppConstantBuffers,
  170. UINT *pFirstConstant,
  171. UINT *pNumConstants);
  172. void GSGetConstantBuffers1(
  173. UINT StartSlot,
  174. UINT NumBuffers,
  175. ID3D11Buffer **ppConstantBuffers,
  176. UINT *pFirstConstant,
  177. UINT *pNumConstants);
  178. void PSGetConstantBuffers1(
  179. UINT StartSlot,
  180. UINT NumBuffers,
  181. ID3D11Buffer **ppConstantBuffers,
  182. UINT *pFirstConstant,
  183. UINT *pNumConstants);
  184. void CSGetConstantBuffers1(
  185. UINT StartSlot,
  186. UINT NumBuffers,
  187. ID3D11Buffer **ppConstantBuffers,
  188. UINT *pFirstConstant,
  189. UINT *pNumConstants);
  190. void SwapDeviceContextState(
  191. ID3DDeviceContextState *pState,
  192. ID3DDeviceContextState **ppPreviousState);
  193. void ClearView(
  194. ID3D11View *pView,
  195. const FLOAT Color[4],
  196. const D3D11_RECT *pRect,
  197. UINT NumRects);
  198. void DiscardView1(
  199. ID3D11View *pResourceView,
  200. const D3D11_RECT *pRects,
  201. UINT NumRects);
  202. }
  203. [
  204. uuid(b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab),
  205. object,
  206. local,
  207. pointer_default(unique)
  208. ]
  209. interface ID3DUserDefinedAnnotation : IUnknown
  210. {
  211. INT BeginEvent(LPCWSTR Name);
  212. INT EndEvent();
  213. void SetMarker(LPCWSTR Name);
  214. BOOL GetStatus();
  215. }
  216. [
  217. uuid(1217d7a6-5039-418c-b042-9cbe256afd6e),
  218. object,
  219. local,
  220. pointer_default(unique)
  221. ]
  222. interface ID3D11RasterizerState1 : ID3D11RasterizerState
  223. {
  224. void GetDesc1(D3D11_RASTERIZER_DESC1 *pDesc);
  225. }
  226. [
  227. uuid(a04bfb29-08ef-43d6-a49c-a9bdbdcbe686),
  228. object,
  229. local,
  230. pointer_default(unique)
  231. ]
  232. interface ID3D11Device1 : ID3D11Device
  233. {
  234. void GetImmediateContext1(
  235. ID3D11DeviceContext1 **ppImmediateContext);
  236. HRESULT CreateDeferredContext1(
  237. UINT ContextFlags,
  238. ID3D11DeviceContext1 **ppDeferredContext);
  239. HRESULT CreateBlendState1(
  240. const D3D11_BLEND_DESC1 *pBlendStateDesc,
  241. ID3D11BlendState1 **ppBlendState);
  242. HRESULT CreateRasterizerState1(
  243. const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
  244. ID3D11RasterizerState1 **ppRasterizerState);
  245. HRESULT CreateDeviceContextState(
  246. UINT Flags,
  247. const D3D_FEATURE_LEVEL *pFeatureLevels,
  248. UINT FeatureLevels,
  249. UINT SDKVersion,
  250. REFIID EmulatedInterface,
  251. D3D_FEATURE_LEVEL *pChosenFeatureLevel,
  252. ID3DDeviceContextState **ppContextState);
  253. HRESULT OpenSharedResource1(
  254. HANDLE hResource,
  255. REFIID returnedInterface,
  256. void **ppResource);
  257. HRESULT OpenSharedResourceByName(
  258. LPCWSTR lpName,
  259. DWORD dwDesiredAccess,
  260. REFIID returnedInterface,
  261. void **ppResource);
  262. }