d2d1: Implement d2d_d3d_render_target_CreateSharedBitmap().
[wine.git] / include / d3d10_1.idl
blob4ee49c6523bf99aad5dfd1fee380cb68de927581
1 /*
2 * Copyright 2010 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";
22 cpp_quote("#ifndef _D3D10_1_CONSTANTS")
23 cpp_quote("#define _D3D10_1_CONSTANTS")
24 const UINT D3D10_1_DEFAULT_SAMPLE_MASK = 0xffffffff;
25 const UINT D3D10_1_GS_INPUT_REGISTER_COUNT = 32;
26 const UINT D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
27 const UINT D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128;
28 const UINT D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32;
29 const UINT D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1;
30 const UINT D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32;
31 const UINT D3D10_1_PS_OUTPUT_MASK_REGISTER_COUNT = 1;
32 const UINT D3D10_1_SHADER_MAJOR_VERSION = 4;
33 const UINT D3D10_1_SHADER_MINOR_VERSION = 1;
34 const UINT D3D10_1_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
35 const UINT D3D10_1_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
36 const UINT D3D10_1_SO_BUFFER_SLOT_COUNT = 4;
37 const UINT D3D10_1_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
38 const UINT D3D10_1_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
39 const UINT D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT = 32;
40 const UINT D3D10_1_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
41 const UINT D3D10_1_VS_INPUT_REGISTER_COUNT = 32;
42 const UINT D3D10_1_VS_OUTPUT_REGISTER_COUNT = 32;
43 cpp_quote("#endif")
45 cpp_quote("#define D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP (0.6)")
46 cpp_quote("#define D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP (0.6f)")
48 import "d3d10.idl";
49 cpp_quote("#include <d3d10_1shader.h>")
52 typedef enum D3D10_FEATURE_LEVEL1
54 D3D10_FEATURE_LEVEL_10_0 = 0xa000,
55 D3D10_FEATURE_LEVEL_10_1 = 0xa100,
56 D3D10_FEATURE_LEVEL_9_1 = 0x9100,
57 D3D10_FEATURE_LEVEL_9_2 = 0x9200,
58 D3D10_FEATURE_LEVEL_9_3 = 0x9300
59 } D3D10_FEATURE_LEVEL1;
61 typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
63 BOOL BlendEnable;
64 D3D10_BLEND SrcBlend;
65 D3D10_BLEND DestBlend;
66 D3D10_BLEND_OP BlendOp;
67 D3D10_BLEND SrcBlendAlpha;
68 D3D10_BLEND DestBlendAlpha;
69 D3D10_BLEND_OP BlendOpAlpha;
70 UINT8 RenderTargetWriteMask;
71 } D3D10_RENDER_TARGET_BLEND_DESC1;
73 typedef struct D3D10_BLEND_DESC1
75 BOOL AlphaToCoverageEnable;
76 BOOL IndependentBlendEnable;
77 D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT];
78 } D3D10_BLEND_DESC1;
81 uuid(edad8d99-8a35-4d6d-8566-2ea276cde161),
82 object,
83 local,
84 pointer_default(unique)
86 interface ID3D10BlendState1 : ID3D10BlendState
88 void GetDesc1([out] D3D10_BLEND_DESC1 *pDesc);
91 typedef struct D3D10_TEXCUBE_ARRAY_SRV1
93 UINT MostDetailedMip;
94 UINT MipLevels;
95 UINT First2DArrayFace;
96 UINT NumCubes;
97 } D3D10_TEXCUBE_ARRAY_SRV1;
99 typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION1;
101 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
103 DXGI_FORMAT Format;
104 D3D10_SRV_DIMENSION1 ViewDimension;
105 union {
106 D3D10_BUFFER_SRV Buffer;
107 D3D10_TEX1D_SRV Texture1D;
108 D3D10_TEX1D_ARRAY_SRV Texture1DArray;
109 D3D10_TEX2D_SRV Texture2D;
110 D3D10_TEX2D_ARRAY_SRV Texture2DArray;
111 D3D10_TEX2DMS_SRV Texture2DMS;
112 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
113 D3D10_TEX3D_SRV Texture3D;
114 D3D10_TEXCUBE_SRV TextureCube;
115 D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray;
117 } D3D10_SHADER_RESOURCE_VIEW_DESC1;
120 uuid(9b7e4c87-342c-4106-a19f-4f2704f689f0),
121 object,
122 local,
123 pointer_default(unique)
125 interface ID3D10ShaderResourceView1 : ID3D10ShaderResourceView
127 void GetDesc1([out] D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
131 uuid(9b7e4c8f-342c-4106-a19f-4f2704f689f0),
132 object,
133 local,
134 pointer_default(unique)
136 interface ID3D10Device1 : ID3D10Device
138 HRESULT CreateShaderResourceView1(
139 [in] ID3D10Resource *pResource,
140 [in, out] const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
141 [out] ID3D10ShaderResourceView1 **ppSRView);
143 HRESULT CreateBlendState1(
144 [in] const D3D10_BLEND_DESC1 *pBlendStateDesc,
145 [out] ID3D10BlendState1 **ppBlendState);
147 D3D10_FEATURE_LEVEL1 GetFeatureLevel();
150 const UINT D3D10_1_SDK_VERSION = 0x20;
152 cpp_quote("HRESULT WINAPI D3D10CreateDevice1(IDXGIAdapter*,D3D10_DRIVER_TYPE,")
153 cpp_quote(" HMODULE,UINT,D3D10_FEATURE_LEVEL1,UINT,ID3D10Device1**);")