d3d10_1.idl 3.42 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/*
 * 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";
23 24
cpp_quote("#include <d3d10_1shader.h>")

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

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;

73
typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION1;
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

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();
}
123 124

const UINT D3D10_1_SDK_VERSION = 0x20;