blob: 5724b63b1694a74a15db3dc4290501126efd141e [file] [log] [blame]
/*
* Copyright 2010 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
import "ocidl.idl";
import "d3d10.idl";
typedef enum D3D10_FEATURE_LEVEL1
{
D3D10_FEATURE_LEVEL_10_0 = 0xa000,
D3D10_FEATURE_LEVEL_10_1 = 0xa100,
D3D10_FEATURE_LEVEL_9_1 = 0x9100,
D3D10_FEATURE_LEVEL_9_2 = 0x9200,
D3D10_FEATURE_LEVEL_9_3 = 0x9300
} D3D10_FEATURE_LEVEL1;
typedef struct D3D10_RENDER_TARGET_BLEND_DESC1
{
BOOL BlendEnable;
D3D10_BLEND SrcBlend;
D3D10_BLEND DestBlend;
D3D10_BLEND_OP BlendOp;
D3D10_BLEND SrcBlendAlpha;
D3D10_BLEND DestBlendAlpha;
D3D10_BLEND_OP BlendOpAlpha;
UINT8 RenderTargetWriteMask;
} D3D10_RENDER_TARGET_BLEND_DESC1;
typedef struct D3D10_BLEND_DESC1
{
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT];
} D3D10_BLEND_DESC1;
[
uuid(edad8d99-8a35-4d6d-8566-2ea276cde161),
object,
local,
pointer_default(unique)
]
interface ID3D10BlendState1 : ID3D10BlendState
{
void GetDesc1([out] D3D10_BLEND_DESC1 *pDesc);
}
typedef struct D3D10_TEXCUBE_ARRAY_SRV1
{
UINT MostDetailedMip;
UINT MipLevels;
UINT First2DArrayFace;
UINT NumCubes;
} D3D10_TEXCUBE_ARRAY_SRV1;
typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION1;
typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC1
{
DXGI_FORMAT Format;
D3D10_SRV_DIMENSION1 ViewDimension;
union {
D3D10_BUFFER_SRV Buffer;
D3D10_TEX1D_SRV Texture1D;
D3D10_TEX1D_ARRAY_SRV Texture1DArray;
D3D10_TEX2D_SRV Texture2D;
D3D10_TEX2D_ARRAY_SRV Texture2DArray;
D3D10_TEX2DMS_SRV Texture2DMS;
D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
D3D10_TEX3D_SRV Texture3D;
D3D10_TEXCUBE_SRV TextureCube;
D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray;
};
} D3D10_SHADER_RESOURCE_VIEW_DESC1;
[
uuid(9b7e4c87-342c-4106-a19f-4f2704f689f0),
object,
local,
pointer_default(unique)
]
interface ID3D10ShaderResourceView1 : ID3D10ShaderResourceView
{
void GetDesc1([out] D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc);
}
[
uuid(9b7e4c8f-342c-4106-a19f-4f2704f689f0),
object,
local,
pointer_default(unique)
]
interface ID3D10Device1 : ID3D10Device
{
HRESULT CreateShaderResourceView1(
[in] ID3D10Resource *pResource,
[in, out] const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc,
[out] ID3D10ShaderResourceView1 **ppSRView);
HRESULT CreateBlendState1(
[in] const D3D10_BLEND_DESC1 *pBlendStateDesc,
[out] ID3D10BlendState1 **ppBlendState);
D3D10_FEATURE_LEVEL1 GetFeatureLevel();
}
const UINT D3D10_1_SDK_VERSION = 0x20;