From 18fe9a81b8ee8b4d099be70880c72b25d2591ed7 Mon Sep 17 00:00:00 2001 From: Emile Belanger Date: Wed, 10 Mar 2021 21:30:06 +0000 Subject: [PATCH] Changed back to highp for gles2 shaders. Medium was causes precision issues on some GPUs. Need to make run-time option. --- src/common/rendering/gles/gles_shader.cpp | 4 ++-- src/common/rendering/gles/gles_shaderprogram.cpp | 4 ++-- wadsrc/static/shaders_gles/Uniform usage notes.txt | 11 +++++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/common/rendering/gles/gles_shader.cpp b/src/common/rendering/gles/gles_shader.cpp index dfb5c735f..11322d4f2 100644 --- a/src/common/rendering/gles/gles_shader.cpp +++ b/src/common/rendering/gles/gles_shader.cpp @@ -247,8 +247,8 @@ bool FShader::Load(const char * name, const char * vert_prog_lump_, const char * FString i_data = R"( // these settings are actually pointless but there seem to be some old ATI drivers that fail to compile the shader without setting the precision here. - precision mediump int; - precision mediump float; + precision highp int; + precision highp float; // light buffers uniform vec4 lights[MAXIMUM_LIGHT_VECTORS]; diff --git a/src/common/rendering/gles/gles_shaderprogram.cpp b/src/common/rendering/gles/gles_shaderprogram.cpp index 5e41ad385..105d67a2b 100644 --- a/src/common/rendering/gles/gles_shaderprogram.cpp +++ b/src/common/rendering/gles/gles_shaderprogram.cpp @@ -236,8 +236,8 @@ FString FShaderProgram::PatchShader(ShaderType type, const FString &code, const patchedCode.AppendFormat("#version %d\n", 100); // Set to GLES2 - patchedCode << "precision mediump int;\n"; - patchedCode << "precision mediump float;\n"; + patchedCode << "precision highp int;\n"; + patchedCode << "precision highp float;\n"; if (defines) patchedCode << defines; diff --git a/wadsrc/static/shaders_gles/Uniform usage notes.txt b/wadsrc/static/shaders_gles/Uniform usage notes.txt index dc8776cca..0646a5c38 100644 --- a/wadsrc/static/shaders_gles/Uniform usage notes.txt +++ b/wadsrc/static/shaders_gles/Uniform usage notes.txt @@ -1,9 +1,16 @@ How can I remove the alpha test discard? +MISSING: +All post processing gone +Present shader missing dither +Shadow maps gone +HDR modes gone +Materials gone +gl_satformula does not do anything (remove an 'if' in shader) - - +Broken to be fixed: +Texture filtering modes, currently fixed to linear mipmap