2 * Copyright 2015 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __D3DX10ASYNC_H__
20 #define __D3DX10ASYNC_H__
24 HRESULT WINAPI
D3DX10CompileFromMemory(const char *data
, SIZE_T data_size
, const char *filename
,
25 const D3D10_SHADER_MACRO
*defines
, ID3D10Include
*include
, const char *entry_point
,
26 const char *target
, UINT sflags
, UINT eflags
, ID3DX10ThreadPump
*pump
, ID3D10Blob
**shader
,
27 ID3D10Blob
**error_messages
, HRESULT
*hresult
);
29 HRESULT WINAPI
D3DX10CreateEffectFromFileA(const char *filename
, const D3D10_SHADER_MACRO
*defines
,
30 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
31 ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
, ID3D10Effect
**effect
, ID3D10Blob
**errors
,
34 HRESULT WINAPI
D3DX10CreateEffectFromFileW(const WCHAR
*filename
, const D3D10_SHADER_MACRO
*defines
,
35 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
36 ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
, ID3D10Effect
**effect
, ID3D10Blob
**errors
,
39 HRESULT WINAPI
D3DX10CreateEffectFromMemory(const void *data
, SIZE_T datasize
, const char *filename
,
40 const D3D10_SHADER_MACRO
*defines
, ID3D10Include
*include
, const char *profile
, UINT hlslflags
,
41 UINT fxflags
, ID3D10Device
*device
, ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
,
42 ID3D10Effect
**effect
, ID3D10Blob
**errors
, HRESULT
*hresult
);
44 HRESULT WINAPI
D3DX10CreateEffectPoolFromFileA(const char *filename
, const D3D10_SHADER_MACRO
*defines
,
45 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
46 ID3DX10ThreadPump
*pump
, ID3D10EffectPool
**effectpool
, ID3D10Blob
**errors
, HRESULT
*hresult
);
48 HRESULT WINAPI
D3DX10CreateEffectPoolFromFileW(const WCHAR
*filename
, const D3D10_SHADER_MACRO
*defines
,
49 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
50 ID3DX10ThreadPump
*pump
, ID3D10EffectPool
**effectpool
, ID3D10Blob
**errors
, HRESULT
*hresult
);
52 HRESULT WINAPI
D3DX10CreateEffectPoolFromMemory(const void *data
, SIZE_T datasize
, const char *filename
,
53 const D3D10_SHADER_MACRO
*defines
, ID3D10Include
*include
, const char *profile
, UINT hlslflags
,
54 UINT fxflags
, ID3D10Device
*device
, ID3DX10ThreadPump
*pump
, ID3D10EffectPool
**effectpool
,
55 ID3D10Blob
**errors
, HRESULT
*hresult
);
57 HRESULT WINAPI
D3DX10PreprocessShaderFromMemory(const char *data
, SIZE_T data_size
, const char *filename
,
58 const D3D10_SHADER_MACRO
*defines
, ID3DInclude
*include
, ID3DX10ThreadPump
*pump
, ID3D10Blob
**shader_text
,
59 ID3D10Blob
**errors
, HRESULT
*hresult
);
61 HRESULT WINAPI
D3DX10CreateAsyncFileLoaderW(const WCHAR
*filename
, ID3DX10DataLoader
**loader
);
62 HRESULT WINAPI
D3DX10CreateAsyncFileLoaderA(const char *filename
, ID3DX10DataLoader
**loader
);
63 HRESULT WINAPI
D3DX10CreateAsyncMemoryLoader(const void *data
, SIZE_T datasize
, ID3DX10DataLoader
**loader
);
64 HRESULT WINAPI
D3DX10CreateAsyncResourceLoaderA(HMODULE module
, const char *resource
, ID3DX10DataLoader
**loader
);
65 HRESULT WINAPI
D3DX10CreateAsyncResourceLoaderW(HMODULE module
, const WCHAR
*resource
, ID3DX10DataLoader
**loader
);