Partager via


PFND3D11DDI_DISPATCH fonction de rappel (d3d10umddi.h)

La fonction Dispatch exécute le nuanceur de calcul.

Syntaxe

PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;

void Pfnd3d11ddiDispatch(
  D3D10DDI_HDEVICE unnamedParam1,
  UINT unnamedParam2,
  UINT unnamedParam3,
  UINT unnamedParam4
)
{...}

Paramètres

unnamedParam1

hDevice [in]

Handle de l’appareil d’affichage (contexte graphique).

unnamedParam2

ThreadGroupCountX [in]

Taille, dans les groupes de threads, de la dimension x de la grille du groupe de threads. La taille maximale est 65535.

unnamedParam3

ThreadGroupCountY [in]

Taille, dans les groupes de threads, de la dimension y de la grille du groupe de threads. La taille maximale est 65535.

unnamedParam4

ThreadGroupCountZ [in]

Taille, dans les groupes de threads, de la dimension z de la grille du groupe de threads. La taille maximale est 65535.

Valeur de retour

None

Remarques

Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.

Le runtime Direct3D appelle la fonction Dispatch du pilote sur le périphérique d’affichage pour exécuter le nuanceur de calcul. Un nuanceur de calcul compilé définit l’ensemble d’instructions à exécuter par thread et le nombre de threads à exécuter par groupe. Les paramètres de groupe de threads (ThreadGroupCountX, ThreadGroupCountY et ThreadGroupCountZ) indiquent le nombre de groupes de threads à exécuter. Chaque groupe de threads contient le même nombre de threads, tel que défini par le nuanceur de calcul compilé. Les groupes de threads sont organisés dans une grille tridimensionnelle. Le nombre total de groupes de threads exécutés par le nuanceur de calcul compilé est déterminé par le calcul suivant :

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

En particulier, si l’une des valeurs des paramètres du groupe de threads est 0, la fonction Dispatch ne fait rien.

Le pilote ne doit rencontrer aucune erreur, à l’exception de D3DDDIERR_DEVICEREMOVED. Par conséquent, si le pilote réussit une erreur, à l’exception de D3DDDIERR_DEVICEREMOVED, dans un appel à la fonction pfnSetErrorCb , le runtime Direct3D détermine que l’erreur est critique. Même si l’appareil est supprimé, le pilote n’est pas obligé de retourner D3DDDIERR_DEVICEREMOVED ; toutefois, si la suppression de l’appareil interfère avec le fonctionnement de Dispatch (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Dispatch est pris en charge à partir du système d’exploitation Windows 7.
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb