Condividi tramite


D3DDDI_BLTFLAGS struttura (d3dumddi.h)

La struttura D3DDDI_BLTFLAGS identifica il tipo di trasferimento a blocchi bit (bitblt) da eseguire.

Sintassi

typedef struct _D3DDDI_BLTFLAGS {
  union {
    struct {
      UINT Point : 1;
      UINT Linear : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT MirrorLeftRight : 1;
      UINT MirrorUpDown : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT BeginPresentToDwm : 1;
      UINT ContinuePresentToDwm : 1;
      UINT EndPresentToDwm : 1;
#if ...
      UINT Reserved : 21;
      UINT Discard : 1;
      UINT NoOverwrite : 1;
      UINT Tileable : 1;
#else
      UINT Reserved : 18;
#endif
    };
    UINT Value;
  };
} D3DDDI_BLTFLAGS;

Members

Point

Valore UINT che specifica se usare il filtro del punto nel trasferimento a blocchi di bit. L'impostazione di questo membro equivale a impostare il primo bit del membro Valore a 32 bit (0x00000001).

Linear

Valore UINT che specifica se usare il filtro lineare nel trasferimento a blocchi di bit. L'impostazione di questo membro equivale a impostare il secondo bit del membro Valore a 32 bit (0x00000002).

SrcColorKey

Valore UINT che specifica se eseguire la chiave di colore di origine usando il valore nel membro ColorKey . Ovvero, qualsiasi pixel nell'area di origine che corrisponde alla chiave di colore non deve essere copiato nell'area di destinazione e tutti i pixel di origine che non corrispondono alla chiave di colore devono essere copiati.

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

DstColorKey

Valore UINT che specifica se eseguire la chiave di colore di destinazione usando il valore nel membro ColorKey . Ovvero, qualsiasi pixel nell'area di destinazione che corrisponde alla chiave di colore deve essere sostituito con il pixel corrispondente dall'area di origine e tutti i pixel di destinazione che non corrispondono alla chiave di colore non devono essere sostituiti.

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

MirrorLeftRight

Valore UINT che specifica se il contenuto della superficie di origine viene capovolto orizzontalmente lungo l'asse centrale nell'area bitblt alla superficie di destinazione. Ovvero, il contenuto sul lato sinistro della superficie di origine viene copiato sul lato destro della superficie di destinazione e viceversa.

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

MirrorUpDown

Valore UINT che specifica se il contenuto della superficie di origine viene capovolto verticalmente lungo l'asse centrale nell'area bitblt alla superficie di destinazione. Ovvero, il contenuto nella parte superiore della superficie di origine viene copiato nella parte inferiore della superficie di destinazione e viceversa.

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

LinearToSrgb

Valore UINT che specifica se convertire l'origine in formato lineare in formato sRGB durante l'operazione bitblt. il formato sRGB è corretto. Per altre informazioni sul formato sRGB, vedere il sito Web sRGB .

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

Rotate

Valore UINT che specifica se ruotare l'origine durante l'operazione bitblt.

L'impostazione di questo membro equivale a impostare l'ottavo bit del membro Valore a 32 bit (0x00000080).

BeginPresentToDwm

Valore UINT che specifica se il runtime di Microsoft Direct3D inizia un'operazione presente DWM durante l'operazione bitblt. Per altre informazioni su BeginPresentToDwm, vedere Osservazioni.

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

ContinuePresentToDwm

Valore UINT che specifica se il runtime Direct3D continua un'operazione DWM presente durante l'operazione bitblt. Per altre informazioni su ContinuePresentToDwm, vedere Osservazioni.

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

EndPresentToDwm

Valore UINT che specifica se il runtime Direct3D termina un'operazione di DWM durante l'operazione bitblt. Per altre informazioni su EndPresentToDwm, vedere Osservazioni.

L'impostazione di questo membro equivale a impostare l'undicesimo bit del membro Valore a 32 bit (0x00000400).

Reserved

Questo membro è riservato e deve essere impostato su zero. L'impostazione di questo membro su zero equivale a impostare i restanti 21 bit (0xFFFFF800) del membro Valore a 32 bit su zero.

Questo membro è riservato e deve essere impostato su zero.

L'impostazione di questo membro su zero equivale a impostare i restanti 18 bit (0xFFFFC000) del membro Valore a 32 bit su zero.

Supportato a partire da Windows 8.

Discard

Indica che il driver di visualizzazione in modalità utente può eliminare il contenuto precedente dell'intera risorsa. Il driver può sfruttare questa funzionalità per ottimizzare le prestazioni e l'utilizzo della memoria.

Se questo membro non è NULL, NoOverwrite e Tileable deve essere NULL.

L'impostazione di questo membro equivale a impostare il dodicesimo bit (0xFFFFF800) del membro Valore a 32 bit su zero.

Supportato a partire da Windows 8.

NoOverwrite

Indica che il chiamante garantisce che la parte della superficie scritta con i nuovi dati non sia attualmente a cui si fa riferimento o accede da qualsiasi operazione di rendering precedente. Il driver può sfruttare questa funzionalità per ottimizzare le prestazioni e l'utilizzo della memoria.

Se questo membro non è NULL, l'eliminazione deve essere NULL.

L'impostazione di questo membro equivale a impostare il tredicesimo bit (0x00001000) del membro Valore a 32 bit su zero.

Supportato a partire da Windows 8.

Tileable

Per il rendering posticipato basato su riquadri, indica che un'operazione di copia può funzionare solo sul riquadro attualmente elaborato nella risorsa di origine o destinazione e la scena non deve essere scaricata in tutti i riquadri.

Se questo membro non è NULL, l'eliminazione deve essere NULL.

L'impostazione di questo membro equivale a impostare il quarto bit (0x00002000) del membro Valore a 32 bit su zero.

Supportato a partire da Windows 8.

Value

Membro dell'unione contenuta in D3DDDI_BLTFLAGS che può contenere un valore a 32 bit che identifica il tipo di bitblt da eseguire.

Commenti

I flag di campo beginPresentToDwm, ContinuePresentToDwm e EndPresentToDwm informano il driver di visualizzazione in modalità utente circa l'ora in cui il runtime Direct3D esegue parti di un'operazione presente DWM. Poiché le operazioni presenti in DWM possono verificarsi in più passaggi, il runtime Direct3D usa questi flag per contrassegnare i passaggi in una sequenza di bitblts. Ad esempio:

  • Se l'operazione presente è costituita da un bitblt, il bitblt viene contrassegnato come segue:
    • BeginPresentToDwm = TRUE;
    • ContinuePresentToDwm = FALSE;
    • EndPresentToDwm = TRUE;
  • Se l'operazione presente è costituita da due bitblts, i bitblts vengono contrassegnati come illustrato in due operazioni bitblt sequenziali:
    1. Primo bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Secondo bitblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;
  • Se l'operazione presente è costituita da tre o più bitblts, i bitblts sono contrassegnati come illustrato nelle operazioni bitblt sequenziali seguenti:
    1. Primo bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Secondi e successivi bitblts, non inclusi il bitblt finale:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = TRUE;
      • EndPresentToDwm = FALSE;
    3. Bitblt finale:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDIARG_BLT

Svuotamento