Welcome to mirror list, hosted at ThFree Co, Russian Federation.

d3d11on12.h - github.com/Joshua-Ashton/mingw-directx-headers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a4bda77da5584ae078bcce057dce091388b16716 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/*** Autogenerated by WIDL 7.7 from include/d3d11on12.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __d3d11on12_h__
#define __d3d11on12_h__

/* Forward declarations */

#ifndef __ID3D11On12Device_FWD_DEFINED__
#define __ID3D11On12Device_FWD_DEFINED__
typedef interface ID3D11On12Device ID3D11On12Device;
#ifdef __cplusplus
interface ID3D11On12Device;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <oaidl.h>
#include <ocidl.h>
#include <d3d11.h>
#include <d3d12.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct D3D11_RESOURCE_FLAGS {
    UINT BindFlags;
    UINT MiscFlags;
    UINT CPUAccessFlags;
    UINT StructureByteStride;
} D3D11_RESOURCE_FLAGS;
/*****************************************************************************
 * ID3D11On12Device interface
 */
#ifndef __ID3D11On12Device_INTERFACE_DEFINED__
#define __ID3D11On12Device_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D11On12Device, 0x85611e73, 0x70a9, 0x490e, 0x96,0x14, 0xa9,0xe3,0x02,0x77,0x79,0x04);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("85611e73-70a9-490e-9614-a9e302777904")
ID3D11On12Device : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateWrappedResource(
        IUnknown *d3d12_resource,
        const D3D11_RESOURCE_FLAGS *flags,
        D3D12_RESOURCE_STATES input_state,
        D3D12_RESOURCE_STATES output_state,
        REFIID iid,
        void **d3d11_resource) = 0;

    virtual void STDMETHODCALLTYPE ReleaseWrappedResources(
        ID3D11Resource *const *resources,
        UINT count) = 0;

    virtual void STDMETHODCALLTYPE AcquireWrappedResources(
        ID3D11Resource *const *resources,
        UINT count) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D11On12Device, 0x85611e73, 0x70a9, 0x490e, 0x96,0x14, 0xa9,0xe3,0x02,0x77,0x79,0x04)
#endif
#else
typedef struct ID3D11On12DeviceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D11On12Device *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D11On12Device *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D11On12Device *This);

    /*** ID3D11On12Device methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateWrappedResource)(
        ID3D11On12Device *This,
        IUnknown *d3d12_resource,
        const D3D11_RESOURCE_FLAGS *flags,
        D3D12_RESOURCE_STATES input_state,
        D3D12_RESOURCE_STATES output_state,
        REFIID iid,
        void **d3d11_resource);

    void (STDMETHODCALLTYPE *ReleaseWrappedResources)(
        ID3D11On12Device *This,
        ID3D11Resource *const *resources,
        UINT count);

    void (STDMETHODCALLTYPE *AcquireWrappedResources)(
        ID3D11On12Device *This,
        ID3D11Resource *const *resources,
        UINT count);

    END_INTERFACE
} ID3D11On12DeviceVtbl;

interface ID3D11On12Device {
    CONST_VTBL ID3D11On12DeviceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D11On12Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D11On12Device_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D11On12Device_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D11On12Device methods ***/
#define ID3D11On12Device_CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource) (This)->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource)
#define ID3D11On12Device_ReleaseWrappedResources(This,resources,count) (This)->lpVtbl->ReleaseWrappedResources(This,resources,count)
#define ID3D11On12Device_AcquireWrappedResources(This,resources,count) (This)->lpVtbl->AcquireWrappedResources(This,resources,count)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ID3D11On12Device_QueryInterface(ID3D11On12Device* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ID3D11On12Device_AddRef(ID3D11On12Device* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ID3D11On12Device_Release(ID3D11On12Device* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D11On12Device methods ***/
static FORCEINLINE HRESULT ID3D11On12Device_CreateWrappedResource(ID3D11On12Device* This,IUnknown *d3d12_resource,const D3D11_RESOURCE_FLAGS *flags,D3D12_RESOURCE_STATES input_state,D3D12_RESOURCE_STATES output_state,REFIID iid,void **d3d11_resource) {
    return This->lpVtbl->CreateWrappedResource(This,d3d12_resource,flags,input_state,output_state,iid,d3d11_resource);
}
static FORCEINLINE void ID3D11On12Device_ReleaseWrappedResources(ID3D11On12Device* This,ID3D11Resource *const *resources,UINT count) {
    This->lpVtbl->ReleaseWrappedResources(This,resources,count);
}
static FORCEINLINE void ID3D11On12Device_AcquireWrappedResources(ID3D11On12Device* This,ID3D11Resource *const *resources,UINT count) {
    This->lpVtbl->AcquireWrappedResources(This,resources,count);
}
#endif
#endif

#endif


#endif  /* __ID3D11On12Device_INTERFACE_DEFINED__ */

HRESULT __stdcall  D3D11On12CreateDevice(IUnknown *device,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT feature_level_count,IUnknown *const *queues,UINT queue_count,UINT node_mask,ID3D11Device **d3d11_device,ID3D11DeviceContext **d3d11_immediate_context,D3D_FEATURE_LEVEL *obtained_feature_level);

typedef HRESULT (__stdcall *PFN_D3D11ON12_CREATE_DEVICE)(IUnknown *device,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT feature_level_count,IUnknown *const *queues,UINT queue_count,UINT node_mask,ID3D11Device **d3d11_device,ID3D11DeviceContext **d3d11_immediate_context,D3D_FEATURE_LEVEL *obtained_feature_level);
/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __d3d11on12_h__ */