Функция D3DDisassemble11Trace (d3d11shadertracing.h)
Дизассемблирует раздел скомпилированного кода HLSL( HLSL), скомпилированного с помощью шагов трассировки шейдера.
Синтаксис
HRESULT D3DDisassemble11Trace(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in] ID3D11ShaderTrace *pTrace,
[in] UINT StartStep,
[in] UINT NumSteps,
[in] UINT Flags,
[out] ID3D10Blob **ppDisassembly
);
Параметры
[in] pSrcData
Тип: LPCVOID
Указатель на скомпилированные данные шейдера.
[in] SrcDataSize
Тип: SIZE_T
Размер (в байтах) блока памяти, на который указывает pSrcData.
[in] pTrace
Тип: ID3D11ShaderTrace*
Указатель на интерфейс ID3D11ShaderTrace для объекта сведений трассировки шейдера.
[in] StartStep
Тип: UINT
Номер шага в трассировке, с которого D3DDisassemble11Trace начинает дизассемблированный объект.
[in] NumSteps
Тип: UINT
Количество шагов трассировки для диассемблировки.
[in] Flags
Тип: UINT
Сочетание нулевых или нескольких следующих флагов, объединенных с помощью побитовой операции ИЛИ. Полученное значение указывает, как D3DDisassemble11Trace дизассемблирует скомпилированные данные шейдера.
Flag | Описание |
---|---|
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) |
Включите выходные данные цикла инструкций для каждого шага в D3DDisassemble11Trace. Этот флаг аналогичен флагам D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING и D3D_DISASM_ENABLE_INSTRUCTION_OFFSET.
Этот флаг не действует в функции D3DDisassembleRegion. Сведения о цикле поступают из трассировки; Таким образом, сведения о цикле доступны только в дизассемблированном объекте трассировки. |
[out] ppDisassembly
Тип: ID3D10Blob**
Указатель на буфер, получающий интерфейс ID3DBlob, который обращается к дизассемблированному коду HLSL.
Возвращаемое значение
Тип: HRESULT
Этот метод возвращает код ошибки HRESULT.
Комментарии
D3DDisassemble11Trace выполняет шаги трассировки шейдера и выводит соответствующие дизассемблированные данные для каждого шага, основанного на индексе инструкций шага. Дизассемблированный объект примечается с помощью сведений о регистровом значении из трассировки. Поведение D3DDisassemble11Trace отличается от D3DDisassemble тем, что вместо статического дизассемблирования скомпилированного шейдера, выполняемого D3DDisassemble11Trace, предоставляет трассировку выполнения, основанную на данных трассировки шейдера.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | d3d11shadertracing.h |
DLL | D3D11SDKLayers.dll; D3D11_1SDKLayers.dll; D3D11_2SDKLayers.dll |