Condividi tramite


struttura DXGK_PRESENTATIONCAPS (d3dkmddi.h)

La struttura DXGK_PRESENTATIONCAPS identifica le funzionalità di presentazione di un driver miniport visualizzato fornito dal driver tramite una chiamata alla relativa funzione DxgkDdiQueryAdapterInfo .

Sintassi

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;

Members

[in] NoScreenToScreenBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un trasferimento bit-block (bitblt) dalla superficie primaria alla stessa superficie primaria. Se NoScreenToScreenBlt è impostato, il driver non può eseguire un trasferimento da schermo a blocco di bit. Di conseguenza, il sottosistema del kernel grafico Microsoft DirectX (Dxgkrnl.sys) non richiederà al driver di eseguire tale trasferimento a blocchi di bit.

L'impostazione di questo membro equivale all'impostazione del primo bit del membro Value a 32 bit (0x00000001).

[in] NoOverlapScreenBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un trasferimento a blocchi di bit che si sovrappone. Se NoOverlapScreenBlt è impostato, il driver non può eseguire un trasferimento a blocchi di bit che si sovrappone. Di conseguenza, il sottosistema kernel grafico DirectX non richiederà al driver di eseguire tale trasferimento a blocchi di bit.

L'impostazione di questo membro equivale all'impostazione del secondo bit del membro Value a 32 bit (0x00000002).

SupportKernelModeCommandBuffer

[in] Valore UINT che specifica se il driver miniport di visualizzazione supporta l'elaborazione del buffer dei comandi con accelerazione hardware GDI. Se SupportKernelModeCommandBuffer è impostato, il driver può eseguire varie operazioni di trasferimento a blocchi di bit (bitblt) accelerate dall'hardware e di riempimento quando il sottosistema del kernel grafico DirectX chiama la funzione DxgkDdiRenderKm del driver miniport di visualizzazione.

Nota Un driver miniport di visualizzazione deve segnalare che supporta l'accelerazione hardware GDI solo se esiste il segmento di apertura GPU coerente con la cache e non vi è alcuna riduzione significativa delle prestazioni quando la CPU accede alla memoria.
 
L'impostazione di questo membro equivale all'impostazione del terzo bit del membro Value a 32 bit (0x00000004).

Supportato a partire da Windows 7.

[in] NoSameBitmapAlphaBlend

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di fusione alfa quando le allocazioni di origine e destinazione sono uguali. Se noSameBitmapAlphaBlend è impostato, il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione del quarto bit del membro Valore a 32 bit (0x00000008).

Supportato a partire da Windows 7.

[in] NoSameBitmapStretchBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di trasferimento a blocchi di bit esteso quando le allocazioni di origine e di destinazione sono uguali. Se NoSameBitmapStretchBlt è impostato, il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione del quinto bit del membro Valore a 32 bit (0x00000010).

Supportato a partire da Windows 7.

[in] NoSameBitmapTransparentBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di trasferimento trasparente a bit block quando le allocazioni di origine e di destinazione sono uguali. Se NoSameBitmapStretchBlt è impostato, il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione del sesto bit del membro Value a 32 bit (0x00000020).

Supportato a partire da Windows 7.

[in] NoSameBitmapOverlappedAlphaBlend

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di fusione alfa quando le allocazioni di origine e di destinazione sono uguali e i rettangoli di origine e di destinazione si sovrappongono. Se è impostato NoSameBitmapOverlappedAlphaBlend , il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione del settimo bit del membro Value a 32 bit (0x00000040).

Supportato a partire da Windows 7.

[in] NoSameBitmapOverlappedStretchBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di trasferimento a blocchi di bit esteso quando le allocazioni di origine e di destinazione sono uguali e i rettangoli di origine e di destinazione si sovrappongono. Se noSameBitmapOverlappedStretchBlt è impostato, il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione dell'otto bit del membro Value a 32 bit (0x00000080).

Supportato a partire da Windows 7.

[in] DriverSupportsCddDwmInterop

