Метод 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, поддерживаемых оборудованием.
- dcl_uav_typed
- dcl_uav_raw
- dcl_uav_structured
- ld_raw
- ld_structured
- ld_uav_typed
- store_raw
- store_structured
- store_uav_typed
- sync_uglobal
- Все атомарные и непосредственные атомарные (например, atomic_and и imm_atomic_and)
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | d3d11.h |
библиотеки | D3D11.lib |