struktur DXGI1_1_DDI_BASE_FUNCTIONS (dxgiddi.h)

Struktur DXGI1_1_DDI_BASE_FUNCTIONS berisi pointer ke fungsi yang dapat diterapkan driver tampilan mode pengguna untuk melakukan tugas tingkat rendah seperti menyajikan bingkai yang dirender ke output, mengontrol gamma, mendapatkan pemberitahuan mengenai permukaan bersama dan GDI yang dapat dioperasikan, dan mengelola transisi layar penuh.

Sintaks

typedef struct DXGI1_1_DDI_BASE_FUNCTIONS {
  HRESULT()(DXGI_DDI_ARG_PRESENT *) * pfnPresent;
  HRESULT()(DXGI_DDI_ARG_GET_GAMMA_CONTROL_CAPS *) * pfnGetGammaCaps;
  HRESULT()(DXGI_DDI_ARG_SETDISPLAYMODE *) * pfnSetDisplayMode;
  HRESULT()(DXGI_DDI_ARG_SETRESOURCEPRIORITY *) * pfnSetResourcePriority;
  HRESULT()(DXGI_DDI_ARG_QUERYRESOURCERESIDENCY *) * pfnQueryResourceResidency;
  HRESULT()(DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES *) * pfnRotateResourceIdentities;
  HRESULT()(DXGI_DDI_ARG_BLT *) * pfnBlt;
  HRESULT()(DXGI_DDI_ARG_RESOLVESHAREDRESOURCE *) * pfnResolveSharedResource;
} DXGI1_1_DDI_BASE_FUNCTIONS;

Anggota

pfnPresent

Penunjuk ke fungsi PresentDXGI driver.

pfnGetGammaCaps

Penunjuk ke fungsi GetGammaCapsDXGI driver.

pfnSetDisplayMode

Fungsi SetDisplayModeDXGI beralih ke mode tampilan atau primer yang tidak didukung desktop GDI.

Runtime Microsoft Direct3D memanggil SetDisplayModeDXGI untuk beralih ke mode tampilan atau primer yang tidak didukung desktop GDI. Daftar berikut ini menjelaskan contoh utama tersebut:

  • Utama yang dibuat dengan tampilan 10-bits-per-channel (10:10:10:2) dan merender format target (misalnya, D3DFMT_A2R10G10B10)
  • Beberapa sampel utama di mana multi-pengambilan sampel dilakukan saat memindai keluar
  • Utama persisten yang digunakan aplikasi Microsoft DirectX versi 10 layar penuh
Runtime Direct3D memanggil fungsi CreateResource (D3D10) driver tampilan mode pengguna untuk membuat primer yang akan dipindai. Namun, driver harus memprogram perangkat keras untuk memindai hanya ketika fungsi SetDisplayModeDXGI dipanggil. Oleh karena itu, runtime mengatur anggota hResource dan SubResourceIndex dari struktur DXGI_DDI_ARG_SETDISPLAYMODE yang diarahkan oleh parameter pDisplayModeData ke primer yang dibuat melalui panggilan ke fungsi CreateResourceD3D10 driver. Driver kemudian harus menerjemahkan primer yang diwakili hResource dan SubResourceIndex ke handel alokasi utama. Setelah driver membuat terjemahan ini, driver harus melewati handel yang dihasilkan dalam panggilan ke fungsi pfnSetDisplayModeCb , yang kemudian memulai panggilan ke fungsi DxgkDdiCommitVidPn driver miniport tampilan.

Driver tampilan mode pengguna dapat mengatur anggota hPrimaryAllocation dari struktur D3DDDICB_SETDISPLAYMODE dalam panggilan ke pfnSetDisplayModeCb untuk memindai alokasi apa pun. Namun, alokasi harus ditandai sebagai primer (yaitu, driver tampilan mode pengguna harus mengatur bendera bit-field Utama di anggota Bendera struktur D3DDDI_ALLOCATIONINFO dalam panggilan ke fungsi pfnAllocateCb untuk membuat alokasi).

pDisplayModeData

Penunjuk ke struktur DXGI_DDI_ARG_SETDISPLAYMODE yang menentukan parameter untuk mengatur mode tampilan.

pfnSetResourcePriority

Penunjuk ke fungsi SetResourcePriorityDXGI driver.

pfnQueryResourceResidency

Penunjuk ke fungsi QueryResourceResidencyDXGI driver.

pfnRotateResourceIdentities

Penunjuk ke fungsi RotateResourceIdentitiesDXGI driver.

pfnBlt

Penunjuk ke fungsi BltDXGI driver.

pfnResolveSharedResource

Fungsi ResolveSharedResourceDXGI menginformasikan driver tampilan mode pengguna bahwa kepemilikan permukaan bersama berubah atau bahwa permukaan sedang digunakan untuk interoperasi GDI.

Runtime Direct3D memanggil ResolveSharedResourceDXGI saat aplikasi memanggil salah satu fungsi berikut:

  • IDXGIKeyedMutex::ReleaseSynch pada permukaan bersama yang disinkronkan
  • IDXGISurface1::GetDC untuk permukaan interoperabilitas GDI
