Bagikan melalui


struktur D3DDDI_BLTFLAGS (d3dumddi.h)

Struktur D3DDDI_BLTFLAGS mengidentifikasi jenis transfer blok bit (bitblt) yang akan dilakukan.

Sintaks

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;

Anggota

Point

Nilai UINT yang menentukan apakah akan menggunakan pemfilteran titik dalam transfer blok bit. Mengatur anggota ini setara dengan mengatur bit pertama anggota Nilai 32-bit (0x00000001).

Linear

Nilai UINT yang menentukan apakah akan menggunakan pemfilteran linier dalam transfer blok bit. Mengatur anggota ini setara dengan mengatur bit kedua anggota Nilai 32-bit (0x00000002).

SrcColorKey

Nilai UINT yang menentukan apakah akan melakukan keying warna sumber dengan menggunakan nilai di anggota ColorKey . Artinya, piksel apa pun di permukaan sumber yang cocok dengan kunci warna tidak boleh disalin ke permukaan tujuan, dan semua piksel sumber yang tidak cocok dengan kunci warna harus disalin.

Mengatur anggota ini setara dengan mengatur bit ketiga dari anggota Nilai 32-bit (0x00000004).

DstColorKey

Nilai UINT yang menentukan apakah akan melakukan penekanan kunci warna tujuan dengan menggunakan nilai di anggota ColorKey . Artinya, piksel apa pun di permukaan tujuan yang cocok dengan kunci warna harus diganti dengan piksel yang sesuai dari permukaan sumber, dan semua piksel tujuan yang tidak cocok dengan kunci warna tidak boleh diganti.

Mengatur anggota ini setara dengan mengatur bit keempat dari anggota Nilai 32-bit (0x00000008).

MirrorLeftRight

Nilai UINT yang menentukan apakah isi permukaan sumber dibalik secara horizontal di sepanjang sumbu tengah dalam bitblt ke permukaan tujuan. Artinya, konten di sisi kiri permukaan sumber disalin ke sisi kanan permukaan tujuan, dan sebaliknya.

Mengatur anggota ini setara dengan mengatur bit kelima dari anggota Nilai 32-bit (0x00000010).

MirrorUpDown

Nilai UINT yang menentukan apakah konten permukaan sumber dibalik secara vertikal di sepanjang sumbu tengah dalam bitblt ke permukaan tujuan. Artinya, konten di bagian atas permukaan sumber disalin ke bagian bawah permukaan tujuan, dan sebaliknya.

Mengatur anggota ini setara dengan mengatur bit keenam dari anggota Nilai 32-bit (0x00000020).

LinearToSrgb

Nilai UINT yang menentukan apakah akan mengonversi sumber berformat linier ke format sRGB selama operasi bitblt. format sRGB dikoreksi gamma. Untuk informasi selengkapnya tentang format sRGB, lihat situs web sRGB .

Mengatur anggota ini setara dengan mengatur bit ketujuh dari anggota Nilai 32-bit (0x00000040).

Rotate

Nilai UINT yang menentukan apakah akan memutar sumber selama operasi bitblt.

Mengatur anggota ini setara dengan mengatur bit kedelapan dari anggota Nilai 32-bit (0x00000080).

BeginPresentToDwm

Nilai UINT yang menentukan apakah runtime Microsoft Direct3D memulai operasi DWM yang ada selama operasi bitblt. Untuk informasi selengkapnya tentang BeginPresentToDwm, lihat Keterangan.

Mengatur anggota ini setara dengan mengatur bit kesembilan anggota Nilai 32-bit (0x00000100).

ContinuePresentToDwm

Nilai UINT yang menentukan apakah runtime Direct3D melanjutkan operasi DWM yang ada selama operasi bitblt. Untuk informasi selengkapnya tentang ContinuePresentToDwm, lihat Keterangan.

Mengatur anggota ini setara dengan mengatur bit kesepuluh dari anggota Nilai 32-bit (0x00000200).

EndPresentToDwm

Nilai UINT yang menentukan apakah runtime Direct3D mengakhiri operasi DWM yang ada selama operasi bitblt. Untuk informasi selengkapnya tentang EndPresentToDwm, lihat Keterangan.

Mengatur anggota ini setara dengan mengatur bit ke-sebelas dari anggota Nilai 32-bit (0x00000400).

Reserved

Anggota ini dicadangkan dan harus diatur ke nol. Mengatur anggota ini ke nol setara dengan mengatur 21 bit yang tersisa (0xFFFFF800) dari anggota Nilai 32-bit ke nol.

Anggota ini dicadangkan dan harus diatur ke nol.

Mengatur anggota ini ke nol setara dengan mengatur 18 bit yang tersisa (0xFFFFC000) dari anggota Nilai 32-bit ke nol.

Didukung dimulai dengan Windows 8.

Discard

Menunjukkan bahwa driver tampilan mode pengguna dapat membuang konten sebelumnya dari seluruh sumber daya. Driver dapat memanfaatkan kemampuan ini untuk mengoptimalkan performa dan penggunaan memori.

Jika anggota ini bukan NULL, NoOverwrite dan Tileable harus NULL.

Mengatur anggota ini setara dengan mengatur bit dua belas (0xFFFFF800) dari anggota Nilai 32-bit ke nol.

Didukung dimulai dengan Windows 8.

NoOverwrite

Menunjukkan bahwa penelepon menjamin bahwa bagian permukaan yang sedang ditulis dengan data baru saat ini tidak sedang direferensikan atau diakses oleh operasi render sebelumnya. Driver dapat memanfaatkan kemampuan ini untuk mengoptimalkan performa dan penggunaan memori.

Jika anggota ini bukan NULL, Buang harus NULL.

Mengatur anggota ini setara dengan mengatur bit ketiga belas (0x00001000) dari anggota Nilai 32-bit ke nol.

Didukung dimulai dengan Windows 8.

Tileable

Untuk rendering yang ditangguhkan berbasis petak peta, menunjukkan bahwa operasi salin hanya dapat beroperasi pada petak peta yang saat ini diproses di sumber daya sumber atau tujuan, dan adegan tidak harus dibersihkan di semua petak peta.

Jika anggota ini bukan NULL, Buang harus NULL.

Mengatur anggota ini setara dengan mengatur bit keempat belas (0x00002000) dari anggota Nilai 32-bit ke nol.

Didukung dimulai dengan Windows 8.

Value

Anggota dalam gabungan yang terkandung dalam D3DDDI_BLTFLAGS yang dapat menyimpan satu nilai 32-bit yang mengidentifikasi jenis bitblt yang akan dilakukan.

Keterangan

Bendera bit-field BeginPresentToDwm, ContinuePresentToDwm, dan EndPresentToDwm menginformasikan driver tampilan mode pengguna tentang waktu ketika runtime Direct3D melakukan bagian dari operasi DWM yang ada. Karena operasi DWM yang ada dapat terjadi dalam beberapa langkah, runtime Direct3D menggunakan bendera ini untuk menandai langkah-langkah dalam urutan bitblt. Contohnya:

  • Jika operasi saat ini terdiri dari satu bitblt, bitblt ditandai sebagai berikut:
    • BeginPresentToDwm = BENAR;
    • ContinuePresentToDwm = FALSE;
    • EndPresentToDwm = BENAR;
  • Jika operasi saat ini terdiri dari dua bitblt, bitblt ditandai seperti yang ditunjukkan dalam dua operasi bitblt berurutan:
    1. Bitblt pertama:
      • BeginPresentToDwm = BENAR;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Bitblt kedua:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = BENAR;
  • Jika operasi saat ini terdiri dari tiga bitblt atau lebih, bitblt ditandai seperti yang ditunjukkan dalam operasi bitblt berurutan berikut:
    1. Bitblt pertama:
      • BeginPresentToDwm = BENAR;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Bitblt kedua dan berturut-turut, tidak termasuk bitblt akhir:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = BENAR;
      • EndPresentToDwm = FALSE;
    3. Bitblt akhir:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = BENAR;

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Header d3dumddi.h (termasuk D3dumddi.h)

Lihat juga

D3DDDIARG_BLT

Flush