estrutura DXGK_PRESENTATIONCAPS (d3dkmddi.h)

A estrutura DXGK_PRESENTATIONCAPS identifica as funcionalidades de apresentação de um driver de miniporto de exibição que o driver fornece por meio de uma chamada para sua função DxgkDdiQueryAdapterInfo .

Sintaxe

typedef struct _DXGK_PRESENTATIONCAPS {
  union {
    struct {
      UINT NoScreenToScreenBlt : 1;
      UINT NoOverlapScreenBlt : 1;
      UINT SupportKernelModeCommandBuffer : 1;
      UINT NoSameBitmapAlphaBlend : 1;
      UINT NoSameBitmapStretchBlt : 1;
      UINT NoSameBitmapTransparentBlt : 1;
      UINT NoSameBitmapOverlappedAlphaBlend : 1;
      UINT NoSameBitmapOverlappedStretchBlt : 1;
      UINT DriverSupportsCddDwmInterop : 1;
      UINT Reserved0 : 1;
      UINT AlignmentShift : 4;
      UINT MaxTextureWidthShift : 3;
      UINT MaxTextureHeightShift : 3;
      UINT SupportAllBltRops : 1;
      UINT SupportMirrorStretchBlt : 1;
      UINT SupportMonoStretchBltModes : 1;
      UINT StagingRectStartPitchAligned : 1;
      UINT NoSameBitmapBitBlt : 1;
      UINT NoSameBitmapOverlappedBitBlt : 1;
      UINT Reserved1 : 1;
      UINT NoTempSurfaceForClearTypeBlend : 1;
      UINT SupportSoftwareDeviceBitmaps : 1;
      UINT NoCacheCoherentApertureMemory : 1;
      UINT SupportLinearHeap : 1;
#if ...
      UINT Reserved : 1;
#else
      UINT Reserved : 4;
#endif
    };
         UINT Value;
  };
} DXGK_PRESENTATIONCAPS;

Membros

[in] NoScreenToScreenBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma transferência de bloco de bits (bitblt) da superfície primária para a mesma superfície primária. Se NoScreenToScreenBlt estiver definido, o driver não poderá executar uma transferência de bloco de bits tela a tela. Portanto, o subsistema de kernel de elementos gráficos do Microsoft DirectX (Dxgkrnl.sys) não solicitará que o driver execute essa transferência de bloco de bits.

Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).

[in] NoOverlapScreenBlt

Um valor UINT que especifica se o driver de miniporta de exibição pode executar uma transferência de bloco de bits que se sobrepõe. Se NoOverlapScreenBlt estiver definido, o driver não poderá executar uma transferência de bloco de bits sobreposta. Portanto, o subsistema de kernel de elementos gráficos DirectX não solicitará que o driver execute essa transferência de bloco de bits.

Definir esse membro é equivalente a definir o segundo bit do membro Value de 32 bits (0x00000002).

SupportKernelModeCommandBuffer

[in] Um valor UINT que especifica se o driver de miniporto de exibição dá suporte ao processamento de buffer de comando acelerado por hardware GDI. Se SupportKernelModeCommandBuffer estiver definido, o driver poderá executar várias operações de transferência de bloco de bits acelerada por hardware (bitblt) e de preenchimento quando o subsistema de kernel de elementos gráficos DirectX chamar a função DxgkDdiRenderKm do driver de miniporta de exibição.

Nota Um driver de miniporta de exibição deve relatar que ele dá suporte à aceleração de hardware GDI somente se o segmento de abertura de GPU coerente com cache existir e não houver nenhuma penalidade significativa de desempenho quando a CPU acessar a memória.
 
Definir esse membro é equivalente a definir o terceiro bit do membro Value de 32 bits (0x00000004).

Com suporte a partir do Windows 7.

[in] NoSameBitmapAlphaBlend

Um valor UINT que especifica se o driver de miniporta de exibição pode executar uma operação de mesclagem alfa quando as alocações de origem e destino são as mesmas. Se NoSameBitmapAlphaBlend estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o quarto bit do membro Value de 32 bits (0x00000008).

Com suporte a partir do Windows 7.

[in] NoSameBitmapStretchBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma operação de transferência de bloco de bits estendido quando as alocações de origem e destino são as mesmas. Se NoSameBitmapStretchBlt estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o quinto bit do membro Value de 32 bits (0x00000010).

Com suporte a partir do Windows 7.

[in] NoSameBitmapTransparentBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma operação de transferência transparente de bloco de bits quando as alocações de origem e destino são as mesmas. Se NoSameBitmapStretchBlt estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o sexto bit do membro Value de 32 bits (0x00000020).

Com suporte a partir do Windows 7.

[in] NoSameBitmapOverlappedAlphaBlend

Um valor UINT que especifica se o driver de miniporta de exibição pode executar uma operação de mesclagem alfa quando as alocações de origem e destino são iguais e os retângulos de origem e destino se sobrepõem. Se NoSameBitmapOverlappedAlphaBlend estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o sétimo bit do membro Value de 32 bits (0x00000040).

Com suporte a partir do Windows 7.

[in] NoSameBitmapOverlappedStretchBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma operação de transferência de bloco de bits estendido quando as alocações de origem e destino são iguais e os retângulos de origem e destino se sobrepõem. Se NoSameBitmapOverlappedStretchBlt estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o oito bits do membro Value de 32 bits (0x00000080).

Com suporte a partir do Windows 7.

[in] DriverSupportsCddDwmInterop

Um valor UINT que especifica se o driver de miniporto de exibição dá suporte às operações de CDD (Driver de Exibição Canônica) presentes para alocações de textura criadas pelo driver de modo de usuário para o DWM (Gerenciador do Windows da Área de Trabalho) usar. Se DriverSupportsCddDwmInterop estiver definido, o driver de miniporta de exibição oferecerá suporte a essas operações atuais.

Se o driver de miniporto de exibição der suporte à aceleração de hardware GDI, DriverSupportsCddDwmInterop será ignorado. Nesse caso, o driver deve dar suporte a operações cdd presentes para alocações de textura DWM criadas pelo driver de modo de usuário.

Definir esse membro é equivalente a definir o nono bit do membro Value de 32 bits (0x00000100).

Com suporte a partir do Windows 7.

[in] Reserved0

Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o décimo bit do membro Value de 32 bits (0x00000200).

Com suporte a partir do Windows 7.

[in] AlignmentShift

Um valor UINT que especifica o valor mínimo de alinhamento, em bytes, exigido pelos membros XxxPitch das estruturas de DXGK_GDIARG_XXX. AlignmentShift é dado como um expoente binário. Por exemplo, para especificar um valor de alinhamento necessário de 16 bytes, o driver de miniporto de exibição deve definir AlignmentShift = 4. O valor mínimo é AlignmentShift = 2, que especifica um alinhamento de 4 bytes.

Definir esse membro é equivalente a definir o décimo primeiro bit do membro Value de 32 bits (0x00000400).

Com suporte a partir do Windows 7.

[in] MaxTextureWidthShift

Um valor UINT que especifica a largura máxima de textura à qual o driver de miniporto de exibição dá suporte, que é calculado como:

largura máxima de textura com suporte = 2 ^ (MaxTextureWidthShift + 11) texels.

Por exemplo, se MaxTextureWidthShift = 0, a largura máxima de textura com suporte será 2 ^ 11 = 2048.

Definir esse membro é equivalente a definir o décimo segundo bit do membro Value de 32 bits (0x00000800).

Com suporte a partir do Windows 7.

[in] MaxTextureHeightShift

Um valor UINT que especifica a altura máxima de textura à qual o driver de miniporto de exibição dá suporte, que é calculado como:

altura máxima de textura com suporte = 2 ^ (MaxTextureHeightShift + 11) texels.

Por exemplo, se MaxTextureHeightShift = 0, a altura máxima de textura com suporte será 2 ^ 11 = 2048.

Definir esse membro é equivalente a definir o décimo terceiro bit do membro Value de 32 bits (0x00001000).

Com suporte a partir do Windows 7.

[in] SupportAllBltRops

Um valor UINT que especifica se o driver de miniporta de exibição dá suporte a todas as operações de varredura GDI ROP3 com cor sólida como um padrão nos comandos BitBlt e ColorFill. Se SupportAllBltRops estiver definido, o driver oferecerá suporte a essas operações de varredura.

Definir esse membro é equivalente a definir o décimo quarto bit do membro Value de 32 bits (0x00002000).

Com suporte a partir do Windows 7.

[in] SupportMirrorStretchBlt

Um valor UINT que especifica se o driver de miniporto de exibição dá suporte a operações stretch Blt (usando a estrutura DXGK_GDIARG_STRETCHBLT) no modo espelho. Se SupportMirrorStretchBlt estiver definido, o driver oferecerá suporte a essas operações.