Runtime memanggil fungsi ResolveSharedResourceDXGI driver setiap kali pemilik permukaan bersama berubah atau ketika permukaan digunakan untuk interoperase GDI.

Driver mengimplementasikan ResolveSharedResourceDXGI untuk mengelola sumber daya dengan tepat untuk beberapa skenario GPU. Setiap sumber daya mungkin dibagi di seluruh memori untuk beberapa GPU untuk dirender. Driver dapat menerapkan ResolveSharedResourceDXGI untuk memendam ulang setiap sumber daya sehingga pemilik sumber daya baru memiliki sumber daya gabungan. Driver harus membersihkan buffer perintah yang dibuat sebagian yang mungkin memodifikasi sumber daya.

Windows 7 menyediakan makro IS_DXGI1_1_BASE_FUNCTIONS (yang didefinisikan dalam file header D3D10umddi.h) untuk memungkinkan driver tampilan mode pengguna menentukan apakah menerima penunjuk ke struktur DXGI1_1_DDI_BASE_FUNCTIONS atau DXGI_DDI_BASE_FUNCTIONS dalam panggilan ke fungsi CreateDevice (D3D10). Struktur DXGI1_1_DDI_BASE_FUNCTIONS mencakup anggota pfnResolveSharedResource yang dapat diisi driver dengan penunjuk ke fungsi ResolveSharedResourceDXGI-nya . Jika IS_DXGI1_1_BASE_FUNCTIONS mengembalikan TRUE, driver mengharapkan untuk menerima penunjuk ke struktur DXGI1_1_DDI_BASE_FUNCTIONS di anggota pDXGIDDIBaseFunctions dari struktur DXGI_DDI_BASE_ARGS yang ditentukan anggota DXGIBaseDDI dari struktur D3D10DDIARG_CREATEDEVICE . Jika tidak, jika IS_DXGI1_1_BASE_FUNCTIONS mengembalikan FALSE, driver mengharapkan untuk menerima pointer ke struktur DXGI_DDI_BASE_FUNCTIONS. Windows 7 menyediakan makro IS_DXGI1_1_BASE_FUNCTIONS untuk memungkinkan driver versi yang lebih baru bekerja pada runtime versi yang lebih lama. Driver kemudian dapat menentukan apakah mereka akan merusak memori jika mereka mencoba mengisi anggota pfnResolveSharedResourcedari DXGI1_1_DDI_BASE_FUNCTIONS dengan penunjuk ke fungsi ResolveSharedResourceDXGI .

pResourceData

Penunjuk ke struktur DXGI_DDI_ARG_RESOLVESHAREDRESOURCE yang menentukan parameter untuk perangkat tampilan dan permukaan yang terkait dengan perangkat tampilan.

Keterangan

Windows 7 menyediakan makro IS_DXGI1_1_BASE_FUNCTIONS (yang ditentukan dalam file header D3D10umddi.h) untuk memungkinkan driver tampilan mode pengguna menentukan apakah menerima penunjuk ke struktur DXGI1_1_DDI_BASE_FUNCTIONS atau DXGI_DDI_BASE_FUNCTIONS dalam panggilan ke fungsi CreateDevice (D3D10). Struktur DXGI1_1_DDI_BASE_FUNCTIONS mencakup anggota pfnResolveSharedResource yang dapat diisi driver dengan penunjuk ke fungsi ResolveSharedResourceDXGI-nya . Jika IS_DXGI1_1_BASE_FUNCTIONS mengembalikan TRUE, driver mengharapkan untuk menerima penunjuk ke struktur DXGI1_1_DDI_BASE_FUNCTIONS di anggota pDXGIDDIBaseFunctions dari struktur DXGI_DDI_BASE_ARGS yang ditentukan anggota DXGIBaseDDI dari struktur D3D10DDIARG_CREATEDEVICE . Jika tidak, jika IS_DXGI1_1_BASE_FUNCTIONS mengembalikan FALSE, driver mengharapkan untuk menerima pointer ke struktur DXGI_DDI_BASE_FUNCTIONS. Windows 7 menyediakan makro IS_DXGI1_1_BASE_FUNCTIONS untuk memungkinkan driver versi yang lebih baru bekerja pada runtime versi yang lebih lama. Driver kemudian dapat menentukan apakah mereka akan merusak memori jika mereka mencoba mengisi anggota pfnResolveSharedResourcedari DXGI1_1_DDI_BASE_FUNCTIONS dengan penunjuk ke fungsi ResolveSharedResourceDXGI .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung DXGI1_1_DDI_BASE_FUNCTIONS didukung dimulai dengan sistem operasi Windows 7.
Header dxgiddi.h (termasuk D3d10umddi.h)

Lihat juga

BltDXGI

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

DXGI_DDI_BASE_ARGS

DXGI_DDI_BASE_FUNCTIONS

GetGammaCapsDXGI

PresentDXGI

QueryResourceResidencyDXGI

ResolveSharedResource

ResolveSharedResourceDXGI

RotateResourceIdentitiesDXGI

SetDisplayModeDXGI

SetResourcePriorityDXGI