Files
XCEngine/docs/api/XCEngine/RHI/D3D12/D3D12Shader/GetD3D12Bytecode.md

964 B

D3D12Shader::GetD3D12Bytecode

const D3D12_SHADER_BYTECODE GetD3D12Bytecode() const;

作用

返回可以直接提交给 D3D12 PSO 创建接口的 D3D12_SHADER_BYTECODE 结构。

当前实现行为

  • 如果 m_bytecode 有效:
    • pShaderBytecode = m_bytecode->GetBufferPointer()
    • BytecodeLength = m_bytecode->GetBufferSize()
  • 如果无效,返回零初始化结构

使用场景

这是 D3D12PipelineState 和 D3D12 集成样例最重要的接口之一,因为 CreateGraphicsPipelineState(...) / CreateComputePipelineState(...) 直接需要它。

注意事项

返回的是一个按值复制的结构体,但里面的指针仍然指向当前对象持有的 blob 内存。调用方必须保证 shader 对象在 PSO 使用该字节码期间仍然有效。

相关文档