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:
- Primo bitblt:
- BeginPresentToDwm = TRUE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Secondo bitblt:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = TRUE;
- Primo bitblt:
- Se l'operazione presente è costituita da tre o più bitblts, i bitblts sono contrassegnati come illustrato nelle operazioni bitblt sequenziali seguenti:
- Primo bitblt:
- BeginPresentToDwm = TRUE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Secondi e successivi bitblts, non inclusi il bitblt finale:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = TRUE;
- EndPresentToDwm = FALSE;
- Bitblt finale:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = TRUE;
- Primo bitblt:
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Intestazione | d3dumddi.h (include D3dumddi.h) |