d3d_compiler module

D3DCompile

procedureforeign2 overloadsSource
D3DCompile :: (
    pSrcData: *void,
    SrcDataSize: SIZE_T,
    pSourceName: *u8,
    pDefines: *D3D_SHADER_MACRO,
    pInclude: *ID3DInclude,
    pEntrypoint: *u8,
    pTarget: *u8,
    Flags1: u32,
    Flags2: u32,
    ppCode: **ID3DBlob,
    ppErrorMsgs: **ID3DBlob
) -> HRESULT #foreign

Parameters

pSrcData: *void
SrcDataSize: SIZE_T
pSourceName: *u8
pDefines: *D3D_SHADER_MACRO
pInclude: *ID3DInclude
pEntrypoint: *u8
pTarget: *u8
Flags1: u32
Flags2: u32
ppCode: **ID3DBlob
ppErrorMsgs: **ID3DBlob

Returns

HRESULT
D3DCompile :: (
    shader: string,
    source_name: string,
    pDefines: [] string,
    pInclude: *ID3DInclude,
    entry_point: string,
    target: string,
    Flags1: u32,
    Flags2: u32
) -> (bytecode: string, errors: string, HRESULT)

Reviewed string overloads deliberately ignore define slices. Native blob ownership differs between the copied-memory and direct file interfaces.

Parameters

shader: string
source_name: string
pDefines: [] string
pInclude: *ID3DInclude
entry_point: string
target: string
Flags1: u32
Flags2: u32

Returns

bytecode: string
errors: string
HRESULT

See also