Valore UINT che specifica se il driver miniport di visualizzazione supporta le operazioni cdD (Canonical Display Driver) per le allocazioni di trame create dal driver in modalità utente per Desktop Windows Manager (DWM) da usare. Se DriverSupportsCddDwmInterop è impostato, il driver miniport di visualizzazione supporta tali operazioni presenti.

Se il driver miniport di visualizzazione supporta l'accelerazione hardware GDI, DriverSupportsCddDwmInterop viene ignorato. In questo caso il driver deve supportare le operazioni CDD presenti nelle allocazioni di trame DWM create dal driver in modalità utente.

L'impostazione di questo membro equivale all'impostazione del nono bit del membro Value a 32 bit (0x00000100).

Supportato a partire da Windows 7.

[in] Reserved0

Questo membro è riservato e deve essere impostato su zero.

L'impostazione di questo membro equivale all'impostazione del decimo bit del membro Valore a 32 bit (0x00000200).

Supportato a partire da Windows 7.

[in] AlignmentShift

Valore UINT che specifica il valore di allineamento minimo, in byte, richiesto dai membri XxxPitch delle strutture DXGK_GDIARG_XXX. AlignmentShift viene assegnato come esponente binario. Ad esempio, per specificare un valore di allineamento obbligatorio di 16 byte, il driver miniport di visualizzazione deve impostare AlignmentShift = 4. Il valore minimo è AlignmentShift = 2, che specifica un allineamento a 4 byte.

L'impostazione di questo membro equivale all'impostazione dell'undicesimo bit del membro Value a 32 bit (0x00000400).

Supportato a partire da Windows 7.

[in] MaxTextureWidthShift

Valore UINT che specifica la larghezza massima della trama supportata dal driver miniport di visualizzazione, calcolata come:

Larghezza massima della trama supportata = 2 ^ (MaxTextureWidthShift + 11) texel.

Ad esempio, se MaxTextureWidthShift = 0, la larghezza massima supportata della trama è 2 ^ 11 = 2048.

L'impostazione di questo membro equivale all'impostazione del dodicesimo bit del membro Value a 32 bit (0x00000800).

Supportato a partire da Windows 7.

[in] MaxTextureHeightShift

Valore UINT che specifica l'altezza massima della trama supportata dal driver miniport di visualizzazione, calcolata come:

altezza massima della trama supportata = 2 ^ (MaxTextureHeightShift + 11) texel.

Ad esempio, se MaxTextureHeightShift = 0, l'altezza massima supportata della trama è 2 ^ 11 = 2048.

L'impostazione di questo membro equivale all'impostazione del tredicesimo bit del membro Value a 32 bit (0x00001000).

Supportato a partire da Windows 7.

[in] SupportAllBltRops

Valore UINT che specifica se il driver miniport di visualizzazione supporta tutte le operazioni raster GDI ROP3 con colore a tinta unita come motivo nei comandi BitBlt e ColorFill. Se SupportAllBltRops è impostato, il driver supporta tali operazioni raster.

L'impostazione di questo membro equivale all'impostazione del quattordicesimo bit del membro Value a 32 bit (0x00002000).

Supportato a partire da Windows 7.

[in] SupportMirrorStretchBlt

Valore UINT che specifica se il driver miniport di visualizzazione supporta le operazioni Stretch Blt (utilizzando la struttura DXGK_GDIARG_STRETCHBLT ) in modalità mirror. Se supportMirrorStretchBlt è impostato, il driver supporta tali operazioni.

L'impostazione di questo membro equivale all'impostazione del quindicesimo bit del membro Value a 32 bit (0x00004000).

Supportato a partire da Windows 7.

[in] SupportMonoStretchBltModes

Valore UINT che specifica se il driver miniport di visualizzazione supporta le operazioni Stretch Blt (utilizzando la struttura DXGK_GDIARG_STRETCHBLT ) in modalità di rendering monocromatica BLACKONWHITE o WHITEONBLACK. Se SupportMonoStretchBltModes è impostato, il driver supporta tali operazioni.

L'impostazione di questo membro equivale all'impostazione del sedicesimo bit del membro Value a 32 bit (0x00008000).

Supportato a partire da Windows 7.

[in] StagingRectStartPitchAligned

