Поделиться через


Функция 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

См. также раздел

Функции шейдеров