struktur DXGK_VIDSCHCAPS (d3dkmddi.h)

Struktur DXGK_VIDSCHCAPS mengidentifikasi kemampuan penjadwalan unit pemrosesan grafis (GPU), dalam bendera bidang bit, yang dapat didukung driver.

Sintaks

typedef struct _DXGK_VIDSCHCAPS {
  union {
    struct {
      UINT MultiEngineAware : 1;
      UINT VSyncPowerSaveAware : 1;
      UINT PreemptionAware : 1;
      UINT NoDmaPatching : 1;
      UINT CancelCommandAware : 1;
      UINT No64BitAtomics : 1;
      UINT LowIrqlPreemptCommand : 1;
      UINT HwQueuePacketCap : 4;
      UINT NativeGpuFence : 1;
#if ...
      UINT Reserved : 20;
#elif
      UINT Reserved : 21;
#elif
      UINT Reserved : 25;
#elif
      UINT Reserved : 27;
#else
      UINT Reserved : 30;
#endif
    };
    UINT Value;
  };
} DXGK_VIDSCHCAPS;

Anggota

MultiEngineAware

Nilai UINT yang menentukan apakah driver mendukung pembuatan dan penghancuran konteks perangkat (melalui fungsi DxgkDdiCreateContext dan DxgkDdiDestroyContext ) dan penggunaan konteks perangkat (melalui fungsi DxgkDdiPresent dan DxgkDdiRender ). Jika driver tidak mendukung pembuatan konteks, untuk setiap panggilan ke driver yang akan meneruskan handel ke konteks, subsistem kernel grafis Microsoft DirectX menggantikan handel ke konteks dengan handel ke perangkat.

Mengatur anggota ini setara dengan mengatur bit pertama anggota Nilai 32-bit (0x00000001).

VSyncPowerSaveAware

Nilai UINT yang menentukan apakah driver mendukung fungsionalitas penghematan daya sinkronisasi vertikal.

Jika VSyncPowerSaveAware diatur ke 1 (TRUE), sistem operasi dapat menghemat daya dengan menonaktifkan dan mengaktifkan gangguan sinkronisasi vertikal yang terjadi dari penggunaan beberapa aplikasi. Jika VSyncPowerSaveAware diatur ke nol (FALSE), sistem operasi tidak akan pernah menonaktifkan gangguan sinkronisasi vertikal untuk aplikasi yang dapat menyebabkan gangguan sinkronisasi vertikal terjadi.

Mengatur anggota ini setara dengan mengatur bit kedua anggota Nilai 32-bit (0x00000002).

Didukung dimulai dengan Windows Server 2008 dan Windows Vista dengan SP1.

PreemptionAware

Nilai UINT yang menentukan apakah driver mendukung kebijakan preemsi GPU Windows 8 dan versi Windows yang lebih baru. Dengan kebijakan ini, sistem operasi selalu mengeluarkan permintaan preemption ke GPU sebelum memulai proses **Timeout Detection and Recovery (TDR).

Jika PreemptionAware diatur ke 1 (TRUE), driver mendukung kebijakan preemption Windows 8 dan versi Windows yang lebih baru.

Jika PreemptionAware diatur ke nol (FALSE), driver mendukung kebijakan preemsi Windows 7. Dengan kebijakan ini, sistem operasi mungkin tidak mengeluarkan permintaan preemption sementara operasi yang berpotensi berjalan lama sedang dijalankan pada GPU. Akibatnya, permintaan GPU ini tidak didahului sebelum proses TDR dimulai. Ini dapat menyebabkan proses TDR berulang kali mengatur ulang GPU yang dapat menyebabkan kesalahan penghentian sistem.

Catatan

Jika PreemptionAware diatur ke 1, anggota MultiEngineAware juga harus diatur ke nilai 1. Jika PreemptionAware diatur ke 1 tetapi MultiEngineAware diatur ke nol, sistem operasi akan menghentikan proses inisialisasi driver dan mengembalikan kode kegagalan.

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

Didukung dimulai dengan Windows 8.

NoDmaPatching

Nilai UINT yang menentukan apakah driver menonaktifkan deteksi kebocoran untuk buffer DMA yang dibagi menjadi beberapa bagian. Deteksi ini dilakukan setelah fungsi DxgkDdiPatch driver dipanggil untuk menetapkan, atau menambal, alamat fisik ke setiap bagian buffer DMA.

Catatan

Menampilkan perangkat yang mendukung alamat virtual dapat memprogram ulang alamat virtual ke lokasi memori video baru tanpa harus menambal nilai alamat buffer DMA. Untuk jenis perangkat tampilan ini, driver harus mengatur NoDmaPatching ke 1.

Jika NoDmaPatching diatur ke 1 (TRUE), driver menonaktifkan deteksi kebocoran, dan perilaku pemisahan buffer DMA sama seperti di Windows 7.

Jika NoDmaPatching diatur ke 0 (FALSE), driver memungkinkan deteksi kebocoran untuk alamat buffer DMA yang di-patch. Sistem operasi melakukan deteksi kebocoran sebelum memanggil fungsi DxgkDdiPatch driver.

Catatan

Jika NoDmaPatching diatur ke 1, anggota PreemptionAware dan MultiEngineAware juga harus diatur ke nilai 1. Jika NoDmaPatching diatur ke 1 tetapi PreemptionAware atau MultiEngineAware diatur ke nol, sistem operasi akan menghentikan proses inisialisasi driver dan mengembalikan kode kegagalan.

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

Didukung dimulai dengan Windows 8.

CancelCommandAware

Nilai UINT yang menentukan apakah driver mendukung pembersihan sumber daya internal (melalui fungsi DxgkDdiCancelCommand ) setelah perintah dihapus dari antrean perangkat keras.

Jika CancelCommandAware diatur ke 1 (TRUE), driver mendukung pembersihan sumber daya yang terkait dengan paket DMA yang dibatalkan. Jika CancelCommandAware diatur ke nol (FALSE), driver tidak mendukung pembersihan sumber daya.

Catatan

Jika CancelCommandAware diatur ke 1, anggota MultiEngineAware juga harus diatur ke nilai 1. Jika CancelCommandAware diatur ke 1 tetapi MultiEngineAware diatur ke nol, sistem operasi mengembalikan kode kegagalan.

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

Didukung dimulai dengan Windows 8.

No64BitAtomics

Nilai Makna
TRUE Menunjukkan GPU hanya mampu memperbarui nilai 32 bit secara atomik. Dalam hal ini, OS akan menangani kasus wraparound pagar secara otomatis, namun akan menempatkan pembatasan bahwa nilai pagar tunggu dan sinyal yang luar biasa tidak boleh lebih dari UINT_MAX/2 selain dari nilai pagar terakhir yang disinyalir.
FALSE Menunjukkan GPU mampu memperbarui nilai 64 bit secara atomik seperti yang terlihat oleh CPU.

Didukung dimulai dengan Windows 10.

LowIrqlPreemptCommand

HwQueuePacketCap

Jumlah maksimum paket DMA yang diizinkan untuk diantrekan ke node.

NativeGpuFence

Reserved

Anggota ini dicadangkan dan harus diatur ke nol.

Value

Anggota dalam serikat yang DXGK_VIDSCHCAPS berisi yang dapat menyimpan nilai 32-bit yang mengidentifikasi kemampuan penjadwalan GPU yang dapat didukung driver.

Persyaratan

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

Lihat juga

DXGK_DRIVERCAPS

DxgkDdiCancelCommand

DxgkDdiCreateContext

DxgkDdiDestroyContext

DxgkDdiPatch

DxgkDdiPresent

DxgkDdiRender