VideoBackends:Metal: Bring back unified memory config

Turns out it was helpful.  (Most improvement in ubershaders.)  This time with much better auto mode.
This commit is contained in:
TellowKrinkle
2022-07-23 17:27:24 -05:00
parent 93ce7bf344
commit c08de82e90
11 changed files with 201 additions and 16 deletions

View File

@ -55,6 +55,7 @@ void VideoConfig::Refresh()
bVSync = Config::Get(Config::GFX_VSYNC);
iAdapter = Config::Get(Config::GFX_ADAPTER);
iManuallyUploadBuffers = Config::Get(Config::GFX_MTL_MANUALLY_UPLOAD_BUFFERS);
bWidescreenHack = Config::Get(Config::GFX_WIDESCREEN_HACK);
aspect_mode = Config::Get(Config::GFX_ASPECT_RATIO);

View File

@ -45,6 +45,13 @@ enum class ShaderCompilationMode : int
AsynchronousSkipRendering
};
enum class TriState : int
{
Off,
On,
Auto
};
// NEVER inherit from this class.
struct VideoConfig final
{
@ -148,6 +155,9 @@ struct VideoConfig final
// D3D only config, mostly to be merged into the above
int iAdapter = 0;
// Metal only config
TriState iManuallyUploadBuffers = TriState::Auto;
// Enable API validation layers, currently only supported with Vulkan.
bool bEnableValidationLayer = false;