wined3d: Allow multiple shader instruction destination arguments.
[wine/multimedia.git] / include / d3d10_1.idl
blobdc94492a6b2023f744e458df07312e0e6b236424
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 import "d3d10.idl";
24 typedef enum D3D10_FEATURE_LEVEL1
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;
33 typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
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;
45 typedef struct D3D10_BLEND_DESC1
47 BOOL AlphaToCoverageEnable;
48 BOOL IndependentBlendEnable;
49 D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT];
50 } D3D10_BLEND_DESC1;
53 uuid(edad8d99-8a35-4d6d-8566-2ea276cde161),
54 object,
55 local,
56 pointer_default(unique)
58 interface ID3D10BlendState1 : ID3D10BlendState
60 void GetDesc1([out] D3D10_BLEND_DESC1 *pDesc);
63 typedef struct D3D10_TEXCUBE_ARRAY_SRV1
65 UINT MostDetailedMip;
66 UINT MipLevels;
67 UINT First2DArrayFace;
68 UINT NumCubes;
69 } D3D10_TEXCUBE_ARRAY_SRV1;
71 typedef enum D3D10_SRV_DIMENSION1
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;
86 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
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;
102 } D3D10_SHADER_RESOURCE_VIEW_DESC1;
105 uuid(9b7e4c87-342c-4106-a19f-4f2704f689f0),
106 object,
107 local,
108 pointer_default(unique)
110 interface ID3D10ShaderResourceView1 : ID3D10ShaderResourceView
112 void GetDesc1([out] D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
116 uuid(9b7e4c8f-342c-4106-a19f-4f2704f689f0),
117 object,
118 local,
119 pointer_default(unique)
121 interface ID3D10Device1 : ID3D10Device
123 HRESULT CreateShaderResourceView1(
124 [in] ID3D10Resource *pResource,
125 [in, out] const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
126 [out] ID3D10ShaderResourceView1 **ppSRView);
128 HRESULT CreateBlendState1(
129 [in] const D3D10_BLEND_DESC1 *pBlendStateDesc,
130 [out] ID3D10BlendState1 **ppBlendState);
132 D3D10_FEATURE_LEVEL1 GetFeatureLevel();