[D3D12] Make tiled resource toggleable, disable debug layer by default
This commit is contained in:
16
src/xenia/ui/d3d12/d3d12_api.cc
Normal file
16
src/xenia/ui/d3d12/d3d12_api.cc
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2018 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/ui/d3d12/d3d12_api.h"
|
||||
|
||||
DEFINE_bool(d3d12_tiled_resources, true,
|
||||
"Enable tiled resources for shared memory emulation. Disabling "
|
||||
"them greatly increases video memory usage - a 512 MB buffer is "
|
||||
"created - but allows graphics debuggers that don't support tiled "
|
||||
"resources to work.");
|
||||
@@ -10,6 +10,8 @@
|
||||
#ifndef XENIA_UI_D3D12_D3D12_API_H_
|
||||
#define XENIA_UI_D3D12_D3D12_API_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
// This must be included before D3D and DXGI for things like NOMINMAX.
|
||||
#include "xenia/base/platform_win.h"
|
||||
|
||||
@@ -19,4 +21,6 @@
|
||||
|
||||
#define XELOGD3D XELOGI
|
||||
|
||||
DECLARE_bool(d3d12_tiled_resources);
|
||||
|
||||
#endif // XENIA_UI_D3D12_D3D12_API_H_
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/ui/d3d12/d3d12_context.h"
|
||||
|
||||
DEFINE_bool(d3d12_debug, true, "Enable Direct3D 12 and DXGI debug layer.");
|
||||
DEFINE_bool(d3d12_debug, false, "Enable Direct3D 12 and DXGI debug layer.");
|
||||
DEFINE_int32(d3d12_adapter_index, -1, "Index of the DXGI adapter to use. "
|
||||
"-1 for any physical adapter, -2 for WARP software rendering.");
|
||||
|
||||
@@ -155,8 +155,15 @@ bool D3D12Provider::IsDeviceSupported(ID3D12Device* device) {
|
||||
sizeof(options)))) {
|
||||
return false;
|
||||
}
|
||||
// Tiled resources required for virtual memory.
|
||||
return options.TiledResourcesTier >= D3D12_TILED_RESOURCES_TIER_1;
|
||||
|
||||
// Tiled resources required for shared memory emulation without excessive
|
||||
// video memory usage.
|
||||
if (FLAGS_d3d12_tiled_resources &&
|
||||
options.TiledResourcesTier < D3D12_TILED_RESOURCES_TIER_1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
std::unique_ptr<GraphicsContext> D3D12Provider::CreateContext(
|
||||
|
||||
Reference in New Issue
Block a user