Subversion Repositories Games.Chess Giants

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
///////////////////////////////////////////////////////////////////////////
2
//
3
//  Copyright (C) Microsoft Corporation.  All Rights Reserved.
4
//
5
//  File:       d3dx11core.h
6
//  Content:    D3DX11 core types and functions
7
//
8
///////////////////////////////////////////////////////////////////////////
9
 
10
#include "d3dx11.h"
11
 
12
#ifndef __D3DX11CORE_H__
13
#define __D3DX11CORE_H__
14
 
15
// Current name of the DLL shipped in the same SDK as this header.
16
 
17
 
18
#define D3DX11_DLL_W L"d3dx11_42.dll"
19
#define D3DX11_DLL_A "d3dx11_42.dll"
20
 
21
#ifdef UNICODE
22
    #define D3DX11_DLL D3DX11_DLL_W 
23
#else
24
    #define D3DX11_DLL D3DX11_DLL_A
25
#endif
26
 
27
#ifdef __cplusplus
28
extern "C" {
29
#endif //__cplusplus
30
 
31
///////////////////////////////////////////////////////////////////////////
32
// D3DX11_SDK_VERSION:
33
// -----------------
34
// This identifier is passed to D3DX11CheckVersion in order to ensure that an
35
// application was built against the correct header files and lib files. 
36
// This number is incremented whenever a header (or other) change would 
37
// require applications to be rebuilt. If the version doesn't match, 
38
// D3DX11CreateVersion will return FALSE. (The number itself has no meaning.)
39
///////////////////////////////////////////////////////////////////////////
40
 
41
 
42
#define D3DX11_SDK_VERSION 42
43
 
44
 
45
#ifdef D3D_DIAG_DLL
46
BOOL WINAPI D3DX11DebugMute(BOOL Mute);  
47
#endif
48
HRESULT WINAPI D3DX11CheckVersion(UINT D3DSdkVersion, UINT D3DX11SdkVersion);
49
 
50
#ifdef __cplusplus
51
}
52
#endif //__cplusplus
53
 
54
 
55
 
56
//////////////////////////////////////////////////////////////////////////////
57
// ID3DX11ThreadPump:
58
//////////////////////////////////////////////////////////////////////////////
59
 
60
#undef INTERFACE
61
#define INTERFACE ID3DX11DataLoader
62
 
63
DECLARE_INTERFACE(ID3DX11DataLoader)
64
{
65
        STDMETHOD(Load)(THIS) PURE;
66
        STDMETHOD(Decompress)(THIS_ void **ppData, SIZE_T *pcBytes) PURE;
67
        STDMETHOD(Destroy)(THIS) PURE;
68
};
69
 
70
#undef INTERFACE
71
#define INTERFACE ID3DX11DataProcessor
72
 
73
DECLARE_INTERFACE(ID3DX11DataProcessor)
74
{
75
        STDMETHOD(Process)(THIS_ void *pData, SIZE_T cBytes) PURE;
76
        STDMETHOD(CreateDeviceObject)(THIS_ void **ppDataObject) PURE;
77
        STDMETHOD(Destroy)(THIS) PURE;
78
};
79
 
80
// {C93FECFA-6967-478a-ABBC-402D90621FCB}
81
DEFINE_GUID(IID_ID3DX11ThreadPump,
82
0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb);
83
 
84
#undef INTERFACE
85
#define INTERFACE ID3DX11ThreadPump
86
 
87
DECLARE_INTERFACE_(ID3DX11ThreadPump, IUnknown)
88
{
89
    // IUnknown
90
    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
91
    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
92
    STDMETHOD_(ULONG, Release)(THIS) PURE;
93
 
94
    // ID3DX11ThreadPump
95
    STDMETHOD(AddWorkItem)(THIS_ ID3DX11DataLoader *pDataLoader, ID3DX11DataProcessor *pDataProcessor, HRESULT *pHResult, void **ppDeviceObject) PURE;
96
    STDMETHOD_(UINT, GetWorkItemCount)(THIS) PURE;
97
 
98
    STDMETHOD(WaitForAllItems)(THIS) PURE;
99
    STDMETHOD(ProcessDeviceWorkItems)(THIS_ UINT iWorkItemCount);
100
 
101
    STDMETHOD(PurgeAllItems)(THIS) PURE;
102
    STDMETHOD(GetQueueStatus)(THIS_ UINT *pIoQueue, UINT *pProcessQueue, UINT *pDeviceQueue) PURE;
103
 
104
};
105
 
106
#ifdef __cplusplus
107
extern "C" {
108
#endif //__cplusplus
109
 
110
HRESULT WINAPI D3DX11CreateThreadPump(UINT cIoThreads, UINT cProcThreads, ID3DX11ThreadPump **ppThreadPump);
111
 
112
HRESULT WINAPI D3DX11UnsetAllDeviceObjects(ID3D11DeviceContext *pContext);
113
 
114
#ifdef __cplusplus
115
}
116
#endif //__cplusplus
117
 
118
///////////////////////////////////////////////////////////////////////////
119
 
120
#define _FACD3D  0x876
121
#define MAKE_D3DHRESULT( code )  MAKE_HRESULT( 1, _FACD3D, code )
122
#define MAKE_D3DSTATUS( code )  MAKE_HRESULT( 0, _FACD3D, code )
123
 
124
#define D3DERR_INVALIDCALL                      MAKE_D3DHRESULT(2156)
125
#define D3DERR_WASSTILLDRAWING                  MAKE_D3DHRESULT(540)
126
 
127
#endif //__D3DX11CORE_H__
128