Condividi tramite


Metodo ID3D11Device::CreateDomainShader (d3d11.h)

Creare uno shader di dominio.

Sintassi

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

Parametri

[in] pShaderBytecode

Tipo: const void*

Puntatore a uno shader compilato.

[in] BytecodeLength

Tipo: SIZE_T

Dimensioni dello shader compilato.

[in, optional] pClassLinkage

Tipo: ID3D11ClassLinkage*

Puntatore a un'interfaccia di collegamento di classe (vedere ID3D11ClassLinkage); il valore può essere NULL.

[out, optional] ppDomainShader

Tipo: ID3D11DomainShader**

Indirizzo di un puntatore a un'interfaccia ID3D11DomainShader . Se si tratta di NULL, tutti gli altri parametri verranno convalidati e, se tutti i parametri passano la convalida, l'API restituirà S_FALSE anziché S_OK.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno dei codici restituiti Direct3D 11 seguenti.

Commenti

Il runtime Direct3D 11.1, disponibile a partire da Windows 8, fornisce le nuove funzionalità seguenti per CreateDomainShader.

Le istruzioni seguenti sul modello shader 5.0 sono disponibili solo per pixel shader e shader di calcolo nel runtime direct3D 11.0. Per il runtime Direct3D 11.1, perché le visualizzazioni di accesso non ordinate sono disponibili in tutte le fasi dello shader, è possibile usare queste istruzioni in tutte le fasi dello shader.

Pertanto, se si usano le istruzioni seguenti del modello shader 5.0 in un domain shader, è possibile passare correttamente lo shader di dominio compilato a pShaderBytecode. Vale a dire, la chiamata a CreateDomainShader ha esito positivo.

Se si passa uno shader compilato a pShaderBytecode che usa una delle istruzioni seguenti in un dispositivo che non supporta UAV in ogni fase dello shader (inclusi i driver esistenti non implementati per supportare le UAV in ogni fase di shader), CreateDomainShader ha esito negativo. CreateDomainShader ha esito negativo anche se lo shader tenta di usare uno slot UAV oltre il set di slot UAV supportati dall'hardware.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11.h
Libreria D3D11.lib

Vedi anche

ID3D11Device