From f433da6083813b01f297c6aca03da0cca16ef7e0 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sat, 31 Dec 2022 19:45:42 -0800 Subject: [PATCH 1/4] DolphinAnalytics: Fix comment wrapping This was broken in 3570c7f03a2. --- Source/Core/Core/DolphinAnalytics.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Source/Core/Core/DolphinAnalytics.cpp b/Source/Core/Core/DolphinAnalytics.cpp index 5c4c420168..370e719820 100644 --- a/Source/Core/Core/DolphinAnalytics.cpp +++ b/Source/Core/Core/DolphinAnalytics.cpp @@ -428,8 +428,7 @@ void DolphinAnalytics::MakePerGameBuilder() // Controller information // We grab enough to tell what percentage of our users are playing with keyboard/mouse, some kind - // of gamepad - // or the official GameCube adapter. + // of gamepad, or the official GameCube adapter. builder.AddData("gcadapter-detected", GCAdapter::IsDetected(nullptr)); builder.AddData("has-controller", Pad::GetConfig()->IsControllerControlledByGamepadDevice(0) || GCAdapter::IsDetected(nullptr)); From 277518837a2514261e85583ea852240101e26f11 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Mon, 2 Jan 2023 23:17:02 -0800 Subject: [PATCH 2/4] DolphinAnalytics: Track support of logic ops --- Source/Core/Core/DolphinAnalytics.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Core/Core/DolphinAnalytics.cpp b/Source/Core/Core/DolphinAnalytics.cpp index 370e719820..e81f7ce8e1 100644 --- a/Source/Core/Core/DolphinAnalytics.cpp +++ b/Source/Core/Core/DolphinAnalytics.cpp @@ -421,6 +421,7 @@ void DolphinAnalytics::MakePerGameBuilder() builder.AddData("gpu-has-palette-conversion", g_Config.backend_info.bSupportsPaletteConversion); builder.AddData("gpu-has-clip-control", g_Config.backend_info.bSupportsClipControl); builder.AddData("gpu-has-ssaa", g_Config.backend_info.bSupportsSSAA); + builder.AddData("gpu-has-logic-ops", g_Config.backend_info.bSupportsLogicOp); // NetPlay / recording. builder.AddData("netplay", NetPlay::IsNetPlayRunning()); From c64597057818e729b6e406cc98361b270b7f72de Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sat, 31 Dec 2022 19:55:53 -0800 Subject: [PATCH 3/4] VideoBackends/OGL: Always check for fbfetch support, not just on GLES GL_EXT_shader_framebuffer_fetch is not restricted to GLES (although GL_ARM_shader_framebuffer_fetch is), and is available on Intel GPUs. --- Source/Core/VideoBackends/OGL/OGLRender.cpp | 30 ++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Source/Core/VideoBackends/OGL/OGLRender.cpp b/Source/Core/VideoBackends/OGL/OGLRender.cpp index 49400d73ff..13549f3d72 100644 --- a/Source/Core/VideoBackends/OGL/OGLRender.cpp +++ b/Source/Core/VideoBackends/OGL/OGLRender.cpp @@ -489,6 +489,21 @@ Renderer::Renderer(std::unique_ptr main_gl_context, float backbuffer_ g_Config.backend_info.bSupportsTextureQueryLevels = GLExtensions::Supports("GL_ARB_texture_query_levels") || GLExtensions::Version() >= 430; + if (GLExtensions::Supports("GL_EXT_shader_framebuffer_fetch")) + { + g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchExt; + } + else if (GLExtensions::Supports("GL_ARM_shader_framebuffer_fetch")) + { + g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchArm; + } + else + { + g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchNone; + } + g_Config.backend_info.bSupportsFramebufferFetch = + g_ogl_config.SupportedFramebufferFetch != EsFbFetchType::FbFetchNone; + if (m_main_gl_context->IsGLES()) { g_ogl_config.SupportedESPointSize = GLExtensions::Supports("GL_OES_geometry_point_size") ? 1 : @@ -517,21 +532,6 @@ Renderer::Renderer(std::unique_ptr main_gl_context, float backbuffer_ // GL_TEXTURE_LOD_BIAS is not supported on GLES. g_Config.backend_info.bSupportsLodBiasInSampler = false; - if (GLExtensions::Supports("GL_EXT_shader_framebuffer_fetch")) - { - g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchExt; - } - else if (GLExtensions::Supports("GL_ARM_shader_framebuffer_fetch")) - { - g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchArm; - } - else - { - g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchNone; - } - g_Config.backend_info.bSupportsFramebufferFetch = - g_ogl_config.SupportedFramebufferFetch != EsFbFetchType::FbFetchNone; - if (GLExtensions::Version() == 300) { g_ogl_config.eSupportedGLSLVersion = GlslEs300; From c1b1d8d78340899b9069c0a0a0a3502f0a9df152 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sat, 31 Dec 2022 20:01:45 -0800 Subject: [PATCH 4/4] DolphinAnalytics: Track support of framebuffer fetch --- Source/Core/Core/DolphinAnalytics.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Core/Core/DolphinAnalytics.cpp b/Source/Core/Core/DolphinAnalytics.cpp index e81f7ce8e1..93d42d2db9 100644 --- a/Source/Core/Core/DolphinAnalytics.cpp +++ b/Source/Core/Core/DolphinAnalytics.cpp @@ -422,6 +422,7 @@ void DolphinAnalytics::MakePerGameBuilder() builder.AddData("gpu-has-clip-control", g_Config.backend_info.bSupportsClipControl); builder.AddData("gpu-has-ssaa", g_Config.backend_info.bSupportsSSAA); builder.AddData("gpu-has-logic-ops", g_Config.backend_info.bSupportsLogicOp); + builder.AddData("gpu-has-framebuffer-fetch", g_Config.backend_info.bSupportsFramebufferFetch); // NetPlay / recording. builder.AddData("netplay", NetPlay::IsNetPlayRunning());