diff --git a/app/node/math/math/mathbase.cpp b/app/node/math/math/mathbase.cpp index bc83d5b5b..e86d316d2 100644 --- a/app/node/math/math/mathbase.cpp +++ b/app/node/math/math/mathbase.cpp @@ -82,9 +82,7 @@ ShaderCode MathNodeBase::GetShaderCodeInternal(const QString &shader_id, NodeInp GetShaderVariableCall(param_b_in->id(), type_b)); } - frag = QStringLiteral("#version 150\n" - "\n" - "uniform %1 %3;\n" + frag = QStringLiteral("uniform %1 %3;\n" "uniform %2 %4;\n" "\n" "in vec2 ove_texcoord;\n" diff --git a/app/render/opengl/openglrenderer.cpp b/app/render/opengl/openglrenderer.cpp index 050b6982e..9c0612fe8 100644 --- a/app/render/opengl/openglrenderer.cpp +++ b/app/render/opengl/openglrenderer.cpp @@ -199,12 +199,26 @@ QVariant OpenGLRenderer::CreateNativeShader(ShaderCode code) { QOpenGLShaderProgram* program = new QOpenGLShaderProgram(context_); - if (!program->addShaderFromSourceCode(QOpenGLShader::Vertex, code.vert_code())) { + QString vert_code = code.vert_code(); + QString frag_code = code.frag_code(); + + const QString shader_preamble = QStringLiteral("#version 300 es\n" + "\n" + "#ifdef GL_ES\n" + "precision highp int;\n" + "precision highp float;\n" + "#endif\n" + "\n"); + + vert_code.prepend(shader_preamble); + frag_code.prepend(shader_preamble); + + if (!program->addShaderFromSourceCode(QOpenGLShader::Vertex, vert_code)) { qCritical() << "Failed to add vertex code to shader"; goto error; } - if (!program->addShaderFromSourceCode(QOpenGLShader::Fragment, code.frag_code())) { + if (!program->addShaderFromSourceCode(QOpenGLShader::Fragment, frag_code)) { qCritical() << "Failed to add fragment code to shader"; goto error; } diff --git a/app/render/renderer.cpp b/app/render/renderer.cpp index beba1f5c5..9a0699deb 100644 --- a/app/render/renderer.cpp +++ b/app/render/renderer.cpp @@ -92,14 +92,7 @@ bool Renderer::GetColorContext(ColorProcessorPtr color_processor, Renderer::Colo color_processor->GetProcessor()->getDefaultGPUProcessor()->extractGpuShaderInfo(shader_desc); QString shader_frag; - shader_frag.append(QStringLiteral("#version 150\n" - "\n" - "#ifdef GL_ES\n" - "precision highp int;\n" - "precision highp float;\n" - "#endif\n" - "\n" - "// Main texture input\n" + shader_frag.append(QStringLiteral("// Main texture input\n" "uniform sampler2D ove_maintex;\n" "uniform int ove_maintex_alpha;\n" "\n" diff --git a/app/shaders/alphaover.frag b/app/shaders/alphaover.frag index 5af27f1bb..3411ad3d3 100644 --- a/app/shaders/alphaover.frag +++ b/app/shaders/alphaover.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D base_in; uniform sampler2D blend_in; uniform bool base_in_enabled; diff --git a/app/shaders/blur.frag b/app/shaders/blur.frag index 4dc2e0566..c59ba6da2 100644 --- a/app/shaders/blur.frag +++ b/app/shaders/blur.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D tex_in; uniform int method_in; uniform float radius_in; diff --git a/app/shaders/colorgradient.frag b/app/shaders/colorgradient.frag index 1d4a2d3b5..c1eba0b91 100644 --- a/app/shaders/colorgradient.frag +++ b/app/shaders/colorgradient.frag @@ -1,5 +1,3 @@ -#version 150 - // Inputs uniform int orientation; uniform vec3 color_a; diff --git a/app/shaders/colorwheel.frag b/app/shaders/colorwheel.frag index 2a891a243..2c7f41109 100644 --- a/app/shaders/colorwheel.frag +++ b/app/shaders/colorwheel.frag @@ -1,5 +1,3 @@ -#version 150 - // Custom inputs uniform float hsv_value; diff --git a/app/shaders/crossdissolve.frag b/app/shaders/crossdissolve.frag index e9461244c..66152486b 100644 --- a/app/shaders/crossdissolve.frag +++ b/app/shaders/crossdissolve.frag @@ -1,5 +1,3 @@ -#version 150 - #define LINEAR_CURVE 0 #define EXPONENTIAL_CURVE 1 #define LOGARITHMIC_CURVE 2 diff --git a/app/shaders/default.frag b/app/shaders/default.frag index 181773f5c..2a6a46b9e 100644 --- a/app/shaders/default.frag +++ b/app/shaders/default.frag @@ -1,10 +1,3 @@ -#version 150 - -#ifdef GL_ES -precision highp int; -precision highp float; -#endif - // Input texture uniform sampler2D ove_maintex; diff --git a/app/shaders/default.vert b/app/shaders/default.vert index 2569ec9f2..eda14fb70 100644 --- a/app/shaders/default.vert +++ b/app/shaders/default.vert @@ -1,10 +1,3 @@ -#version 150 - -#ifdef GL_ES -precision highp int; -precision highp float; -#endif - uniform mat4 ove_mvpmat; in vec4 a_position; diff --git a/app/shaders/deinterlace.frag b/app/shaders/deinterlace.frag index bda9c732f..f6c0204e6 100644 --- a/app/shaders/deinterlace.frag +++ b/app/shaders/deinterlace.frag @@ -1,10 +1,3 @@ -#version 150 - -#ifdef GL_ES -precision highp int; -precision highp float; -#endif - uniform sampler2D ove_maintex; uniform vec2 ove_resolution; diff --git a/app/shaders/diptoblack.frag b/app/shaders/diptoblack.frag index b6e89dad3..1238a7b85 100644 --- a/app/shaders/diptoblack.frag +++ b/app/shaders/diptoblack.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D out_block_in; uniform sampler2D in_block_in; uniform bool out_block_in_enabled; diff --git a/app/shaders/matrix.vert b/app/shaders/matrix.vert index dcfc4741f..d7305b7eb 100644 --- a/app/shaders/matrix.vert +++ b/app/shaders/matrix.vert @@ -1,5 +1,3 @@ -#version 150 - uniform mat4 %1; uniform vec2 %2_resolution; diff --git a/app/shaders/mosaic.frag b/app/shaders/mosaic.frag index 3321e9937..6169d9d62 100644 --- a/app/shaders/mosaic.frag +++ b/app/shaders/mosaic.frag @@ -1,10 +1,3 @@ -#version 150 - -#ifdef GL_ES -precision highp int; -precision highp float; -#endif - // Input texture uniform sampler2D tex_in; diff --git a/app/shaders/polygon.frag b/app/shaders/polygon.frag index ae45ddf73..9ffc32433 100644 --- a/app/shaders/polygon.frag +++ b/app/shaders/polygon.frag @@ -1,5 +1,3 @@ -#version 150 - uniform vec2[256] points_in; uniform int points_in_count; uniform vec4 color_in; diff --git a/app/shaders/rgbhistogram.frag b/app/shaders/rgbhistogram.frag index a593caaed..25471dc6e 100644 --- a/app/shaders/rgbhistogram.frag +++ b/app/shaders/rgbhistogram.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D ove_maintex; uniform vec2 viewport; uniform float histogram_scale; diff --git a/app/shaders/rgbhistogram.vert b/app/shaders/rgbhistogram.vert index a8e53d253..44100df79 100644 --- a/app/shaders/rgbhistogram.vert +++ b/app/shaders/rgbhistogram.vert @@ -1,5 +1,3 @@ -#version 150 - uniform float histogram_scale; in vec4 a_position; diff --git a/app/shaders/rgbhistogram_secondary.frag b/app/shaders/rgbhistogram_secondary.frag index 0bb8ac75a..742584502 100644 --- a/app/shaders/rgbhistogram_secondary.frag +++ b/app/shaders/rgbhistogram_secondary.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D ove_maintex; uniform vec2 viewport; diff --git a/app/shaders/rgbwaveform.frag b/app/shaders/rgbwaveform.frag index 38b41a1f5..a3242ec76 100644 --- a/app/shaders/rgbwaveform.frag +++ b/app/shaders/rgbwaveform.frag @@ -1,5 +1,3 @@ -#version 150 - uniform sampler2D ove_maintex; uniform vec2 viewport; diff --git a/app/shaders/rgbwaveform.vert b/app/shaders/rgbwaveform.vert index 88fde9934..5f9cce1b9 100644 --- a/app/shaders/rgbwaveform.vert +++ b/app/shaders/rgbwaveform.vert @@ -1,5 +1,3 @@ -#version 150 - uniform float waveform_scale; uniform vec2 ove_resolution; diff --git a/app/shaders/solid.frag b/app/shaders/solid.frag index 39030f10e..2be4254a9 100644 --- a/app/shaders/solid.frag +++ b/app/shaders/solid.frag @@ -1,5 +1,3 @@ -#version 150 - uniform vec4 color_in; out vec4 fragColor; diff --git a/app/shaders/stroke.frag b/app/shaders/stroke.frag index bdd7d2691..1ac8d3daf 100644 --- a/app/shaders/stroke.frag +++ b/app/shaders/stroke.frag @@ -1,5 +1,3 @@ -#version 150 - // Node parameter inputs uniform sampler2D tex_in; uniform vec4 color_in;