Partilhar via


Especificando operações de renderização GDI aceleradas por hardware

Quando a função DxgkDdiRenderKm é chamada, o sistema operacional especifica o tipo de operação de renderização acelerada por hardware GDI a ser executada por meio do parâmetro pRenderKmArgs . O driver da porta de exibição do subsistema do kernel de gráficos DirectX (Dxgkrnl.sys) define o membro pRenderKmArgs->pCommand para direcionar a um buffer de comandos, que contém uma matriz de estruturas de tamanho variável DXGK_RENDERKM_COMMAND. Ele também define o membro pRenderKmArgs-pCommandLength> para o tamanho do buffer de comandos, em bytes.

O driver deve traduzir o buffer de comandos de entrada DXGK_RENDERKM_COMMAND em comandos de buffer DMA e construir a lista de localização de patches.

DXGK_RENDERKM_COMMAND contém membros que especificam características de operações de renderização aceleradas por hardware GDI, conforme descrito na tabela a seguir.

Operação de renderização Membro DXGK_RENDERKM_COMMAND Estrutura DXGK_GDIARG_XXX correspondente Valor DXGK_RENDERKM_OPERATION correspondente

fusão alfa

AlphaBlend

DXGK_GDIARG_ALPHABLEND

DXGK_GDIOP_ALPHABLEND = 3

Transferência de blocos de bits sem alongamento

BitBlt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

ClearType e mesclagem de pixels de texto com suavização de borda

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

preenchimento de cor

Preenchimento de cores

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

transferência de bloco de bits esticada

StretchBlt

DXGK_GDIARG_STRETCHBLT

DXGK_GDIOP_STRETCHBLT = 4

Transferência de blocos de bits com transparência

TransparentBlt

DXGK_GDIARG_TRANSPARENTBLT

DXGK_GDIOP_TRANSPARENTBLT = 6

O sistema operacional usa o membro OpCode do DXGK_RENDERKM_COMMAND para indicar a operação de renderização acelerada por hardware GDI específica que o driver de miniporta de exibição deve processar. O membro OpCode é do tipo DXGK_RENDERKM_OPERATION, com valores mostrados na tabela.

O sistema operacional também fornecerá o valor apropriado do membro DXGK_RENDERKM_COMMAND CommandSize , que especifica o tamanho do comando de renderização atual, em bytes, incluindo o valor de OpCode e o número de sub-retângulos no comando.

Mais informações sobre a capacidade do adaptador de vídeo para executar uma transferência de bloco de bits com transparência são fornecidas na estrutura D3DKM_TRANSPARENTBLTFLAGS contida no membro DXGK_GDIARG_TRANSPARENTBLT-Flags>.