PFND3D11DDI_DISPATCH função de retorno de chamada (d3d10umddi.h)
A função Dispatch executa o sombreador de computação.
Sintaxe
PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;
void Pfnd3d11ddiDispatch(
D3D10DDI_HDEVICE unnamedParam1,
UINT unnamedParam2,
UINT unnamedParam3,
UINT unnamedParam4
)
{...}
Parâmetros
unnamedParam1
hDevice [in]
Um identificador para o dispositivo de exibição (contexto gráfico).
unnamedParam2
ThreadGroupCountX [in]
O tamanho, em grupos de threads, da dimensão x da grade do grupo de threads. O tamanho máximo é 65535.
unnamedParam3
ThreadGroupCountY [in]
O tamanho, em grupos de threads, da dimensão y da grade do grupo de threads. O tamanho máximo é 65535.
unnamedParam4
ThreadGroupCountZ [in]
O tamanho, em grupos de threads, da dimensão z da grade do grupo de threads. O tamanho máximo é 65535.
Retornar valor
Nenhum
Comentários
O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.
O runtime do Direct3D chama a função Dispatch do driver no dispositivo de exibição para executar o sombreador de computação. Um sombreador de computação compilado define o conjunto de instruções a serem executadas por thread e o número de threads a serem executados por grupo. Os parâmetros do grupo de threads (ThreadGroupCountX, ThreadGroupCountY e ThreadGroupCountZ) indicam quantos grupos de threads executar. Cada grupo de threads contém o mesmo número de threads, conforme definido pelo sombreador de computação compilado. Os grupos de threads são organizados em uma grade tridimensional. O número total de grupos de threads executados pelo sombreador de computação compilado é determinado pelo seguinte cálculo:
ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ
Em particular, se qualquer um dos valores nos parâmetros do grupo de threads for 0, a função Dispatch não fará nada.
O driver não deve encontrar nenhum erro, exceto para D3DDDIERR_DEVICEREMOVED. Portanto, se o driver passar qualquer erro, exceto por D3DDDIERR_DEVICEREMOVED, em uma chamada para a função pfnSetErrorCb , o runtime do Direct3D determinará que o erro é crítico. Mesmo que o dispositivo seja removido, o driver não precisará retornar D3DDDIERR_DEVICEREMOVED; no entanto, se a remoção do dispositivo interferir na operação de Expedição (o que normalmente não deve acontecer), o driver poderá retornar D3DDDIERR_DEVICEREMOVED.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | O dispatch tem suporte a partir do sistema operacional Windows 7. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3d10umddi.h (inclua D3d10umddi.h) |