package vendor:directx/d3d_compiler

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

BOOL ¶

BOOL :: sys_windows.BOOL

D3DCOMPILE ¶

D3DCOMPILE :: distinct bit_set[D3DCOMPILE_FLAG; u32]

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:          directx_dxgi.IUnknown,
	id3d10blob_vtable: ^ID3D10Blob_VTable,
}

ID3D10Blob_VTable ¶

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

ID3D10Effect ¶

ID3D10Effect :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

ID3D11Linker ¶

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

ID3D11Linker_VTable ¶

ID3D11Linker_VTable :: struct {
	iunknown_vtable:         directx_dxgi.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:            directx_dxgi.IUnknown,
	id3d11module_vtable: ^ID3D11Module_VTable,
}

ID3D11ModuleInstance ¶

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

ID3D11ModuleInstance_VTable ¶

ID3D11ModuleInstance_VTable :: struct {
	iunknown_vtable:                         directx_dxgi.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 {
	iunknown_vtable: directx_dxgi.IUnknown_VTable,
	CreateInstance:  proc "stdcall" (this: ^ID3D11Module, pNamespace: cstring, ppModuleInstance: ^^ID3D11ModuleInstance) -> sys_windows.HRESULT,
}

ID3DInclude ¶

ID3DInclude :: struct {
	vtable: ^ID3DInclude_VTable,
}

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 :: directx_dxgi.IUnknown

IUnknown_VTable ¶

IUnknown_VTable :: directx_dxgi.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,
}

SHADER_MACRO ¶

SHADER_MACRO :: struct {
	Name:       cstring,
	Definition: cstring,
}

SIZE_T ¶

SIZE_T :: uint

pD3DCompile ¶

pD3DCompile :: proc "cdecl" (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 "cdecl" (a0: rawptr, a1: uint, a2: u32, a3: cstring, a4: ^^ID3D10Blob) -> sys_windows.HRESULT

pD3DPreprocess ¶

pD3DPreprocess :: proc "cdecl" (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}

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-2023-03 (vendor "odin") Windows_amd64 @ 2023-03-29 21:09:05.612514100 +0000 UTC