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


структура D3D11DDIARG_TESSELLATION_IO_SIGNATURES (d3d10umddi.h)

Структура D3D11DDIARG_TESSELLATION_IO_SIGNATURES описывает подпись ввода-вывода тесселяции.

Синтаксис

typedef struct D3D11DDIARG_TESSELLATION_IO_SIGNATURES {
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pInputSignature;
  [in] UINT                        NumInputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pOutputSignature;
  [in] UINT                        NumOutputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pPatchConstantSignature;
  [in] UINT                        NumPatchConstantSignatureEntries;
} D3D11DDIARG_TESSELLATION_IO_SIGNATURES;

Члены

[in] pInputSignature

Массив структур D3D10DDIARG_SIGNATURE_ENTRY для входной части сигнатуры.

[in] NumInputSignatureEntries

Число записей в массиве, указываемое элементом pInputSignature.

[in] pOutputSignature

Массив структур D3D10DDIARG_SIGNATURE_ENTRY для выходной части сигнатуры.

[in] NumOutputSignatureEntries

Количество записей в массиве, указанное элементом pOutputSignature.

[in] pPatchConstantSignature

Массив структур D3D10DDIARG_SIGNATURE_ENTRY для исправлений подписи.

[in] NumPatchConstantSignatureEntries

Число записей в массиве, указанное элементом pPatchConstantSignature.

Замечания

Подпись в основном является объединением всех регистров, которые являются входными и выходными данными любого шейдера, который использует сигнатуру. Таким образом, подпись может быть супермножеством того, что заданный шейдер может фактически вводить или выводить.

Оборудование должно определить, что вышестоящий этап в конвейере может предоставить некоторые или все данные в сигнатуре, которая находится в виде pInputSignature и NumInputSignatureEntries членов. Аналогичным образом оборудование должно определить, что подчиненный этап в конвейере может использовать некоторые или все данные в сигнатуре, которая находится в виде pOutputSignature и NumInputSignatureEntries членов.

Чтобы соответствовать требованию для регистров входных и выходных данных события, которые будут переупорядочены во время компиляции шейдера, полная подпись передается драйверу. Такое изменение порядка может зависеть от того, как драйвер может определить все регистры в сигнатуре, а также имена системных регистров (например, имена, которые указывает SystemValue член структуры D3D10DDIARG_SIGNATURE_ENTRY). Такая переупорядочение может также зависеть от того, что драйвер может определить регистры, которые отсутствуют в текущем шейдере.

Объявления в самом коде шейдера также показывают, какие регистры фактически используются определенным шейдером. Эти регистры могут быть подмножеством входных и выходных частей подписи. Если некоторое оборудование не требуется для переупорядочения входных и выходных регистров во время компиляции, драйвер для этого оборудования может полностью игнорировать полную подпись, которую предоставляет структура D3D11DDIARG_TESSELLATION_IO_SIGNATURES. Например, эталонный растризатор не требует сведений, которые предоставляет структура D3D11DDIARG_TESSELLATION_IO_SIGNATURES.

Требования

Требование Ценность
минимальные поддерживаемые клиентские D3D11DDIARG_TESSELLATION_IO_SIGNATURES поддерживается начиная с операционной системы Windows 7.
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

D3D10DDIARG_SIGNATURE_ENTRY