структура 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 (включая D3d10umddi.h) |