riched20/tests: Plug a few memory leaks and make failure messages more meaningful.
[wine] / include / d3d10_1.idl
1 /*
2  * Copyright 2010 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
19 import "oaidl.idl";
20 import "ocidl.idl";
21
22 import "d3d10.idl";
23
24 typedef enum D3D10_FEATURE_LEVEL1
25 {
26     D3D10_FEATURE_LEVEL_10_0  = 0xa000,
27     D3D10_FEATURE_LEVEL_10_1  = 0xa100,
28     D3D10_FEATURE_LEVEL_9_1   = 0x9100,
29     D3D10_FEATURE_LEVEL_9_2   = 0x9200,
30     D3D10_FEATURE_LEVEL_9_3   = 0x9300
31 } D3D10_FEATURE_LEVEL1;
32
33 typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
34 {
35     BOOL BlendEnable;
36     D3D10_BLEND SrcBlend;
37     D3D10_BLEND DestBlend;
38     D3D10_BLEND_OP BlendOp;
39     D3D10_BLEND SrcBlendAlpha;
40     D3D10_BLEND DestBlendAlpha;
41     D3D10_BLEND_OP BlendOpAlpha;
42     UINT8 RenderTargetWriteMask;
43 } D3D10_RENDER_TARGET_BLEND_DESC1;
44
45 typedef struct D3D10_BLEND_DESC1
46 {
47     BOOL AlphaToCoverageEnable;
48     BOOL IndependentBlendEnable;
49     D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT];
50 } D3D10_BLEND_DESC1;
51
52 [
53     uuid(edad8d99-8a35-4d6d-8566-2ea276cde161),
54     object,
55     local,
56     pointer_default(unique)
57 ]
58 interface ID3D10BlendState1 : ID3D10BlendState
59 {
60     void GetDesc1([out] D3D10_BLEND_DESC1 *pDesc);
61 }
62
63 typedef struct D3D10_TEXCUBE_ARRAY_SRV1
64 {
65     UINT MostDetailedMip;
66     UINT MipLevels;
67     UINT First2DArrayFace;
68     UINT NumCubes;
69 } D3D10_TEXCUBE_ARRAY_SRV1;
70
71 typedef enum D3D10_SRV_DIMENSION1
72 {
73     D3D10_1_SRV_DIMENSION_UNKNOWN           = 0,
74     D3D10_1_SRV_DIMENSION_BUFFER            = 1,
75     D3D10_1_SRV_DIMENSION_TEXTURE1D         = 2,
76     D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY    = 3,
77     D3D10_1_SRV_DIMENSION_TEXTURE2D         = 4,
78     D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY    = 5,
79     D3D10_1_SRV_DIMENSION_TEXTURE2DMS       = 6,
80     D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY  = 7,
81     D3D10_1_SRV_DIMENSION_TEXTURE3D         = 8,
82     D3D10_1_SRV_DIMENSION_TEXTURECUBE       = 9,
83     D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY  = 10
84 } D3D10_SRV_DIMENSION1;
85
86 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
87 {
88     DXGI_FORMAT Format;
89     D3D10_SRV_DIMENSION1  ViewDimension;
90     union {
91         D3D10_BUFFER_SRV Buffer;
92         D3D10_TEX1D_SRV Texture1D;
93         D3D10_TEX1D_ARRAY_SRV Texture1DArray;
94         D3D10_TEX2D_SRV Texture2D;
95         D3D10_TEX2D_ARRAY_SRV Texture2DArray;
96         D3D10_TEX2DMS_SRV Texture2DMS;
97         D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
98         D3D10_TEX3D_SRV Texture3D;
99         D3D10_TEXCUBE_SRV TextureCube;
100         D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray;
101     };
102 } D3D10_SHADER_RESOURCE_VIEW_DESC1;
103
104 [
105     uuid(9b7e4c87-342c-4106-a19f-4f2704f689f0),
106     object,
107     local,
108     pointer_default(unique)
109 ]
110 interface ID3D10ShaderResourceView1 : ID3D10ShaderResourceView
111 {
112     void GetDesc1([out] D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
113 }
114
115 [
116     uuid(9b7e4c8f-342c-4106-a19f-4f2704f689f0),
117     object,
118     local,
119     pointer_default(unique)
120 ]
121 interface ID3D10Device1 : ID3D10Device
122 {
123     HRESULT CreateShaderResourceView1(
124             [in] ID3D10Resource *pResource,
125             [in, out] const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
126             [out] ID3D10ShaderResourceView1 **ppSRView);
127
128     HRESULT CreateBlendState1(
129             [in] const D3D10_BLEND_DESC1 *pBlendStateDesc,
130             [out] ID3D10BlendState1 **ppBlendState);
131
132     D3D10_FEATURE_LEVEL1 GetFeatureLevel();
133 }