Partager via


ID3D11Device ::CreateDomainShader, méthode (d3d11.h)

Créez un nuanceur de domaine.

Syntaxe

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

Paramètres

[in] pShaderBytecode

Type : const void*

Pointeur vers un nuanceur compilé.

[in] BytecodeLength

Type : SIZE_T

Taille du nuanceur compilé.

[in, optional] pClassLinkage

Type : ID3D11ClassLinkage*

Pointeur vers une interface de liaison de classes (voir ID3D11ClassLinkage) ; la valeur peut être NULL.

[out, optional] ppDomainShader

Type : ID3D11DomainShader**

Adresse d’un pointeur vers une interface ID3D11DomainShader . Si cette valeur est NULL, tous les autres paramètres seront validés et, si tous les paramètres réussissent la validation, cette API retournera S_FALSE au lieu de S_OK.

Valeur retournée

Type : HRESULT

Cette méthode retourne l’un des codes de retour Direct3D 11 suivants.

Remarques

Le runtime Direct3D 11.1, disponible à partir de Windows 8, fournit les nouvelles fonctionnalités suivantes pour CreateDomainShader.

Les instructions suivantes du modèle de nuanceur 5.0 sont disponibles uniquement pour les nuanceurs de pixels et les nuanceurs de calcul dans le runtime Direct3D 11.0. Pour le runtime Direct3D 11.1, étant donné que les vues d’accès non ordonnées (UAV) sont disponibles à toutes les étapes du nuanceur, vous pouvez utiliser ces instructions dans toutes les étapes du nuanceur.

Par conséquent, si vous utilisez les instructions suivantes du modèle de nuanceur 5.0 dans un nuanceur de domaine, vous pouvez passer le nuanceur de domaine compilé à pShaderBytecode. Autrement dit, l’appel à CreateDomainShader réussit.

Si vous passez un nuanceur compilé à pShaderBytecode qui utilise l’une des instructions suivantes sur un appareil qui ne prend pas en charge les UAV à chaque étape du nuanceur (y compris les pilotes existants qui ne sont pas implémentés pour prendre en charge les UAV à chaque étape du nuanceur), CreateDomainShader échoue. CreateDomainShader échoue également si le nuanceur tente d’utiliser un emplacement UAV au-delà de l’ensemble d’emplacements UAV pris en charge par le matériel.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d11.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11Device