Compartir a través de


PFND3D11DDI_DISPATCH función de devolución de llamada (d3d10umddi.h)

La función Dispatch ejecuta el sombreador de proceso.

Sintaxis

PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;

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

Parámetros

unnamedParam1

hDevice [in]

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

ThreadGroupCountX [in]

Tamaño, en grupos de subprocesos, de la dimensión x de la cuadrícula del grupo de subprocesos. El tamaño máximo es 65535.

unnamedParam3

ThreadGroupCountY [in]

Tamaño, en grupos de subprocesos, de la dimensión y de la cuadrícula del grupo de subprocesos. El tamaño máximo es 65535.

unnamedParam4

ThreadGroupCountZ [in]

Tamaño, en grupos de subprocesos, de la dimensión z de la cuadrícula del grupo de subprocesos. El tamaño máximo es 65535.

Valor devuelto

None

Observaciones

El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.

El tiempo de ejecución de Direct3D llama a la función Dispatch del controlador en el dispositivo de visualización para ejecutar el sombreador de proceso. Un sombreador de proceso compilado define el conjunto de instrucciones que se ejecutarán por subproceso y el número de subprocesos que se ejecutarán por grupo. Los parámetros de grupo de subprocesos (ThreadGroupCountX, ThreadGroupCountY y ThreadGroupCountZ) indican cuántos grupos de subprocesos se van a ejecutar. Cada grupo de subprocesos contiene el mismo número de subprocesos, tal como se define en el sombreador de proceso compilado. Los grupos de subprocesos se organizan en una cuadrícula tridimensional. El número total de grupos de subprocesos que ejecuta el sombreador de proceso compilado viene determinado por el siguiente cálculo:

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

En concreto, si alguno de los valores de los parámetros del grupo de subprocesos es 0, la función Dispatch no hace nada.

El controlador no debe encontrar ningún error, excepto por D3DDDIERR_DEVICEREMOVED. Por lo tanto, si el controlador pasa algún error, excepto por D3DDDIERR_DEVICEREMOVED, en una llamada a la función pfnSetErrorCb , el tiempo de ejecución de Direct3D determina que el error es crítico. Incluso si se quita el dispositivo, no es necesario que el controlador devuelva D3DDDIERR_DEVICEREMOVED; Sin embargo, si la eliminación de dispositivos interfiere con el funcionamiento de Dispatch (que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite dispatch a partir del sistema operativo Windows 7.
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb