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


Метод 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) доступны на всех этапах шейдера, эти инструкции можно использовать на всех этапах шейдера.

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

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

Требования

Требование Значение
Целевая платформа Windows
Header d3d11.h
Библиотека D3D11.lib

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

ID3D11Device