Compartir a través de


estructura DXGK_PRESENTATIONCAPS (d3dkmddi.h)

La estructura DXGK_PRESENTATIONCAPS identifica las funciones de presentación de un controlador de minipuerto de pantalla que el controlador proporciona a través de una llamada a su función DxgkDdiQueryAdapterInfo .

Sintaxis

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;

Miembros

[in] NoScreenToScreenBlt

Valor UINT que especifica si el controlador de minipuerto de pantalla puede realizar una transferencia de bloques de bits (bitblt) desde la superficie principal a la misma superficie principal. Si noScreenToScreenBlt está establecido, el controlador no puede realizar una transferencia de bloque de bits de pantalla a pantalla. Por lo tanto, el subsistema del kernel de gráficos de Microsoft DirectX (Dxgkrnl.sys) no solicitará al controlador que realice dicha transferencia de bloques de bits.

Establecer este miembro equivale a establecer el primer bit del miembro Value de 32 bits (0x00000001).

[in] NoOverlapScreenBlt

Valor UINT que especifica si el controlador de minipuerto de pantalla puede realizar una transferencia de bloques de bits que se superpone. Si noOverlapScreenBlt está establecido, el controlador no puede realizar una transferencia de bloques de bits que se superponga. Por lo tanto, el subsistema del kernel de gráficos de DirectX no solicitará al controlador que realice dicha transferencia de bloques de bits.

Establecer este miembro equivale a establecer el segundo bit del miembro Value de 32 bits (0x00000002).

SupportKernelModeCommandBuffer

[in] Valor UINT que especifica si el controlador de minipuerto de pantalla admite el procesamiento del búfer de comandos acelerado por hardware GDI. Si se establece SupportKernelModeCommandBuffer , el controlador puede realizar varias operaciones de transferencia de bloques de bits (bitblt) aceleradas por hardware y rellenar cuando el subsistema del kernel de gráficos directX llama a la función DxgkDdiRenderKm del controlador de miniport para mostrar.

Nota Un controlador de minipuerto de pantalla debe informar de que admite la aceleración de hardware GDI solo si existe el segmento de apertura de GPU coherente con caché y no hay ninguna penalización significativa del rendimiento cuando la CPU accede a la memoria.
 
Establecer este miembro equivale a establecer el tercer bit del miembro Value de 32 bits (0x00000004).

Se admite a partir de Windows 7.

[in] NoSameBitmapAlphaBlend

Valor UINT que especifica si el controlador de minipuerto de pantalla puede realizar una operación de combinación alfa cuando las asignaciones de origen y destino son las mismas. Si noSameBitmapAlphaBlend está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el cuarto bit del miembro Value de 32 bits (0x00000008).

Se admite a partir de Windows 7.

[in] NoSameBitmapStretchBlt

Valor UINT que especifica si el controlador de minipuerto de pantalla puede realizar una operación de transferencia de bloque de bits extendido cuando las asignaciones de origen y destino son las mismas. Si noSameBitmapStretchBlt está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el quinto bit del miembro Value de 32 bits (0x00000010).

Se admite a partir de Windows 7.

[in] NoSameBitmapTransparentBlt

Valor UINT que especifica si el controlador de miniporte de pantalla puede realizar una operación de transferencia de bloques de bits transparente cuando las asignaciones de origen y destino son las mismas. Si noSameBitmapStretchBlt está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el sexto bit del miembro Value de 32 bits (0x00000020).

Se admite a partir de Windows 7.

[in] NoSameBitmapOverlappedAlphaBlend

Valor UINT que especifica si el controlador de miniporte de pantalla puede realizar una operación de combinación alfa cuando las asignaciones de origen y destino son las mismas y los rectángulos de origen y destino se superponen. Si noSameBitmapOverlappedAlphaBlend está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el séptimo bit del miembro Value de 32 bits (0x00000040).

Se admite a partir de Windows 7.

[in] NoSameBitmapOverlappedStretchBlt

Valor UINT que especifica si el controlador de miniporte de pantalla puede realizar una operación de transferencia de bloques de bits extendido cuando las asignaciones de origen y destino son las mismas y los rectángulos de origen y destino se superponen. Si noSameBitmapOverlappedStretchBlt está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el valor de ocho bits del miembro Value de 32 bits (0x00000080).

Se admite a partir de Windows 7.

[in] DriverSupportsCddDwmInterop

Valor UINT que especifica si el controlador de miniporte de pantalla admite operaciones de controlador de pantalla canónica (CDD) para las asignaciones de texturas creadas por el controlador en modo de usuario para que use el Administrador de Windows de escritorio (DWM). Si se establece DriverSupportsCddDwmInterop , el controlador de miniporte de pantalla admite estas operaciones presentes.

Si el controlador de miniporte de pantalla admite la aceleración de hardware GDI, DriverSupportsCddDwmInterop se omite. En este caso, el controlador debe admitir las operaciones de CDD para las asignaciones de texturas DWM creadas por el controlador en modo de usuario.

Establecer este miembro equivale a establecer el noveno bit del miembro Value de 32 bits (0x00000100).

Se admite a partir de Windows 7.

[in] Reserved0

Este miembro está reservado y debe establecerse en cero.

Establecer este miembro equivale a establecer el décimo bit del miembro Value de 32 bits (0x00000200).

Se admite a partir de Windows 7.

[in] AlignmentShift

Valor UINT que especifica el valor de alineación mínimo, en bytes, que requieren los miembros XxxPitch de las estructuras DXGK_GDIARG_XXX. AlignmentShift se da como exponente binario. Por ejemplo, para especificar un valor de alineación necesario de 16 bytes, el controlador de minipuerto de pantalla debe establecer AlignmentShift = 4. El valor mínimo es AlignmentShift = 2, que especifica una alineación de 4 bytes.

Establecer este miembro equivale a establecer el undécimo bit del miembro Value de 32 bits (0x00000400).

Se admite a partir de Windows 7.

[in] MaxTextureWidthShift

Valor UINT que especifica el ancho máximo de textura que admite el controlador de miniporte de pantalla, que se calcula como:

ancho de textura máximo admitido = 2 ^ (MaxTextureWidthShift + 11) elementos de textura.

Por ejemplo, si MaxTextureWidthShift = 0, el ancho de textura máximo admitido es 2 ^ 11 = 2048.

Establecer este miembro equivale a establecer el duodécimo bit del miembro Value de 32 bits (0x00000800).

Se admite a partir de Windows 7.

[in] MaxTextureHeightShift

Valor UINT que especifica el alto máximo de textura que admite el controlador de miniporte de pantalla, que se calcula como:

altura máxima admitida de textura = 2 ^ (MaxTextureHeightShift + 11) elementos de textura.

Por ejemplo, si MaxTextureHeightShift = 0, el alto máximo de textura admitido es 2 ^ 11 = 2048.

Establecer este miembro equivale a establecer el decimotercer bit del miembro Value de 32 bits (0x00001000).

Se admite a partir de Windows 7.

[in] SupportAllBltRops

Valor UINT que especifica si el controlador de miniporte de pantalla admite todas las operaciones de trama GDI ROP3 con color sólido como patrón en los comandos BitBlt y ColorFill. Si se establece SupportAllBltRops , el controlador admite estas operaciones de trama.

Establecer este miembro equivale a establecer el decimocuarto bit del miembro Value de 32 bits (0x00002000).

Se admite a partir de Windows 7.

[in] SupportMirrorStretchBlt

Valor UINT que especifica si el controlador de minipuerto de pantalla admite operaciones Stretch Blt (mediante la estructura DXGK_GDIARG_STRETCHBLT ) en modo reflejado. Si se establece SupportMirrorStretchBlt , el controlador admite estas operaciones.

Establecer este miembro equivale a establecer el decimoquinto bit del miembro Value de 32 bits (0x00004000).

Se admite a partir de Windows 7.

[in] SupportMonoStretchBltModes

Valor UINT que especifica si el controlador de minipuerto de pantalla admite operaciones Stretch Blt (mediante la estructura DXGK_GDIARG_STRETCHBLT ) en los modos de representación monocromática BLACKONWHITE o WHITEONBLACK. Si se establece SupportMonoStretchBltModes , el controlador admite estas operaciones.

Establecer este miembro equivale a establecer el decimosexto bit del miembro Valor de 32 bits (0x00008000).

