DXGK_GDIARG_BITBLT struttura (d3dkmddi.h)
La struttura DXGK_GDIARG_BITBLT descrive le caratteristiche di un trasferimento in bit accelerato dall'hardware GDI (bitblt) senza estensione.
Sintassi
typedef struct _DXGK_GDIARG_BITBLT {
[in] RECT SrcRect;
[in] RECT DstRect;
UINT SrcAllocationIndex;
UINT DstAllocationIndex;
UINT NumSubRects;
RECT *pSubRects;
WORD Rop;
WORD Rop3;
UINT SrcPitch;
UINT DstPitch;
} DXGK_GDIARG_BITBLT;
Members
[in] SrcRect
Struttura RECT che definisce l'area rettangolare da copiare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di origine e viene definito da due punti: in alto a sinistra e in basso a destra. I due punti che definiscono il rettangolo sono sempre ordinati.
Il rettangolo di origine può superare i limiti della superficie di origine.
Questo rettangolo viene mappato al rettangolo di destinazione definito da DstRect. SrcRect viene usato per trasformare i sotto rettangoli dallo spazio di origine allo spazio di destinazione.
Per altre informazioni, vedere la sezione Osservazioni.
[in] DstRect
Struttura RECT che definisce l'area rettangolare da modificare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di destinazione e viene definito da due punti: in alto a sinistra e in basso a destra. Il rettangolo è esclusivo in basso a destra; ovvero, i suoi bordi inferiori e destro non fanno parte del trasferimento a blocchi di bit. I due punti che definiscono il rettangolo sono sempre ordinati.
Il rettangolo di destinazione definito da DstRect può superare i limiti della superficie di destinazione, ma i sotto rettangoli non possono. Inoltre, tutti i sotto rettangoli sono garantiti per adattarsi all'interno dell'area di destinazione. I rettangoli secondari possono essere vincolati ulteriormente da un rettangolo di selezione minore del rettangolo di destinazione.
Per altre informazioni, vedere la sezione Osservazioni.
SrcAllocationIndex
[in] Indice dell'elemento nell'elenco di allocazione che specifica l'allocazione a cui fa riferimento il rettangolo di origine SrcRect .
DstAllocationIndex
[in] Indice dell'elemento nell'elenco di allocazione che specifica l'allocazione a cui fa riferimento il rettangolo di destinazione DstRect .
NumSubRects
[in] Numero di rettangoli secondari nello spazio della superficie di destinazione associato al rettangolo di destinazione DstRect .
pSubRects
[in] Puntatore ai sotto rettangoli nello spazio di superficie di destinazione associato al rettangolo di destinazione DstRect .
Rop
[in] Valore a 8 bit che specifica un'operazione raster GDI definita dai valori costanti dell'enumerazione DXGK_GDIROP_BITBLT .
Rop3
[in] Valore a 8 bit che specifica un'operazione raster GDI ternaria (ROP3) che combina un pennello, una bitmap di origine e una bitmap di destinazione in una delle 256 possibili combinazioni. Questo tipo di operazione raster verrà elaborato solo se il driver ha impostato il membro SupportAllBltRops nella struttura DXGK_PRESENTATIONCAPS .
SrcPitch
[in] Passo della superficie di origine, in byte. Per altre informazioni sull'uso del campo, vedere La sezione Osservazioni.
DstPitch
[in] Passo della superficie di destinazione, in byte. Per altre informazioni sull'uso del campo, vedere La sezione Osservazioni.
Commenti
I valori di passo SrcPitch e DstPitch devono essere usati per determinare le posizioni di byte dei rettangoli SrcRect e DstRect , rispettivamente, per le allocazioni seguenti di tipo D3DKMDT_GDISURFACETYPE:
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE
D3DKMDT_GDISURFACE_EXISTINGSYSMEM
Il passo deve essere ignorato per altri tipi di allocazione.
Il passo è garantito che sia allineato nel trasferimento a blocchi bit in base al membro AlignShift della struttura DXGK_PRESENTATIONCAPS , ovvero DXGK_DRIVERCAPS. PresentationCaps.AlignmentShift.
Dove un rettangolo è definito da due pixel alle coordinate (a sinistra, in alto) e (a destra, in basso), l'indirizzo del primo pixel è:
Allocation.BaseAddress + (top * Pitch) + (left * 4)
L'indirizzo dell'ultimo pixel del rettangolo è:
Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)
Quando i sotto rettangoli vengono trasformati nello spazio di superficie di origine, il risultato è garantito all'interno della superficie di origine. Questa trasformazione è definita dalla formula seguente:
<SrcSubRect.left = SubRect.left - DstRect.left + SrcRect.left;
SrcSubRect.right = SubRect.right - DstRect.left + SrcRect.left;
SrcSubRect.top = SubRect.top - DstRect.top + SrcRect.top;
SrcSubRect.bottom = SubRect.bottom - DstRect.top + SrcRect.top;
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 |
Intestazione | d3dkmddi.h (include D3dkmddi.h) |