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) |