Valore UINT che specifica se il driver miniport di visualizzazione richiede il punto iniziale (in alto a sinistra) nel rettangolo su una superficie di staging visibile dalla CPU per essere allineato al passo, il che significa che la coordinata sinistra è 0. Se AlignmentShift è impostato, il punto superiore sinistro del rettangolo è allineato al passo.

L'impostazione di questo membro equivale all'impostazione del diciassettesimo bit del membro Value a 32 bit (0x00010000).

Supportato a partire da Windows 7.

[in] NoSameBitmapBitBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di trasferimento a blocchi di bit quando le allocazioni di origine e di destinazione sono uguali. Se noSameBitmapBitBlt è impostato, il driver non può eseguire tale operazione. Di conseguenza, il sottosistema kernel grafico DirectX non richiederà che il driver esegua un'operazione di questo tipo.

L'impostazione di questo membro equivale all'impostazione del diciottesimo bit del membro Value a 32 bit (0x00020000).

Supportato a partire da Windows 7.

[in] NoSameBitmapOverlappedBitBlt

Valore UINT che specifica se il driver miniport di visualizzazione può eseguire un'operazione di trasferimento a blocchi di bit quando le allocazioni di origine e di destinazione sono uguali e i rettangoli di origine e di destinazione si sovrappongono. Se NoSameBitmapOverlappedBitBlt è impostato, il driver non può eseguire tale operazione e il sottosistema del kernel grafico DirectX non lo richiederà.

L'impostazione di questo membro equivale all'impostazione del diciannovesimo bit del membro Value a 32 bit (0x00040000).

Supportato a partire da Windows 7.

[in] Reserved1

Questo membro è riservato e deve essere impostato su zero. L'impostazione di questo membro su zero equivale all'impostazione del ventesimo bit del membro Value a 32 bit (0x00080000).

Supportato a partire da Windows 7.

[in] NoTempSurfaceForClearTypeBlend

Valore UINT che specifica se il driver necessita di una superficie temporanea durante l'elaborazione dei comandi specificati dal membro ClearTypeBlend della struttura DXGK_RENDERKM_COMMAND . Se è impostato NoTempSurfaceForClearTypeBlend , il driver non necessita di una superficie temporanea. In questo caso, il driver userà meno memoria video.

L'impostazione di questo membro su zero equivale all'impostazione del ventunesimo bit del membro Value a 32 bit (0x00100000).

Supportato a partire da Windows 7.

[in] SupportSoftwareDeviceBitmaps

Questo membro è riservato e deve essere impostato su zero.

L'impostazione di questo membro equivale a impostare il ventiduesimo bit del membro Valore a 32 bit (0x00200000).

Supportato a partire da Windows 8.

[in] NoCacheCoherentApertureMemory

Valore UINT che specifica che il driver non supporta la memoria di apertura coerente della cache.

L'impostazione di questo membro equivale a impostare il ventitreesimo bit del membro Valore a 32 bit (0x00400000).

Supportato a partire da Windows 8.

[in] SupportLinearHeap

Il driver supporta l'allocazione dell'heap lineare dalle superfici di staging.

L'impostazione di questo membro equivale a impostare il ventiquattro bit del membro Valore a 32 bit (0x00800000).

Supportato a partire da Windows 8.

[in] Reserved

Questo membro è riservato e deve essere impostato su zero.

L'impostazione di questo membro equivale a impostare il venticinque bit del membro Valore a 32 bit (0x01000000).

Supportato a partire da Windows 8.

[in] Questo membro è riservato e deve essere impostato su zero.

L'impostazione di questo membro equivale a impostare il venticinque bit del membro Valore a 32 bit (0x02000000).

Supportato a partire da Windows 8.

Value

Valore a 32 bit che identifica le funzionalità di presentazione del driver.

Commenti

Un driver miniport visualizzato può specificare le funzionalità di presentazione impostando bit nel membro Valore a 32 bit o impostando singoli membri della struttura nell'unione che DXGK_PRESENTATIONCAPS contiene.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione d3dkmddi.h (include D3dkmddi.h)

Vedi anche

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

DxgkDdiRenderKm