Pengecualian

Beberapa fitur Direct3D 11 tidak sepenuhnya ditentukan oleh tingkat fitur. Topik ini menjelaskan pengecualian saat menggunakan Direct3D 11 pada perangkat keras tingkat bawah. Mungkin fitur ditambahkan setelah tingkat fitur ditentukan (dan memerlukan driver yang diperbarui) atau mungkin GPU yang berbeda menerapkan implementasi yang sangat berbeda. Pengecualian tingkat fitur dapat dikumpulkan ke dalam grup berikut:

Bagian Referensi 10Level9 mencantumkan perbedaan antara bagaimana berbagai metode ID3D11Device dan ID3D11DeviceContext bereaksi pada berbagai tingkat fitur 10Level9.

Format yang Diperluas

Format yang diperluas adalah format piksel yang ditambahkan ke Direct3D 10.1 dan Direct3D 11 untuk tingkat fitur 10_0 dan 10_1. Format yang diperluas memerlukan driver yang diperbarui (untuk Direct3D 10_1 atau di bawahnya). Gunakan ID3D11Device::CheckFormatSupport dan ID3D11Device::CheckFeatureSupport untuk meminta dukungan untuk format yang diperluas ini.

Format yang diperluas:

  • Menambahkan dukungan untuk urutan BGRA sumber daya 8-bit per komponen.
  • Memungkinkan transmisi buffer rantai pertukaran nilai bilangan bulat. Ini memungkinkan aplikasi untuk menambahkan atau menghapus akhiran _SRGB atau merender ke rantai pertukaran XR_BIAS.
  • Menambahkan dukungan opsional untuk DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM.
  • Menjamin bahwa rantai pertukaran DXGI_FORMAT_R16G16B16A16_FLOAT disajikan seolah-olah data yang terkandung tidak dikodekan sRGB.

Set lengkap format yang diperluas didukung sepenuhnya atau tidak didukung, dengan pengecualian format XR_BIAS. Format XR_BIAS adalah:

  • Tidak didukung di tingkat 9 apa pun
  • Opsional di tingkat 10_0 atau 10_1
  • Dijamin pada tingkat 11_0

Multisample Anti-Aliasing

Implementasi MSAA memiliki sedikit kesamaan di seluruh implementasi GPU. Feature Level 10.1 menambahkan beberapa minima yang terdefinisi dengan baik, tetapi pada tingkat fitur yang lebih rendah, MSAA harus diuji secara eksplisit menggunakan ID3D11Device::CheckMultisampleQualityLevels.

Ukuran Texture2D

Tingkat fitur menjamin bahwa ukuran minimum dapat dibuat, namun, aplikasi dapat membuat tekstur yang lebih besar hingga ukuran penuh yang didukung oleh GPU. Aplikasi harus mengharapkan kegagalan dari metode seperti ID3D11Device::CreateTexture2D jika maksimum terlampaui.

Perilaku Khusus Adapter untuk Tingkat Fitur 9

Tiga tingkat fitur terendah D3D_FEATURE_LEVEL_9_1, D3D_FEATURE_LEVEL_9_2 dan D3D_FEATURE_LEVEL_9_3, berbagi DLL implementasi umum dan memperlakukan argumen IDXGIAdapter ke D3D11CreateDevice[AndSwapchain] sebagai adaptor templat dan membuat adaptor mereka sendiri sebagai bagian dari pembuatan perangkat. Ini berarti bahwa IDXGIAdapter yang diteruskan ke dalam rutinitas pembuatan tidak akan menjadi adaptor yang sama dengan yang diambil dari perangkat melalui IDXGIDevice::GetAdapter. Dampaknya adalah bahwa IDXGIOutputs yang dijumlahkan dari adaptor yang diteruskan tidak dapat digunakan untuk memasukkan layar penuh menggunakan perangkat tingkat 9 apa pun, karena output tersebut tidak dimiliki oleh adaptor perangkat. Adalah praktik yang baik untuk membuang adaptor templat yang diteruskan dan mengambil adaptor yang dibuat perangkat menggunakan IDXGIDevice::GetAdapter, di mana IDXGIDevice dapat diambil menggunakan QueryInterface dari antarmuka perangkat Direct3D.

Direct3D 11 pada Downlevel Hardware