struktur DXGK_GDIARG_BITBLT (d3dkmddi.h)

Struktur DXGK_GDIARG_BITBLT menjelaskan karakteristik transfer blok bit (bitblt) yang dipercepat perangkat keras GDI tanpa peregangan.

Sintaks

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;

Anggota

[in] SrcRect

Struktur RECT yang mendefinisikan area persegi panjang yang akan disalin. Persegi panjang ini ditentukan dalam sistem koordinat permukaan sumber dan didefinisikan oleh dua titik: kiri atas dan kanan bawah. Dua titik yang menentukan persegi panjang selalu diurutkan dengan baik.

Persegi panjang sumber dapat melebihi batas permukaan sumber.

Persegi panjang ini dipetakan ke persegi panjang tujuan yang ditentukan oleh DstRect. SrcRect digunakan untuk mengubah sub-persegi dari ruang sumber ke ruang tujuan.

Untuk informasi lebih lanjut, lihat bagian Keterangan.

[in] DstRect

Struktur RECT yang mendefinisikan area persegi panjang yang akan dimodifikasi. Persegi panjang ini ditentukan dalam sistem koordinat permukaan tujuan dan didefinisikan oleh dua titik: kiri atas dan kanan bawah. Persegi panjang eksklusif kanan bawah; artinya, tepi bawah dan kanannya bukan bagian dari transfer bit-block. Dua titik yang menentukan persegi panjang selalu diurutkan dengan baik.

Persegi panjang tujuan yang ditentukan oleh DstRect dapat melebihi batas permukaan tujuan, tetapi sub-persegi tidak dapat. Selain itu, semua sub-persegi panjang dijamin pas di dalam permukaan tujuan. Sub-persegi dapat dibatasi lebih lanjut oleh persegi panjang pembatas yang lebih kecil dari persegi panjang tujuan.

Untuk informasi lebih lanjut, lihat bagian Keterangan.

SrcAllocationIndex

[in] Indeks elemen dalam daftar alokasi yang menentukan alokasi yang direferensikan oleh persegi panjang sumber SrcRect .

DstAllocationIndex

[in] Indeks elemen dalam daftar alokasi yang menentukan alokasi yang direferensikan oleh persegi panjang tujuan DstRect .

NumSubRects

[in] Jumlah sub-persegi panjang di ruang permukaan tujuan yang dibatasi oleh persegi panjang tujuan DstRect .

pSubRects

[in] Penunjuk ke sub-persegi di ruang permukaan tujuan yang dibatasi oleh persegi panjang tujuan DstRect .

Rop

[in] Nilai 8-bit yang menentukan operasi raster GDI (ROP) yang ditentukan oleh nilai konstanta enumerasi DXGK_GDIROP_BITBLT .

Rop3

[in] Nilai 8-bit yang menentukan operasi raster GDI terner (ROP3) yang menggabungkan kuas, bitmap sumber, dan bitmap tujuan dalam salah satu dari 256 kombinasi yang mungkin. Jenis operasi raster ini akan diproses hanya jika driver telah mengatur anggota SupportAllBltRops dalam struktur DXGK_PRESENTATIONCAPS .

SrcPitch

[in] Pitch permukaan sumber, dalam byte. Untuk informasi selengkapnya tentang menggunakan nada, lihat bagian Keterangan.

DstPitch

[in] Nada permukaan tujuan, dalam byte. Untuk informasi selengkapnya tentang menggunakan nada, lihat bagian Keterangan.

Keterangan

Nilai pitch SrcPitch dan DstPitch harus digunakan untuk menentukan lokasi byte persegi panjang SrcRect dan DstRect , masing-masing, untuk alokasi jenis D3DKMDT_GDISURFACETYPE berikut:

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

Pitch harus diabaikan untuk jenis alokasi lainnya.

Pitch dijamin akan diselaraskan dalam transfer blok bit sesuai dengan anggota AlignmentShift dari struktur DXGK_PRESENTATIONCAPS (yaitu, DXGK_DRIVERCAPS. PresentationCaps.AlignmentShift).

Di mana persegi panjang ditentukan oleh dua piksel pada koordinat (kiri, atas) dan (kanan, bawah), alamat piksel pertama adalah:

Allocation.BaseAddress + (top * Pitch) + (left * 4)

Alamat piksel terakhir persegi panjang adalah:

Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)

Ketika sub-persegi ditransformasikan ke ruang permukaan sumber, hasilnya dijamin berada di dalam permukaan sumber. Transformasi ini ditentukan oleh rumus berikut:

<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;

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7
Header d3dkmddi.h (termasuk D3dkmddi.h)

Lihat juga

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT