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


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

Описывает сигнатуру тесселяции ввода-вывода.

Синтаксис

typedef struct D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES {
  union {
         D3D11_1DDIARG_SIGNATURE_ENTRY  *pInputSignatureDeprecated;
    [in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pInputSignature;
  };
  [in] UINT  NumInputSignatureEntries;
  union {
         D3D11_1DDIARG_SIGNATURE_ENTRY  *pOutputSignatureDeprecated;
    [in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pOutputSignature;
  };
  [in] UINT  NumOutputSignatureEntries;
  union {
         D3D11_1DDIARG_SIGNATURE_ENTRY  *pPatchConstantSignatureDeprecated;
    [in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pPatchConstantSignature;
  };
  [in] UINT  NumPatchConstantSignatureEntries;
} D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES;

Члены

pInputSignatureDeprecated

[in] pInputSignature

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

[in] NumInputSignatureEntries

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

pOutputSignatureDeprecated

[in] pOutputSignature

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

[in] NumOutputSignatureEntries

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

pPatchConstantSignatureDeprecated

[in] pPatchConstantSignature

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

[in] NumPatchConstantSignatureEntries

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

Комментарии

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

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

D3D11_1DDIARG_SIGNATURE_ENTRY