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.
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) |