From c4fe5786a317053f982273113d94d886a8f6c0f9 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 23 Apr 2020 23:43:29 +1000 Subject: [PATCH] openglshader: fixed ocio opengl incompatibility --- app/render/backend/opengl/openglshader.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/render/backend/opengl/openglshader.cpp b/app/render/backend/opengl/openglshader.cpp index 419df9449..c7f17e7dc 100644 --- a/app/render/backend/opengl/openglshader.cpp +++ b/app/render/backend/opengl/openglshader.cpp @@ -83,7 +83,14 @@ OpenGLShaderPtr OpenGLShader::CreateOCIO(QOpenGLContext* ctx, 0, GL_RGB, GL_FLOAT, ocio_lut_data); // Create OCIO shader code - QString shader_text(processor->getGpuShaderText(shaderDesc)); + QString shader_text; + + // Workaround since OCIO doesn't support the GLSL version we use + shader_text.append(QStringLiteral("#define texture2D texture\n" + "#define texture3D texture\n")); + + // Append OCIO shader code + shader_text.append(processor->getGpuShaderText(shaderDesc)); QString shader_call; @@ -100,7 +107,7 @@ OpenGLShaderPtr OpenGLShader::CreateOCIO(QOpenGLContext* ctx, shader_text.append(CodeAlphaReassociate(reassociate_func_name)); // Make OCIO call pass through disassociate and reassociate function - shader_call = QStringLiteral("%3(%1(%2(col), ove_ociolut));").arg(ocio_func_name, + shader_call = QStringLiteral("%3(%1(%2(col*1.001), ove_ociolut));").arg(ocio_func_name, disassociate_func_name, reassociate_func_name);