summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/d3d10_1.idl
blob: fe18b05cd470f5375db44bccb74daf87835f51fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
73
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
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
 * 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
 */

/*
 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
 * a choice of LGPL license versions is made available with the language indicating
 * that LGPLv2 or any later version may be used, or where a choice of which version
 * of the LGPL is applied is otherwise unspecified.
 */

import "oaidl.idl";
import "ocidl.idl";

import "d3d10.idl";
cpp_quote("#include <d3d10_1shader.h>")

const UINT D3D10_1_SHADER_MAJOR_VERSION = 4;
const UINT D3D10_1_SHADER_MINOR_VERSION = 1;

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;