diff options
| author | Stenzek <stenzek@gmail.com> | 2020-05-24 16:11:10 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2020-05-24 16:11:11 +1000 |
| commit | bf74553878ee4495b684fecb80ca31a567e79c63 (patch) | |
| tree | cabefd405b53d973e3f6391429da11bda4a6c768 /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | 393ce529af87b1b11877eb6e376c54592f4160ee (diff) | |
FramebufferManager: Copy to color format for depth readbacks on GLES
glReadPixels() with depth formats is not supported.
Should fix broken EFB access on GLES.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 27a8c05287..ee813fbbda 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -521,6 +521,10 @@ Renderer::Renderer(std::unique_ptr<GLContext> main_gl_context, float backbuffer_ // GLES does not support logic op. g_Config.backend_info.bSupportsLogicOp = false; + // glReadPixels() can't be used with non-color formats. But, if we support + // ARB_get_texture_sub_image (unlikely, except maybe on NVIDIA), we can use that instead. + g_Config.backend_info.bSupportsDepthReadback = g_ogl_config.bSupportsTextureSubImage; + if (GLExtensions::Supports("GL_EXT_shader_framebuffer_fetch")) { g_ogl_config.SupportedFramebufferFetch = EsFbFetchType::FbFetchExt; |
