summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/dxsdk/Include/d3dx11async.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/dxsdk/Include/d3dx11async.h')
-rw-r--r--3rdparty/dxsdk/Include/d3dx11async.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/3rdparty/dxsdk/Include/d3dx11async.h b/3rdparty/dxsdk/Include/d3dx11async.h
new file mode 100644
index 00000000000..4586c55ecd2
--- /dev/null
+++ b/3rdparty/dxsdk/Include/d3dx11async.h
@@ -0,0 +1,164 @@
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+//
+// File: D3DX11Async.h
+// Content: D3DX11 Asynchronous Shader loaders / compilers
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef __D3DX11ASYNC_H__
+#define __D3DX11ASYNC_H__
+
+#include "d3dx11.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif //__cplusplus
+
+
+//----------------------------------------------------------------------------
+// D3DX11Compile:
+// ------------------
+// Compiles an effect or shader.
+//
+// Parameters:
+// pSrcFile
+// Source file name.
+// hSrcModule
+// Module handle. if NULL, current module will be used.
+// pSrcResource
+// Resource name in module.
+// pSrcData
+// Pointer to source code.
+// SrcDataLen
+// Size of source code, in bytes.
+// pDefines
+// Optional NULL-terminated array of preprocessor macro definitions.
+// pInclude
+// Optional interface pointer to use for handling #include directives.
+// If this parameter is NULL, #includes will be honored when compiling
+// from file, and will error when compiling from resource or memory.
+// pFunctionName
+// Name of the entrypoint function where execution should begin.
+// pProfile
+// Instruction set to be used when generating code. Currently supported
+// profiles are "vs_1_1", "vs_2_0", "vs_2_a", "vs_2_sw", "vs_3_0",
+// "vs_3_sw", "vs_4_0", "vs_4_1",
+// "ps_2_0", "ps_2_a", "ps_2_b", "ps_2_sw", "ps_3_0",
+// "ps_3_sw", "ps_4_0", "ps_4_1",
+// "gs_4_0", "gs_4_1",
+// "tx_1_0",
+// "fx_4_0", "fx_4_1"
+// Note that this entrypoint does not compile fx_2_0 targets, for that
+// you need to use the D3DX9 function.
+// Flags1
+// See D3D10_SHADER_xxx flags.
+// Flags2
+// See D3D10_EFFECT_xxx flags.
+// ppShader
+// Returns a buffer containing the created shader. This buffer contains
+// the compiled shader code, as well as any embedded debug and symbol
+// table info. (See D3D10GetShaderConstantTable)
+// ppErrorMsgs
+// Returns a buffer containing a listing of errors and warnings that were
+// encountered during the compile. If you are running in a debugger,
+// these are the same messages you will see in your debug output.
+// pHResult
+// Pointer to a memory location to receive the return value upon completion.
+// Maybe NULL if not needed.
+// If pPump != NULL, pHResult must be a valid memory location until the
+// the asynchronous execution completes.
+//----------------------------------------------------------------------------
+
+HRESULT WINAPI D3DX11CompileFromFileA(LPCSTR pSrcFile,CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11CompileFromFileW(LPCWSTR pSrcFile, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+#ifdef UNICODE
+#define D3DX11CompileFromFile D3DX11CompileFromFileW
+#else
+#define D3DX11CompileFromFile D3DX11CompileFromFileA
+#endif
+
+HRESULT WINAPI D3DX11CompileFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11CompileFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+#ifdef UNICODE
+#define D3DX11CompileFromResource D3DX11CompileFromResourceW
+#else
+#define D3DX11CompileFromResource D3DX11CompileFromResourceA
+#endif
+
+HRESULT WINAPI D3DX11CompileFromMemory(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11PreprocessShaderFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11PreprocessShaderFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11PreprocessShaderFromMemory(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11PreprocessShaderFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+HRESULT WINAPI D3DX11PreprocessShaderFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
+
+#ifdef UNICODE
+#define D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileW
+#define D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceW
+#else
+#define D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileA
+#define D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceA
+#endif
+
+//----------------------------------------------------------------------------
+// Async processors
+//----------------------------------------------------------------------------
+
+HRESULT WINAPI D3DX11CreateAsyncCompilerProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,
+ ID3D10Blob **ppCompiledShader, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);
+
+HRESULT WINAPI D3DX11CreateAsyncShaderPreprocessProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ ID3D10Blob** ppShaderText, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);
+
+//----------------------------------------------------------------------------
+// D3DX11 Asynchronous texture I/O (advanced mode)
+//----------------------------------------------------------------------------
+
+HRESULT WINAPI D3DX11CreateAsyncFileLoaderW(LPCWSTR pFileName, ID3DX11DataLoader **ppDataLoader);
+HRESULT WINAPI D3DX11CreateAsyncFileLoaderA(LPCSTR pFileName, ID3DX11DataLoader **ppDataLoader);
+HRESULT WINAPI D3DX11CreateAsyncMemoryLoader(LPCVOID pData, SIZE_T cbData, ID3DX11DataLoader **ppDataLoader);
+HRESULT WINAPI D3DX11CreateAsyncResourceLoaderW(HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);
+HRESULT WINAPI D3DX11CreateAsyncResourceLoaderA(HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);
+
+#ifdef UNICODE
+#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderW
+#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderW
+#else
+#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderA
+#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderA
+#endif
+
+HRESULT WINAPI D3DX11CreateAsyncTextureProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);
+HRESULT WINAPI D3DX11CreateAsyncTextureInfoProcessor(D3DX11_IMAGE_INFO *pImageInfo, ID3DX11DataProcessor **ppDataProcessor);
+HRESULT WINAPI D3DX11CreateAsyncShaderResourceViewProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);
+
+#ifdef __cplusplus
+}
+#endif //__cplusplus
+
+#endif //__D3DX11ASYNC_H__
+
+