Método ID3D11Device::CreateDomainShader (d3d11.h)
Crie um sombreador de domínio.
Sintaxe
HRESULT CreateDomainShader(
[in] const void *pShaderBytecode,
[in] SIZE_T BytecodeLength,
[in, optional] ID3D11ClassLinkage *pClassLinkage,
[out, optional] ID3D11DomainShader **ppDomainShader
);
Parâmetros
[in] pShaderBytecode
Tipo: const void*
Um ponteiro para um sombreador compilado.
[in] BytecodeLength
Tipo: SIZE_T
Tamanho do sombreador compilado.
[in, optional] pClassLinkage
Tipo: ID3D11ClassLinkage*
Um ponteiro para uma interface de vinculação de classe (consulte ID3D11ClassLinkage); o valor pode ser NULL.
[out, optional] ppDomainShader
Tipo: ID3D11DomainShader**
Endereço de um ponteiro para uma interface ID3D11DomainShader . Se for NULL, todos os outros parâmetros serão validados e, se todos os parâmetros passarem na validação, essa API retornará S_FALSE em vez de S_OK.
Retornar valor
Tipo: HRESULT
Esse método retorna um dos seguintes códigos de retorno do Direct3D 11.
Comentários
O runtime do Direct3D 11.1, que está disponível a partir do Windows 8, fornece a nova funcionalidade a seguir para CreateDomainShader.
As instruções do modelo de sombreador 5.0 a seguir estão disponíveis apenas para sombreadores de pixel e sombreadores de computação no runtime do Direct3D 11.0. Para o runtime do Direct3D 11.1, como as exibições de acesso não ordenadas (UAV) estão disponíveis em todos os estágios do sombreador, você pode usar essas instruções em todos os estágios do sombreador.
Portanto, se você usar as instruções do modelo de sombreador 5.0 a seguir em um sombreador de domínio, poderá passar com êxito o sombreador de domínio compilado para pShaderBytecode. Ou seja, a chamada para CreateDomainShader é bem-sucedida.
Se você passar um sombreador compilado para pShaderBytecode que usa qualquer uma das instruções a seguir em um dispositivo que não dá suporte a UAVs em todos os estágios do sombreador (incluindo drivers existentes que não são implementados para dar suporte a UAVs em cada estágio de sombreador), CreateDomainShader falhará. CreateDomainShader também falhará se o sombreador tentar usar um slot UAV além do conjunto de slots UAV aos quais o hardware dá suporte.
- 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
- Todos os atômicos e atômicos imediatos (por exemplo, atomic_and e imm_atomic_and)
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d11.h |
Biblioteca | D3D11.lib |