package vendor:directx/d3d_compiler
⌘K
Ctrl+K
or
/
Overview
Bindings for Direct3D Shader Compiler.
External Examples 3 ¶
The programs in odin-lang/examples about this package, and how many of its declarations each uses.
Index
Types (30)
- BLOB_PART
- BOOL
- D3DCOMPILE
- D3DCOMPILER_STRIP_FLAG
- D3DCOMPILER_STRIP_FLAGS
- D3DCOMPILE_FLAG
- EFFECT
- EFFECT_FLAG
- FLAGS2
- HRESULT
- ID3D10Effect
- ID3D11Linker
- ID3D11Linker_VTable
- ID3DBlob
- ID3DInclude
- ID3DInclude_VTable
- IID
- INCLUDE_TYPE
- IUnknown
- IUnknown_VTable
- LPCSTR
- LPCWSTR
- SECDATA
- SECDATA_FLAG
- SHADER_DATA
- SHADER_MACRO
- SIZE_T
- pD3DCompile
- pD3DDisassemble
- pD3DPreprocess
Constants (17)
Variables (0)
This section is empty.
Procedures (24)
- Compile
- Compile2
- CompileFromFile
- CompressShaders
- CreateBlob
- CreateLinker
- DecompressShaders
- Disassemble
- Disassemble10Effect
- DisassembleRegion
- GetBlobPart
- GetDebugInfo
- GetInputAndOutputSignatureBlob
- GetInputSignatureBlob
- GetOutputSignatureBlob
- GetTraceInstructionOffsets
- LoadModule
- Preprocess
- ReadFileToBlob
- Reflect
- ReflectLibrary
- SetBlobPart
- StripShader
- WriteBlobToFile
Procedure Groups (0)
This section is empty.
Types
BLOB_PART ¶
BLOB_PART :: enum i32 { INPUT_SIGNATURE_BLOB = 0, OUTPUT_SIGNATURE_BLOB = 1, INPUT_AND_OUTPUT_SIGNATURE_BLOB = 2, PATCH_CONSTANT_SIGNATURE_BLOB = 3, ALL_SIGNATURE_BLOB = 4, DEBUG_INFO = 5, LEGACY_SHADER = 6, XNA_PREPASS_SHADER = 7, XNA_SHADER = 8, PDB = 9, PRIVATE_DATA = 10, ROOT_SIGNATURE = 11, DEBUG_NAME = 12, TEST_ALTERNATE_SHADER = 32768, TEST_COMPILE_DETAILS = 32769, TEST_COMPILE_PERF = 32770, TEST_COMPILE_REPORT = 32771, }
Related Procedures With Parameters
D3DCOMPILE ¶
D3DCOMPILE :: distinct bit_set[D3DCOMPILE_FLAG; u32]
External examples directx/d3d12_triangle_sdl2
Related Constants
D3DCOMPILER_STRIP_FLAG ¶
D3DCOMPILER_STRIP_FLAG :: enum u32 { REFLECTION_DATA = 0, DEBUG_INFO = 1, TEST_BLOBS = 2, PRIVATE_DATA = 3, ROOT_SIGNATURE = 4, }
D3DCOMPILER_STRIP_FLAGS ¶
D3DCOMPILER_STRIP_FLAGS :: distinct bit_set[D3DCOMPILER_STRIP_FLAG; u32]
D3DCOMPILE_FLAG ¶
D3DCOMPILE_FLAG :: enum u32 { DEBUG = 0, SKIP_VALIDATION = 1, SKIP_OPTIMIZATION = 2, PACK_MATRIX_ROW_MAJOR = 3, PACK_MATRIX_COLUMN_MAJOR = 4, PARTIAL_PRECISION = 5, FORCE_VS_SOFTWARE_NO_OPT = 6, FORCE_PS_SOFTWARE_NO_OPT = 7, NO_PRESHADER = 8, AVOID_FLOW_CONTROL = 9, PREFER_FLOW_CONTROL = 10, ENABLE_STRICTNESS = 11, ENABLE_BACKWARDS_COMPATIBILITY = 12, IEEE_STRICTNESS = 13, OPTIMIZATION_LEVEL0 = 14, OPTIMIZATION_LEVEL3 = 15, RESERVED16 = 16, RESERVED17 = 17, WARNINGS_ARE_ERRORS = 18, RESOURCES_MAY_ALIAS = 19, ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 20, ALL_RESOURCES_BOUND = 21, DEBUG_NAME_FOR_SOURCE = 22, DEBUG_NAME_FOR_BINARY = 23, }
EFFECT ¶
EFFECT :: distinct bit_set[EFFECT_FLAG; u32]
EFFECT_FLAG ¶
EFFECT_FLAG :: enum u32 { CHILD_EFFECT = 0, ALLOW_SLOW_OPS = 1, }
FLAGS2 ¶
FLAGS2 :: enum u32 { FORCE_ROOT_SIGNATURE_LATEST = 0, FORCE_ROOT_SIGNATURE_1_0 = 1 << 4, FORCE_ROOT_SIGNATURE_1_1 = 1 << 5, }
HRESULT ¶
HRESULT :: sys_windows.HRESULT
Related Procedures With Returns
- Compile
- Compile2
- CompileFromFile
- CompressShaders
- CreateBlob
- CreateLinker
- DecompressShaders
- Disassemble
- Disassemble10Effect
- DisassembleRegion
- GetBlobPart
- GetDebugInfo
- GetInputAndOutputSignatureBlob
- GetInputSignatureBlob
- GetOutputSignatureBlob
- GetTraceInstructionOffsets
- LoadModule
- Preprocess
- ReadFileToBlob
- Reflect
- ReflectLibrary
- SetBlobPart
- StripShader
- WriteBlobToFile
ID3D10Effect ¶
ID3D10Effect :: struct {}
ID3D11Linker ¶
ID3D11Linker :: struct #raw_union { iunknown: sys_windows.IUnknown, using id3d11linker_vtable: ^ID3D11Linker_VTable, }
Fields Through using (6)
using (6)From using id3d11linker_vtable: ^ID3D11Linker_VTable
- QueryInterface: proc "stdcall" (This: ^sys_windows.IUnknown, riid: ^sys_windows.GUID, ppvObject: ^rawptr) -> sys_windows.HRESULT // through iunknown_vtable
- AddRef: proc "stdcall" (This: ^sys_windows.IUnknown) -> u32 // through iunknown_vtable
- Release: proc "stdcall" (This: ^sys_windows.IUnknown) -> u32 // through iunknown_vtable
- Link: proc "stdcall" (this: ^ID3D11Linker, pEntry: ^directx_d3d11.IModuleInstance, pEntryName: cstring, pTargetName: cstring, uFlags: u32, ppShaderBlob: ^^d3d_common.ID3D10Blob, ppErrorBuffer: ^^d3d_common.ID3D10Blob) -> sys_windows.HRESULT
- UseLibrary: proc "stdcall" (this: ^ID3D11Linker, pLibraryMI: ^directx_d3d11.IModuleInstance) -> sys_windows.HRESULT
- AddClipPlaneFromCBuffer: proc "stdcall" (this: ^ID3D11Linker, uCBufferSlot: u32, uCBufferEntry: u32) -> sys_windows.HRESULT
ID3D11Linker_VTable ¶
ID3D11Linker_VTable :: struct { using iunknown_vtable: sys_windows.IUnknown_VTable, Link: proc "stdcall" (this: ^ID3D11Linker, pEntry: ^directx_d3d11.IModuleInstance, pEntryName: cstring, pTargetName: cstring, uFlags: u32, ppShaderBlob: ^^d3d_common.ID3D10Blob, ppErrorBuffer: ^^d3d_common.ID3D10Blob) -> sys_windows.HRESULT, UseLibrary: proc "stdcall" (this: ^ID3D11Linker, pLibraryMI: ^directx_d3d11.IModuleInstance) -> sys_windows.HRESULT, AddClipPlaneFromCBuffer: proc "stdcall" (this: ^ID3D11Linker, uCBufferSlot: u32, uCBufferEntry: u32) -> sys_windows.HRESULT, }
Fields Through using (3)
using (3)From using iunknown_vtable: sys_windows.IUnknown_VTable
ID3DBlob ¶
ID3DBlob :: d3d_common.ID3D10Blob
Fields Through using (5)
using (5)From using id3d10blob_vtable: ^d3d_common.ID3D10Blob_VTable
- QueryInterface: proc "stdcall" (This: ^sys_windows.IUnknown, riid: ^sys_windows.GUID, ppvObject: ^rawptr) -> sys_windows.HRESULT // through iunknown_vtable
- AddRef: proc "stdcall" (This: ^sys_windows.IUnknown) -> u32 // through iunknown_vtable
- Release: proc "stdcall" (This: ^sys_windows.IUnknown) -> u32 // through iunknown_vtable
- GetBufferPointer: proc "stdcall" (this: ^d3d_common.ID3D10Blob) -> rawptr
- GetBufferSize: proc "stdcall" (this: ^d3d_common.ID3D10Blob) -> uint
ID3DInclude ¶
ID3DInclude :: struct { vtable: ^ID3DInclude_VTable, }
Related Procedures With Parameters
ID3DInclude_VTable ¶
ID3DInclude_VTable :: struct { Open: proc "stdcall" (this: ^ID3DInclude, IncludeType: INCLUDE_TYPE, pFileName: cstring, pParentData: rawptr, ppData: ^rawptr, pBytes: ^u32) -> sys_windows.HRESULT, Close: proc "stdcall" (this: ^ID3DInclude, pData: rawptr) -> sys_windows.HRESULT, }
INCLUDE_TYPE ¶
INCLUDE_TYPE :: enum i32 { INCLUDE_LOCAL = 0, INCLUDE_SYSTEM = 1, _10_INCLUDE_LOCAL = 0, _10_INCLUDE_SYSTEM = 1, }
IUnknown ¶
IUnknown :: sys_windows.IUnknown
Fields Through using (3)
using (3)From using _iunknown_vtable: ^sys_windows.IUnknown_VTable
IUnknown_VTable ¶
IUnknown_VTable :: sys_windows.IUnknown_VTable
SECDATA ¶
SECDATA :: distinct bit_set[SECDATA_FLAG; u32]
SECDATA_FLAG ¶
SECDATA_FLAG :: enum u32 { MERGE_UAV_SLOTS = 0, PRESERVE_TEMPLATE_SLOTS = 1, REQUIRE_TEMPLATE_MATCH = 2, }
SHADER_MACRO ¶
Related Procedures With Parameters
pD3DCompile ¶
pD3DCompile :: proc "c" (a0: rawptr, a1: uint, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: cstring, a6: cstring, a7: u32, a8: u32, a9: ^^d3d_common.ID3D10Blob, a10: ^^d3d_common.ID3D10Blob) -> sys_windows.HRESULT
pD3DPreprocess ¶
pD3DPreprocess :: proc "c" (a0: rawptr, a1: uint, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: ^^d3d_common.ID3D10Blob, a6: ^^d3d_common.ID3D10Blob) -> sys_windows.HRESULT
Constants
COMPILER_VERSION ¶
COMPILER_VERSION :: 47
COMPRESS_SHADER_KEEP_ALL_PARTS ¶
COMPRESS_SHADER_KEEP_ALL_PARTS :: 0x00000001
D3DCOMPILER_DLL_A ¶
D3DCOMPILER_DLL_A :: "d3dcompiler_47.dll"
D3DCOMPILE_OPTIMIZATION_LEVEL0 ¶
D3DCOMPILE_OPTIMIZATION_LEVEL0 :: D3DCOMPILE{.OPTIMIZATION_LEVEL0}
D3DCOMPILE_OPTIMIZATION_LEVEL1 ¶
D3DCOMPILE_OPTIMIZATION_LEVEL1 :: D3DCOMPILE{}
D3DCOMPILE_OPTIMIZATION_LEVEL2 ¶
D3DCOMPILE_OPTIMIZATION_LEVEL2 :: D3DCOMPILE{.IEEE_STRICTNESS, .OPTIMIZATION_LEVEL3}
D3DCOMPILE_OPTIMIZATION_LEVEL3 ¶
D3DCOMPILE_OPTIMIZATION_LEVEL3 :: D3DCOMPILE{.OPTIMIZATION_LEVEL3}
D3DCOMPILE_STANDARD_FILE_INCLUDE ¶
D3DCOMPILE_STANDARD_FILE_INCLUDE: ^ID3DInclude : (^ID3DInclude)(uintptr(1))
Default file includer
DISASM_DISABLE_DEBUG_INFO ¶
DISASM_DISABLE_DEBUG_INFO :: 0x00000010
DISASM_ENABLE_COLOR_CODE ¶
DISASM_ENABLE_COLOR_CODE :: 0x00000001
DISASM_ENABLE_DEFAULT_VALUE_PRINTS ¶
DISASM_ENABLE_DEFAULT_VALUE_PRINTS :: 0x00000002
DISASM_ENABLE_INSTRUCTION_CYCLE ¶
DISASM_ENABLE_INSTRUCTION_CYCLE :: 0x00000008
DISASM_ENABLE_INSTRUCTION_NUMBERING ¶
DISASM_ENABLE_INSTRUCTION_NUMBERING :: 0x00000004
DISASM_ENABLE_INSTRUCTION_OFFSET ¶
DISASM_ENABLE_INSTRUCTION_OFFSET :: 0x00000020
DISASM_INSTRUCTION_ONLY ¶
DISASM_INSTRUCTION_ONLY :: 0x00000040
DISASM_PRINT_HEX_LITERALS ¶
DISASM_PRINT_HEX_LITERALS :: 0x00000080
GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE ¶
GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE :: 0x00000001
Variables
This section is empty.
Procedures
Compile ¶C · D3DCompileSource · d3d_compiler.odin:30
Compile :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, ppCode: ^^d3d_common.ID3D10Blob, ppErrorMsgs: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
External examples directx/d3d11_minimal_sdl2 · directx/d3d11_minimal_sdl3 · directx/d3d12_triangle_sdl2
Compile2 ¶C · D3DCompile2Source · d3d_compiler.odin:31
Compile2 :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, SecondaryDataFlags: u32, pSecondaryData: rawptr, SecondaryDataSize: uint, ppCode: ^^d3d_common.ID3D10Blob, ppErrorMsgs: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
CompileFromFile ¶C · D3DCompileFromFileSource · d3d_compiler.odin:32
CompileFromFile :: proc "stdcall" ( pFileName: cstring16, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, ppCode: ^^d3d_common.ID3D10Blob, ppErrorMsgs: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
CompressShaders ¶C · D3DCompressShadersSource · d3d_compiler.odin:49
CompressShaders :: proc "stdcall" ( uNumShaders: u32, pShaderData: ^SHADER_DATA, uFlags: u32, ppCompressedData: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
CreateBlob ¶C · D3DCreateBlobSource · d3d_compiler.odin:48
CreateBlob :: proc "stdcall" ( Size: uint, ppBlob: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
CreateLinker ¶C · D3DCreateLinkerSource · d3d_compiler.odin:39
CreateLinker :: proc "stdcall" (ppLinker: ^^ID3D11Linker) -> sys_windows.HRESULT ---
DecompressShaders ¶C · D3DDecompressShadersSource · d3d_compiler.odin:50
Disassemble ¶C · D3DDisassembleSource · d3d_compiler.odin:37
Disassemble10Effect ¶C · D3DDisassemble10EffectSource · d3d_compiler.odin:51
Disassemble10Effect :: proc "stdcall" ( pEffect: ^ID3D10Effect, Flags: u32, ppDisassembly: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
DisassembleRegion ¶C · D3DDisassembleRegionSource · d3d_compiler.odin:38
GetBlobPart ¶C · D3DGetBlobPartSource · d3d_compiler.odin:46
GetDebugInfo ¶C · D3DGetDebugInfoSource · d3d_compiler.odin:34
GetDebugInfo :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, ppDebugInfo: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
GetInputAndOutputSignatureBlob ¶C · D3DGetInputAndOutputSignatureBlobSource · d3d_compiler.odin:44
GetInputAndOutputSignatureBlob :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
GetInputSignatureBlob ¶C · D3DGetInputSignatureBlobSource · d3d_compiler.odin:42
GetInputSignatureBlob :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
GetOutputSignatureBlob ¶C · D3DGetOutputSignatureBlobSource · d3d_compiler.odin:43
GetOutputSignatureBlob :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
GetTraceInstructionOffsets ¶C · D3DGetTraceInstructionOffsetsSource · d3d_compiler.odin:41
LoadModule ¶C · D3DLoadModuleSource · d3d_compiler.odin:40
Preprocess ¶C · D3DPreprocessSource · d3d_compiler.odin:33
Preprocess :: proc "stdcall" ( pSrcData: rawptr, SrcDataSize: uint, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, ppCodeText: ^^d3d_common.ID3D10Blob, ppErrorMsgs: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
ReadFileToBlob ¶C · D3DReadFileToBlobSource · d3d_compiler.odin:28
ReadFileToBlob :: proc "stdcall" ( pFileName: cstring16, ppContents: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
Reflect ¶C · D3DReflectSource · d3d_compiler.odin:35
ReflectLibrary ¶C · D3DReflectLibrarySource · d3d_compiler.odin:36
SetBlobPart ¶C · D3DSetBlobPartSource · d3d_compiler.odin:47
StripShader ¶C · D3DStripShaderSource · d3d_compiler.odin:45
StripShader :: proc "stdcall" ( pShaderBytecode: rawptr, BytecodeLength: uint, uStripFlags: u32, ppStrippedBlob: ^^d3d_common.ID3D10Blob, ) -> sys_windows.HRESULT ---
WriteBlobToFile ¶C · D3DWriteBlobToFileSource · d3d_compiler.odin:29
WriteBlobToFile :: proc "stdcall" ( pBlob: ^d3d_common.ID3D10Blob, pFileName: cstring16, bOverwrite: sys_windows.BOOL, ) -> sys_windows.HRESULT ---
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-21 23:51:49.279618400 +0000 UTC