From 6e4fd6b171fba63b0240d055e2d94593bd86d7a4 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 23 Oct 2012 11:23:43 +0200 Subject: [PATCH] include: Add the D3DDisassemble() prototype and flags. --- include/d3dcompiler.h | 46 +++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/include/d3dcompiler.h b/include/d3dcompiler.h index 39501432b7c..047c1eaeba9 100644 --- a/include/d3dcompiler.h +++ b/include/d3dcompiler.h @@ -25,25 +25,31 @@ extern "C" { #endif -#define D3DCOMPILE_DEBUG 0x0001 -#define D3DCOMPILE_SKIP_VALIDATION 0x0002 -#define D3DCOMPILE_SKIP_OPTIMIZATION 0x0004 -#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR 0x0008 -#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR 0x0010 -#define D3DCOMPILE_PARTIAL_PRECISION 0x0020 -#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT 0x0040 -#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT 0x0080 -#define D3DCOMPILE_NO_PRESHADER 0x0100 -#define D3DCOMPILE_AVOID_FLOW_CONTROL 0x0200 -#define D3DCOMPILE_PREFER_FLOW_CONTROL 0x0400 -#define D3DCOMPILE_ENABLE_STRICTNESS 0x0800 -#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY 0x1000 -#define D3DCOMPILE_IEEE_STRICTNESS 0x2000 -#define D3DCOMPILE_OPTIMIZATION_LEVEL0 0x4000 -#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0x0000 -#define D3DCOMPILE_OPTIMIZATION_LEVEL2 0xC000 -#define D3DCOMPILE_OPTIMIZATION_LEVEL3 0x8000 -#define D3DCOMPILE_WARNINGS_ARE_ERRORS 0x40000 +#define D3DCOMPILE_DEBUG 0x00000001 +#define D3DCOMPILE_SKIP_VALIDATION 0x00000002 +#define D3DCOMPILE_SKIP_OPTIMIZATION 0x00000004 +#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR 0x00000008 +#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR 0x00000010 +#define D3DCOMPILE_PARTIAL_PRECISION 0x00000020 +#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT 0x00000040 +#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT 0x00000080 +#define D3DCOMPILE_NO_PRESHADER 0x00000100 +#define D3DCOMPILE_AVOID_FLOW_CONTROL 0x00000200 +#define D3DCOMPILE_PREFER_FLOW_CONTROL 0x00000400 +#define D3DCOMPILE_ENABLE_STRICTNESS 0x00000800 +#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY 0x00001000 +#define D3DCOMPILE_IEEE_STRICTNESS 0x00002000 +#define D3DCOMPILE_OPTIMIZATION_LEVEL0 0x00004000 +#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0x00000000 +#define D3DCOMPILE_OPTIMIZATION_LEVEL2 0x0000c000 +#define D3DCOMPILE_OPTIMIZATION_LEVEL3 0x00008000 +#define D3DCOMPILE_WARNINGS_ARE_ERRORS 0x00040000 + +#define D3D_DISASM_ENABLE_COLOR_CODE 0x00000001 +#define D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS 0x00000002 +#define D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING 0x00000004 +#define D3D_DISASM_ENABLE_INSTRUCTION_CYCLE 0x00000008 +#define D3D_DISASM_DISABLE_DEBUG_INFO 0x00000010 HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint, @@ -75,6 +81,8 @@ typedef enum D3D_BLOB_PART D3D_BLOB_TEST_COMPILE_PERF } D3D_BLOB_PART; +HRESULT WINAPI D3DDisassemble(const void *data, SIZE_T data_size, + UINT flags, const char *comments, ID3DBlob **disassembly); HRESULT WINAPI D3DGetBlobPart(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob); HRESULT WINAPI D3DGetInputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob); HRESULT WINAPI D3DGetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob);