[D3D12] Require tiled resources for virtual memory

This commit is contained in:
Triang3l 2018-07-21 21:52:20 +03:00
parent 00d5bd48da
commit 7afc40820b
1 changed files with 8 additions and 3 deletions

View File

@ -29,7 +29,8 @@ std::unique_ptr<D3D12Provider> D3D12Provider::Create(Window* main_window) {
"Unable to initialize Direct3D 12 graphics subsystem.\n" "Unable to initialize Direct3D 12 graphics subsystem.\n"
"\n" "\n"
"Ensure that you have the latest drivers for your GPU and it supports " "Ensure that you have the latest drivers for your GPU and it supports "
"Direct3D 12 feature level 11_0 and typed UAV loads.\n" "Direct3D 12 feature level 11_0, tiled resources tier 1 and typed UAV "
"loads.\n"
"\n" "\n"
"See http://xenia.jp/faq/ for more information and a list of supported " "See http://xenia.jp/faq/ for more information and a list of supported "
"GPUs."); "GPUs.");
@ -113,7 +114,7 @@ bool D3D12Provider::Initialize() {
} }
if (device == nullptr) { if (device == nullptr) {
XELOGE("Failed to get an adapter supporting Direct3D feature level 11_0 " XELOGE("Failed to get an adapter supporting Direct3D feature level 11_0 "
"and typed UAV loads, or failed to create a Direct3D 12 device."); "with required options, or failed to create a Direct3D 12 device.");
dxgi_factory->Release(); dxgi_factory->Release();
return false; return false;
} }
@ -155,7 +156,11 @@ bool D3D12Provider::IsDeviceSupported(ID3D12Device* device) {
sizeof(options)))) { sizeof(options)))) {
return false; return false;
} }
// Typed UAV loads required for vertex fetch and post-resolve tiling. // Tiled resources required for virtual memory.
if (options.TiledResourcesTier < D3D12_TILED_RESOURCES_TIER_1) {
return false;
}
// Typed UAV loads required for EDRAM storing and potentially texture tiling.
return !!options.TypedUAVLoadAdditionalFormats; return !!options.TypedUAVLoadAdditionalFormats;
} }