Compartilhar via


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)

Confira também

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb