package vendor:directx/d3d_compiler

⌘K
Ctrl+K
or
/

    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

    BOOL ¶

    BOOL :: sys_windows.BOOL

    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    = 16, 
    	FORCE_ROOT_SIGNATURE_1_1    = 32, 
    }

    HRESULT ¶

    HRESULT :: sys_windows.HRESULT

    ID3D10Blob ¶

    ID3D10Blob :: struct #raw_union {
    	iunknown:          sys_windows.IUnknown,
    	using id3d10blob_vtable: ^ID3D10Blob_VTable,
    }
    Related Procedures With Parameters

    ID3D10Blob_VTable ¶

    ID3D10Blob_VTable :: struct {
    	using iunknown_vtable: sys_windows.IUnknown_VTable,
    	GetBufferPointer: proc "stdcall" (this: ^ID3D10Blob) -> rawptr,
    	GetBufferSize:    proc "stdcall" (this: ^ID3D10Blob) -> uint,
    }

    ID3D10Effect ¶

    ID3D10Effect :: struct {}
    Related Procedures With Parameters

    ID3D11Linker ¶

    ID3D11Linker :: struct #raw_union {
    	iunknown:            sys_windows.IUnknown,
    	using id3d11linker_vtable: ^ID3D11Linker_VTable,
    }

    ID3D11Linker_VTable ¶

    ID3D11Linker_VTable :: struct {
    	using iunknown_vtable:   sys_windows.IUnknown_VTable,
    	Link:                    proc "stdcall" (this: ^ID3D11Linker, pEntry: ^ID3D11ModuleInstance, pEntryName: cstring, pTargetName: cstring, uFlags: u32, ppShaderBlob: ^^ID3D10Blob, ppErrorBuffer: ^^ID3D10Blob) -> sys_windows.HRESULT,
    	UseLibrary:              proc "stdcall" (this: ^ID3D11Linker, pLibraryMI: ^ID3D11ModuleInstance) -> sys_windows.HRESULT,
    	AddClipPlaneFromCBuffer: proc "stdcall" (this: ^ID3D11Linker, uCBufferSlot: u32, uCBufferEntry: u32) -> sys_windows.HRESULT,
    }

    ID3D11Module ¶

    ID3D11Module :: struct #raw_union {
    	iunknown:            sys_windows.IUnknown,
    	using id3d11module_vtable: ^ID3D11Module_VTable,
    }

    ID3D11ModuleInstance ¶

    ID3D11ModuleInstance :: struct #raw_union {
    	iunknown:                    sys_windows.IUnknown,
    	using id3d11moduleinstance_vtable: ^ID3D11ModuleInstance_VTable,
    }

    ID3D11ModuleInstance_VTable ¶

    ID3D11ModuleInstance_VTable :: struct {
    	using iunknown_vtable:                   sys_windows.IUnknown_VTable,
    	BindConstantBuffer:                      proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, cbDstOffset: u32) -> sys_windows.HRESULT,
    	BindConstantBufferByName:                proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, cbDstOffset: u32) -> sys_windows.HRESULT,
    	BindResource:                            proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindResourceByName:                      proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindSampler:                             proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindSamplerByName:                       proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindUnorderedAccessView:                 proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindUnorderedAccessViewByName:           proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindResourceAsUnorderedAccessView:       proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSrvSlot: u32, uDstUavSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    	BindResourceAsUnorderedAccessViewByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pSrvName: cstring, uDstUavSlot: u32, uCount: u32) -> sys_windows.HRESULT,
    }

    ID3D11Module_VTable ¶

    ID3D11Module_VTable :: struct {
    	using iunknown_vtable: sys_windows.IUnknown_VTable,
    	CreateInstance:  proc "stdcall" (this: ^ID3D11Module, pNamespace: cstring, ppModuleInstance: ^^ID3D11ModuleInstance) -> sys_windows.HRESULT,
    }

    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,
    }

    IID ¶

    IID :: sys_windows.GUID

    INCLUDE_TYPE ¶

    INCLUDE_TYPE :: enum i32 {
    	INCLUDE_LOCAL       = 0, 
    	INCLUDE_SYSTEM      = 1, 
    	_10_INCLUDE_LOCAL   = 0, 
    	_10_INCLUDE_SYSTEM  = 1, 
    	INCLUDE_FORCE_DWORD = 2147483647, 
    }

    IUnknown ¶

    IUnknown :: sys_windows.IUnknown

    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_DATA ¶

    SHADER_DATA :: struct {
    	pBytecode:      rawptr,
    	BytecodeLength: uint,
    }
    Related Procedures With Parameters

    SHADER_MACRO ¶

    SHADER_MACRO :: struct {
    	Name:       cstring,
    	Definition: cstring,
    }
    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: ^^ID3D10Blob, a10: ^^ID3D10Blob) -> sys_windows.HRESULT

    pD3DDisassemble ¶

    pD3DDisassemble :: proc "c" (a0: rawptr, a1: uint, a2: u32, a3: cstring, a4: ^^ID3D10Blob) -> sys_windows.HRESULT

    pD3DPreprocess ¶

    pD3DPreprocess :: proc "c" (a0: rawptr, a1: uint, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: ^^ID3D10Blob, a6: ^^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

    ID3D10Blob_UUID_STRING ¶

    ID3D10Blob_UUID_STRING :: "8BA5FB08-5195-40E2-AC58-0D989C3A0102"

    Variables

    ID3D10Blob_UUID ¶

    ID3D10Blob_UUID: ^sys_windows.GUID = …

    Procedures

    Compile ¶

    Compile :: proc "stdcall" (
    	pSrcData:    rawptr, 
    	SrcDataSize: uint, 
    	pSourceName: cstring, 
    	pDefines:    ^SHADER_MACRO, 
    	pInclude:    ^ID3DInclude, 
    	pEntrypoint: cstring, 
    	pTarget:     cstring, 
    	Flags1:      u32, 
    	Flags2:      u32, 
    	ppCode:      ^^ID3D10Blob, 
    	ppErrorMsgs: ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    Compile2 ¶

    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:             ^^ID3D10Blob, 
    	ppErrorMsgs:        ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    CompileFromFile ¶

    CompileFromFile :: proc "stdcall" (
    	pFileName:   [^]u16, 
    	pDefines:    ^SHADER_MACRO, 
    	pInclude:    ^ID3DInclude, 
    	pEntrypoint: cstring, 
    	pTarget:     cstring, 
    	Flags1:      u32, 
    	Flags2:      u32, 
    	ppCode:      ^^ID3D10Blob, 
    	ppErrorMsgs: ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    CompressShaders ¶

    CompressShaders :: proc "stdcall" (uNumShaders: u32, pShaderData: ^SHADER_DATA, uFlags: u32, ppCompressedData: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    CreateBlob ¶

    CreateBlob :: proc "stdcall" (Size: uint, ppBlob: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    CreateLinker ¶

    CreateLinker :: proc "stdcall" (ppLinker: ^^ID3D11Linker) -> sys_windows.HRESULT ---

    DecompressShaders ¶

    DecompressShaders :: proc "stdcall" (
    	pSrcData:      rawptr, 
    	SrcDataSize:   uint, 
    	uNumShaders:   u32, 
    	uStartIndex:   u32, 
    	pIndices:      ^u32, 
    	uFlags:        u32, 
    	ppShaders:     ^^ID3D10Blob, 
    	pTotalShaders: ^u32, 
    ) -> sys_windows.HRESULT ---

    Disassemble ¶

    Disassemble :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, Flags: u32, szComments: cstring, ppDisassembly: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    Disassemble10Effect ¶

    Disassemble10Effect :: proc "stdcall" (pEffect: ^ID3D10Effect, Flags: u32, ppDisassembly: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    DisassembleRegion ¶

    DisassembleRegion :: proc "stdcall" (
    	pSrcData:          rawptr, 
    	SrcDataSize:       uint, 
    	Flags:             u32, 
    	szComments:        cstring, 
    	StartByteOffset:   uint, 
    	NumInsts:          uint, 
    	pFinishByteOffset: ^uint, 
    	ppDisassembly:     ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    GetBlobPart ¶

    GetBlobPart :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, Part: BLOB_PART, Flags: u32, ppPart: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    GetDebugInfo ¶

    GetDebugInfo :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, ppDebugInfo: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    GetInputAndOutputSignatureBlob ¶

    GetInputAndOutputSignatureBlob :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    GetInputSignatureBlob ¶

    GetInputSignatureBlob :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    GetOutputSignatureBlob ¶

    GetOutputSignatureBlob :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, ppSignatureBlob: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    GetTraceInstructionOffsets ¶

    GetTraceInstructionOffsets :: proc "stdcall" (
    	pSrcData:       rawptr, 
    	SrcDataSize:    uint, 
    	Flags:          u32, 
    	StartInstIndex: uint, 
    	NumInsts:       uint, 
    	pOffsets:       ^uint, 
    	pTotalInsts:    ^uint, 
    ) -> sys_windows.HRESULT ---

    LoadModule ¶

    LoadModule :: proc "stdcall" (pSrcData: rawptr, cbSrcDataSize: uint, ppModule: ^^ID3D11Module) -> sys_windows.HRESULT ---

    Preprocess ¶

    Preprocess :: proc "stdcall" (
    	pSrcData:    rawptr, 
    	SrcDataSize: uint, 
    	pSourceName: cstring, 
    	pDefines:    ^SHADER_MACRO, 
    	pInclude:    ^ID3DInclude, 
    	ppCodeText:  ^^ID3D10Blob, 
    	ppErrorMsgs: ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    ReadFileToBlob ¶

    ReadFileToBlob :: proc "stdcall" (pFileName: [^]u16, ppContents: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    Reflect ¶

    Reflect :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, pInterface: ^sys_windows.GUID, ppReflector: ^rawptr) -> sys_windows.HRESULT ---

    ReflectLibrary ¶

    ReflectLibrary :: proc "stdcall" (pSrcData: rawptr, SrcDataSize: uint, riid: ^sys_windows.GUID, ppReflector: ^rawptr) -> sys_windows.HRESULT ---

    SetBlobPart ¶

    SetBlobPart :: proc "stdcall" (
    	pSrcData:    rawptr, 
    	SrcDataSize: uint, 
    	Part:        BLOB_PART, 
    	Flags:       u32, 
    	pPart:       rawptr, 
    	PartSize:    uint, 
    	ppNewShader: ^^ID3D10Blob, 
    ) -> sys_windows.HRESULT ---

    StripShader ¶

    StripShader :: proc "stdcall" (pShaderBytecode: rawptr, BytecodeLength: uint, uStripFlags: u32, ppStrippedBlob: ^^ID3D10Blob) -> sys_windows.HRESULT ---

    WriteBlobToFile ¶

    WriteBlobToFile :: proc "stdcall" (pBlob: ^ID3D10Blob, pFileName: [^]u16, bOverwrite: sys_windows.BOOL) -> sys_windows.HRESULT ---

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2024-11 (vendor "odin") Windows_amd64 @ 2024-11-20 21:11:52.038550000 +0000 UTC