D3DDisassembleRegion 函数 (d3dcompiler.h)
反汇编编译的 Microsoft 高级着色器语言的特定区域 (HLSL) 代码。
语法
HRESULT D3DDisassembleRegion(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in] UINT Flags,
[in, optional] LPCSTR szComments,
[in] SIZE_T StartByteOffset,
[in] SIZE_T NumInsts,
[out, optional] SIZE_T *pFinishByteOffset,
[out] ID3DBlob **ppDisassembly
);
参数
[in] pSrcData
指向已编译着色器数据的指针。
[in] SrcDataSize
pSrcData 指向的内存块的大小(以字节为单位)。
[in] Flags
使用按位 OR 运算组合的以下标志的零个或多个组合。 生成的值指定 D3DDisassembleRegion 如何反汇编已编译的着色器数据。
标志 | 描述 |
---|---|
D3D_DISASM_ENABLE_COLOR_CODE (0x01) | 启用颜色代码的输出。 |
D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02) | 启用默认值的输出。 |
D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04) | 启用指令编号。 |
D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08) | 无效。 |
D3D_DISASM_DISABLE_DEBUG_INFO (0x10) | 禁用调试信息的输出。 |
D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20) | 启用指令偏移量的输出。 |
D3D_DISASM_INSTRUCTION_ONLY (0x40) | 此标志在 D3DDisassembleRegion 中不起作用。 循环信息来自跟踪;因此,循环信息仅在 D3DDisassemble11Trace 的跟踪反汇编中可用。 |
[in, optional] szComments
指向着色器顶部的以 null 结尾的常量字符串的指针,该字符串标识着色器常量和变量。
[in] StartByteOffset
D3DDisassembleRegion 在其中启动反汇编的编译着色器数据的偏移字节数。
[in] NumInsts
要反汇编的指令数。
[out, optional] pFinishByteOffset
指向变量的指针,该变量接收编译的着色器数据中的字节偏移量, 其中 D3DDisassembleRegion 完成反汇编。
[out] ppDisassembly
指向接收访问反汇编的 HLSL 代码 的 ID3DBlob 接口的缓冲区的指针。
返回值
注解
注意 D3dcompiler_44.dll 或更高版本的文件包含 D3DDisassembleRegion 编译器函数。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3dcompiler.h |
Library | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |