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
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
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
];
53 uuid(edad8d99
-8a35
-4d6d
-8566-2ea276cde161
),
56 pointer_default(unique)
58 interface ID3D10BlendState1
: ID3D10BlendState
60 void GetDesc1
([out] D3D10_BLEND_DESC1
*pDesc
);
63 typedef struct D3D10_TEXCUBE_ARRAY_SRV1
67 UINT First2DArrayFace
;
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
89 D3D10_SRV_DIMENSION1 ViewDimension
;
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
),
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
),
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
();