diff options
Diffstat (limited to 'Source/Core/VideoCommon/VideoConfig.h')
| -rw-r--r-- | Source/Core/VideoCommon/VideoConfig.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/VideoConfig.h b/Source/Core/VideoCommon/VideoConfig.h index ec79e6de48..a3a44f2ec7 100644 --- a/Source/Core/VideoCommon/VideoConfig.h +++ b/Source/Core/VideoCommon/VideoConfig.h @@ -114,6 +114,7 @@ struct VideoConfig final bool bEFBAccessEnable; bool bPerfQueriesEnable; bool bBBoxEnable; + bool bBBoxPreferStencilImplementation; // OpenGL-only, to see how slow it is compared to SSBOs bool bForceProgressive; bool bEFBEmulateFormatChanges; @@ -189,6 +190,7 @@ struct VideoConfig final bool bSupportsPaletteConversion; bool bSupportsClipControl; // Needed by VertexShaderGen, so must stay in VideoCommon bool bSupportsSSAA; + bool bSupportsFragmentStoresAndAtomics; // a.k.a. OpenGL SSBOs a.k.a. Direct3D UAVs bool bSupportsDepthClamp; // Needed by VertexShaderGen, so must stay in VideoCommon bool bSupportsReversedDepthRange; bool bSupportsMultithreading; @@ -202,6 +204,12 @@ struct VideoConfig final { return backend_info.bSupportsExclusiveFullscreen && !bBorderlessFullscreen; } + bool BBoxUseFragmentShaderImplementation() const + { + if (backend_info.api_type == APIType::OpenGL && bBBoxPreferStencilImplementation) + return false; + return backend_info.bSupportsBBox && backend_info.bSupportsFragmentStoresAndAtomics; + } }; extern VideoConfig g_Config; |
