From 2b5a96130838e9be1e6ee0004b5fd84de6f9cb09 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 17 Oct 2018 15:50:32 +0100 Subject: [PATCH] Disable Array2MS compute shader entirely on GLES --- renderdoc/driver/gl/gl_debug.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/renderdoc/driver/gl/gl_debug.cpp b/renderdoc/driver/gl/gl_debug.cpp index 5e47d7eda..04a929452 100644 --- a/renderdoc/driver/gl/gl_debug.cpp +++ b/renderdoc/driver/gl/gl_debug.cpp @@ -523,26 +523,30 @@ void GLReplay::InitDebugData() eGL_DYNAMIC_READ); } - if(HasExt[ARB_compute_shader] && HasExt[ARB_texture_multisample] && - HasExt[ARB_texture_storage_multisample]) + if(HasExt[ARB_compute_shader] && HasExt[ARB_shader_image_load_store]) { GenerateGLSLShader(cs, shaderType, "", GetEmbeddedResource(glsl_ms2array_comp), glslCSVer); DebugData.MS2Array = CreateCShaderProgram(cs); - GenerateGLSLShader(cs, shaderType, "", GetEmbeddedResource(glsl_array2ms_comp), glslCSVer); - DebugData.Array2MS = CreateCShaderProgram(cs); + // GLES doesn't have multisampled image load/store even with any extension + DebugData.Array2MS = 0; + if(!IsGLES) + { + GenerateGLSLShader(cs, shaderType, "", GetEmbeddedResource(glsl_array2ms_comp), glslCSVer); + DebugData.Array2MS = CreateCShaderProgram(cs); + } } else { DebugData.MS2Array = 0; DebugData.Array2MS = 0; RDCWARN( - "GL_ARB_compute_shader, GL_ARB_texture_multisample, or ARB_texture_storage_multisample not " - "supported, disabling 2DMS save/load."); - m_pDriver->AddDebugMessage( - MessageCategory::Portability, MessageSeverity::Medium, MessageSource::RuntimeWarning, - "GL_ARB_compute_shader, GL_ARB_texture_multisample, or ARB_texture_storage_multisample not " - "supported, disabling 2DMS save/load."); + "GL_ARB_compute_shader or ARB_shader_image_load_store not supported, disabling 2DMS " + "save/load."); + m_pDriver->AddDebugMessage(MessageCategory::Portability, MessageSeverity::Medium, + MessageSource::RuntimeWarning, + "GL_ARB_compute_shader or ARB_shader_image_load_store not " + "supported, disabling 2DMS save/load."); } DebugData.DepthArray2MS = DebugData.DepthMS2Array = 0;