dinput: Check array indexes to avoid exceeding array bounds.
[wine/multimedia.git] / include / d3d10_1.idl
blobbfae75493e662554ada44abde30728b1cc7dbb7b
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";
23 cpp_quote("#include <d3d10_1shader.h>")
25 const UINT D3D10_1_SHADER_MAJOR_VERSION = 4;
26 const UINT D3D10_1_SHADER_MINOR_VERSION = 1;
28 typedef enum D3D10_FEATURE_LEVEL1
30 D3D10_FEATURE_LEVEL_10_0 = 0xa000,
31 D3D10_FEATURE_LEVEL_10_1 = 0xa100,
32 D3D10_FEATURE_LEVEL_9_1 = 0x9100,
33 D3D10_FEATURE_LEVEL_9_2 = 0x9200,
34 D3D10_FEATURE_LEVEL_9_3 = 0x9300
35 } D3D10_FEATURE_LEVEL1;
37 typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
39 BOOL BlendEnable;
40 D3D10_BLEND SrcBlend;
41 D3D10_BLEND DestBlend;
42 D3D10_BLEND_OP BlendOp;
43 D3D10_BLEND SrcBlendAlpha;
44 D3D10_BLEND DestBlendAlpha;
45 D3D10_BLEND_OP BlendOpAlpha;
46 UINT8 RenderTargetWriteMask;
47 } D3D10_RENDER_TARGET_BLEND_DESC1;
49 typedef struct D3D10_BLEND_DESC1
51 BOOL AlphaToCoverageEnable;
52 BOOL IndependentBlendEnable;
53 D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT];
54 } D3D10_BLEND_DESC1;
57 uuid(edad8d99-8a35-4d6d-8566-2ea276cde161),
58 object,
59 local,
60 pointer_default(unique)
62 interface ID3D10BlendState1 : ID3D10BlendState
64 void GetDesc1([out] D3D10_BLEND_DESC1 *pDesc);
67 typedef struct D3D10_TEXCUBE_ARRAY_SRV1
69 UINT MostDetailedMip;
70 UINT MipLevels;
71 UINT First2DArrayFace;
72 UINT NumCubes;
73 } D3D10_TEXCUBE_ARRAY_SRV1;
75 typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION1;
77 typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
79 DXGI_FORMAT Format;
80 D3D10_SRV_DIMENSION1 ViewDimension;
81 union {
82 D3D10_BUFFER_SRV Buffer;
83 D3D10_TEX1D_SRV Texture1D;
84 D3D10_TEX1D_ARRAY_SRV Texture1DArray;
85 D3D10_TEX2D_SRV Texture2D;
86 D3D10_TEX2D_ARRAY_SRV Texture2DArray;
87 D3D10_TEX2DMS_SRV Texture2DMS;
88 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
89 D3D10_TEX3D_SRV Texture3D;
90 D3D10_TEXCUBE_SRV TextureCube;
91 D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray;
93 } D3D10_SHADER_RESOURCE_VIEW_DESC1;
96 uuid(9b7e4c87-342c-4106-a19f-4f2704f689f0),
97 object,
98 local,
99 pointer_default(unique)
101 interface ID3D10ShaderResourceView1 : ID3D10ShaderResourceView
103 void GetDesc1([out] D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
107 uuid(9b7e4c8f-342c-4106-a19f-4f2704f689f0),
108 object,
109 local,
110 pointer_default(unique)
112 interface ID3D10Device1 : ID3D10Device
114 HRESULT CreateShaderResourceView1(
115 [in] ID3D10Resource *pResource,
116 [in, out] const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
117 [out] ID3D10ShaderResourceView1 **ppSRView);
119 HRESULT CreateBlendState1(
120 [in] const D3D10_BLEND_DESC1 *pBlendStateDesc,
121 [out] ID3D10BlendState1 **ppBlendState);
123 D3D10_FEATURE_LEVEL1 GetFeatureLevel();
126 const UINT D3D10_1_SDK_VERSION = 0x20;
128 cpp_quote("HRESULT WINAPI D3D10CreateDevice1(IDXGIAdapter*,D3D10_DRIVER_TYPE,")
129 cpp_quote(" HMODULE,UINT,D3D10_FEATURE_LEVEL1,UINT,ID3D10Device1**);")