Se admite a partir de Windows 7.

[in] StagingRectStartPitchAligned

Valor UINT que especifica si el controlador de minipuerto de pantalla requiere el punto inicial (punto superior izquierdo) en el rectángulo en una superficie de ensayo visible para cpu para alinearse con el tono, lo que significa que la coordenada izquierda es 0. Si se establece AlignmentShift , el punto superior izquierdo del rectángulo está alineado con el tono.

Establecer este miembro equivale a establecer el diecisiete bit del miembro Value de 32 bits (0x00010000).

Se admite a partir de Windows 7.

[in] NoSameBitmapBitBlt

Valor UINT que especifica si el controlador de miniporte de pantalla puede realizar una operación de transferencia de bloques de bits cuando las asignaciones de origen y destino son las mismas. Si noSameBitmapBitBlt está establecido, el controlador no puede realizar esta operación. Por lo tanto, el subsistema del kernel de gráficos de DirectX no solicitará que el controlador realice dicha operación.

Establecer este miembro equivale a establecer el decimoctavo bit del miembro Value de 32 bits (0x00020000).

Se admite a partir de Windows 7.

[in] NoSameBitmapOverlappedBitBlt

Valor UINT que especifica si el controlador de minipuerto de pantalla puede realizar una operación de transferencia de bloques de bits cuando las asignaciones de origen y destino son las mismas y los rectángulos de origen y destino se superponen. Si noSameBitmapOverlappedBitBlt está establecido, el controlador no puede realizar esta operación y el subsistema del kernel de gráficos de DirectX no lo solicitará.

Establecer este miembro equivale a establecer el decimonoveno bit del miembro Value de 32 bits (0x00040000).

Se admite a partir de Windows 7.

[in] Reserved1

Este miembro está reservado y debe establecerse en cero. Establecer este miembro en cero equivale a establecer el xx bit del miembro Value de 32 bits (0x00080000).

Se admite a partir de Windows 7.

[in] NoTempSurfaceForClearTypeBlend

Valor UINT que especifica si el controlador necesita una superficie temporal durante el procesamiento de comandos especificados por el miembro ClearTypeBlend de la estructura DXGK_RENDERKM_COMMAND . Si noTempSurfaceForClearTypeBlend está establecido, el controlador no necesita una superficie temporal. En este caso, el controlador usará menos memoria de vídeo.

Establecer este miembro en cero equivale a establecer el veinti first bit del miembro Value de 32 bits (0x00100000).

Se admite a partir de Windows 7.

[in] SupportSoftwareDeviceBitmaps

Este miembro está reservado y debe establecerse en cero.

Establecer este miembro equivale a establecer el bit de veintisiete segundos del miembro Value de 32 bits (0x00200000).

Se admite a partir de Windows 8.

[in] NoCacheCoherentApertureMemory

Valor UINT que especifica que el controlador no admite memoria de apertura coherente con caché.

Establecer este miembro equivale a establecer el veintisiete bit del miembro Value de 32 bits (0x00400000).

Se admite a partir de Windows 8.

[in] SupportLinearHeap

El controlador admite la asignación lineal del montón desde superficies de ensayo.

Establecer este miembro equivale a establecer el veinticuatro bit del miembro Value de 32 bits (0x00800000).

Se admite a partir de Windows 8.

[in] Reserved

Este miembro está reservado y debe establecerse en cero.

Establecer este miembro equivale a establecer el veinticinco bit del miembro Value de 32 bits (0x01000000).

Se admite a partir de Windows 8.

[in] Este miembro está reservado y debe establecerse en cero.

Establecer este miembro equivale a establecer el veinticinco bit del miembro Value de 32 bits (0x02000000).

Se admite a partir de Windows 8.

Value

Valor de 32 bits que identifica las capacidades de presentación del controlador.

Comentarios

Un controlador de minipuerto de pantalla puede especificar funcionalidades de presentación estableciendo bits en el miembro Value de 32 bits o estableciendo miembros individuales de la estructura en la unión que DXGK_PRESENTATIONCAPS contiene.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Encabezado d3dkmddi.h (incluye D3dkmddi.h)

Consulte también

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

DxgkDdiRenderKm