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