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


Метод ID3D11Device::CreateDomainShader (d3d11.h)

Создание шейдера домена.

Синтаксис

HRESULT CreateDomainShader(
  [in]            const void         *pShaderBytecode,
  [in]            SIZE_T             BytecodeLength,
  [in, optional]  ID3D11ClassLinkage *pClassLinkage,
  [out, optional] ID3D11DomainShader **ppDomainShader
);

Параметры

[in] pShaderBytecode

Тип: const void*

Указатель на скомпилированный шейдер.

[in] BytecodeLength

Тип: SIZE_T

Размер скомпилированного шейдера.

[in, optional] pClassLinkage

Тип: ID3D11ClassLinkage*

Указатель на интерфейс компоновки класса (см. ID3D11ClassLinkage); значение может быть NULL.

[out, optional] ppDomainShader

Тип: ID3D11DomainShader**

Адрес указателя на интерфейс ID3D11DomainShader. Если это null, все остальные параметры будут проверены, и если все параметры проходят проверку, этот API вернет S_FALSE вместо S_OK.

Возвращаемое значение

Тип: HRESULT

Этот метод возвращает один из следующих Direct3D 11 Коды возврата.

Замечания

Среда выполнения Direct3D 11.1, которая доступна начиная с Windows 8, предоставляет следующие новые функции для CreateDomainShader.

Следующие инструкции по модели шейдера 5.0 доступны только для шейдеров пикселей и вычислительных шейдеров в среде выполнения Direct3D 11.0. Для среды выполнения Direct3D 11.1, так как неупорядоченные представления доступа (UAV) доступны на всех этапах шейдера, эти инструкции можно использовать во всех этапах шейдера.

Таким образом, если в шейдере домена используется следующая модель шейдера домена, вы можете успешно передать шейдер скомпилированного домена в pShaderBytecode. То есть вызов CreateDomainShader успешно выполнен.

Если скомпилированный шейдер передается в pShaderBytecode, использующей любую из приведенных ниже инструкций на устройстве, которое не поддерживает шейдеры на каждом этапе шейдера (включая существующие драйверы, которые не реализованы для поддержки UAV на каждом этапе шейдера), CreateDomainShader завершается ошибкой. CreateDomainShader также завершается ошибкой, если шейдер пытается использовать слот UAV за пределами набора слотов UAV, поддерживаемых оборудованием.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка d3d11.h
библиотеки D3D11.lib

См. также

ID3D11Device