Definir esse membro é equivalente a definir o décimo quinto bit do membro Value de 32 bits (0x00004000).

Com suporte a partir do Windows 7.

[in] SupportMonoStretchBltModes

Um valor UINT que especifica se o driver de miniporto de exibição dá suporte a operações stretch Blt (usando a estrutura DXGK_GDIARG_STRETCHBLT ) nos modos de renderização monocromática BLACKONWHITE ou WHITEONBLACK. Se SupportMonoStretchBltModes estiver definido, o driver oferecerá suporte a essas operações.

Definir esse membro é equivalente a definir o décimo sexto bit do membro Value de 32 bits (0x00008000).

Com suporte a partir do Windows 7.

[in] StagingRectStartPitchAligned

Um valor UINT que especifica se o driver de miniporto de exibição requer que o ponto de partida (ponto superior esquerdo) no retângulo em uma superfície de preparo visível para CPU seja alinhado à inclinação, o que significa que a coordenada esquerda é 0. Se AlignmentShift estiver definido, o ponto superior esquerdo do retângulo será alinhado a tom.

Definir esse membro é equivalente a definir o décimo sétimo bit do membro Value de 32 bits (0x00010000).

Com suporte a partir do Windows 7.

[in] NoSameBitmapBitBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma operação de transferência de bloco de bits quando as alocações de origem e destino são as mesmas. Se NoSameBitmapBitBlt estiver definido, o driver não poderá executar essa operação. Portanto, o subsistema de kernel de elementos gráficos DirectX não solicitará que o driver execute tal operação.

Definir esse membro é equivalente a definir o décimo oitavo bit do membro Value de 32 bits (0x00020000).

Com suporte a partir do Windows 7.

[in] NoSameBitmapOverlappedBitBlt

Um valor UINT que especifica se o driver de miniporto de exibição pode executar uma operação de transferência de bloco de bits quando as alocações de origem e destino são iguais e os retângulos de origem e destino se sobrepõem. Se NoSameBitmapOverlappedBitBlt estiver definido, o driver não poderá executar essa operação e o subsistema de kernel de elementos gráficos DirectX não a solicitará.

Definir esse membro é equivalente a definir o décimo nono bit do membro Value de 32 bits (0x00040000).

Com suporte a partir do Windows 7.

[in] Reserved1

Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir o vigésimo bit do membro Value de 32 bits (0x00080000).

Com suporte a partir do Windows 7.

[in] NoTempSurfaceForClearTypeBlend

Um valor UINT que especifica se o driver precisa de uma superfície temporária durante o processamento de comandos especificados pelo membro ClearTypeBlend da estrutura DXGK_RENDERKM_COMMAND . Se NoTempSurfaceForClearTypeBlend estiver definido, o driver não precisará de uma superfície temporária. Nesse caso, o driver usará menos memória de vídeo.

Definir esse membro como zero é equivalente a definir o vigésimo primeiro bit do membro Value de 32 bits (0x00100000).

Com suporte a partir do Windows 7.

[in] SupportSoftwareDeviceBitmaps

Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o bit de vinte segundos do membro Value de 32 bits (0x00200000).

Com suporte a partir do Windows 8.

[in] NoCacheCoherentApertureMemory

Um valor UINT que especifica que o driver não dá suporte à memória de abertura coerente de cache.

Definir esse membro é equivalente a definir o vigésimo terceiro bit do membro Value de 32 bits (0x00400000).

Com suporte a partir do Windows 8.

[in] SupportLinearHeap

O driver dá suporte à alocação de heap linear de superfícies de preparo.

Definir esse membro é equivalente a definir o vigésimo quarto bit do membro Value de 32 bits (0x00800000).

Com suporte a partir do Windows 8.

[in] Reserved

Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o vigésimo quinto bit do membro Value de 32 bits (0x01000000).

Com suporte a partir do Windows 8.

[in] Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o vigésimo quinto bit do membro Value de 32 bits (0x02000000).

Com suporte a partir do Windows 8.

Value

Um valor de 32 bits que identifica os recursos de apresentação do driver.

Comentários

Um driver de miniporta de exibição pode especificar recursos de apresentação definindo bits no membro Value de 32 bits ou definindo membros individuais da estrutura na união que DXGK_PRESENTATIONCAPS contém.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Confira também

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

DxgkDdiRenderKm