summaryrefslogtreecommitdiff
path: root/src/render/Shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/Shader.cpp')
-rw-r--r--src/render/Shader.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/render/Shader.cpp b/src/render/Shader.cpp
index 5f62232c..5f18b906 100644
--- a/src/render/Shader.cpp
+++ b/src/render/Shader.cpp
@@ -127,7 +127,6 @@ void CShader::getUniformLocations() {
m_uniformLocations[SHADER_TEX_TYPE] = getUniform("texType");
// shader has #include "CM.glsl"
- m_uniformLocations[SHADER_SKIP_CM] = getUniform("skipCM");
m_uniformLocations[SHADER_SOURCE_TF] = getUniform("sourceTF");
m_uniformLocations[SHADER_TARGET_TF] = getUniform("targetTF");
m_uniformLocations[SHADER_SRC_TF_RANGE] = getUniform("srcTFRange");
@@ -140,6 +139,9 @@ void CShader::getUniformLocations() {
m_uniformLocations[SHADER_SDR_SATURATION] = getUniform("sdrSaturation");
m_uniformLocations[SHADER_SDR_BRIGHTNESS] = getUniform("sdrBrightnessMultiplier");
m_uniformLocations[SHADER_CONVERT_MATRIX] = getUniform("convertMatrix");
+ m_uniformLocations[SHADER_USE_ICC] = getUniform("useIcc");
+ m_uniformLocations[SHADER_LUT_3D] = getUniform("iccLut3D");
+ m_uniformLocations[SHADER_LUT_SIZE] = getUniform("iccLutSize");
//
m_uniformLocations[SHADER_TEX] = getUniform("tex");
m_uniformLocations[SHADER_ALPHA] = getUniform("alpha");
@@ -248,7 +250,8 @@ void CShader::setUniformInt(eShaderUniform location, GLint v0) {
return;
cached = v0;
- glUniform1i(m_uniformLocations[location], v0);
+
+ GLCALL(glUniform1i(m_uniformLocations[location], v0));
}
void CShader::setUniformFloat(eShaderUniform location, GLfloat v0) {
@@ -264,7 +267,7 @@ void CShader::setUniformFloat(eShaderUniform location, GLfloat v0) {
}
cached = v0;
- glUniform1f(m_uniformLocations[location], v0);
+ GLCALL(glUniform1f(m_uniformLocations[location], v0));
}
void CShader::setUniformFloat2(eShaderUniform location, GLfloat v0, GLfloat v1) {
@@ -280,7 +283,7 @@ void CShader::setUniformFloat2(eShaderUniform location, GLfloat v0, GLfloat v1)
}
cached = std::array<GLfloat, 2>{v0, v1};
- glUniform2f(m_uniformLocations[location], v0, v1);
+ GLCALL(glUniform2f(m_uniformLocations[location], v0, v1));
}
void CShader::setUniformFloat3(eShaderUniform location, GLfloat v0, GLfloat v1, GLfloat v2) {
@@ -296,7 +299,7 @@ void CShader::setUniformFloat3(eShaderUniform location, GLfloat v0, GLfloat v1,
}
cached = std::array<GLfloat, 3>{v0, v1, v2};
- glUniform3f(m_uniformLocations[location], v0, v1, v2);
+ GLCALL(glUniform3f(m_uniformLocations[location], v0, v1, v2));
}
void CShader::setUniformFloat4(eShaderUniform location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
@@ -312,7 +315,7 @@ void CShader::setUniformFloat4(eShaderUniform location, GLfloat v0, GLfloat v1,
}
cached = std::array<GLfloat, 4>{v0, v1, v2, v3};
- glUniform4f(m_uniformLocations[location], v0, v1, v2, v3);
+ GLCALL(glUniform4f(m_uniformLocations[location], v0, v1, v2, v3));
}
void CShader::setUniformMatrix3fv(eShaderUniform location, GLsizei count, GLboolean transpose, std::array<GLfloat, 9> value) {
@@ -328,7 +331,7 @@ void CShader::setUniformMatrix3fv(eShaderUniform location, GLsizei count, GLbool
}
cached = SUniformMatrix3Data{.count = count, .transpose = transpose, .value = value};
- glUniformMatrix3fv(m_uniformLocations[location], count, transpose, value.data());
+ GLCALL(glUniformMatrix3fv(m_uniformLocations[location], count, transpose, value.data()));
}
void CShader::setUniformMatrix4x2fv(eShaderUniform location, GLsizei count, GLboolean transpose, std::array<GLfloat, 8> value) {
@@ -344,7 +347,7 @@ void CShader::setUniformMatrix4x2fv(eShaderUniform location, GLsizei count, GLbo
}
cached = SUniformMatrix4Data{.count = count, .transpose = transpose, .value = value};
- glUniformMatrix4x2fv(m_uniformLocations[location], count, transpose, value.data());
+ GLCALL(glUniformMatrix4x2fv(m_uniformLocations[location], count, transpose, value.data()));
}
void CShader::setUniformfv(eShaderUniform location, GLsizei count, const std::vector<float>& value, GLsizei vec_size) {
@@ -361,9 +364,9 @@ void CShader::setUniformfv(eShaderUniform location, GLsizei count, const std::ve
cached = SUniformVData{.count = count, .value = value};
switch (vec_size) {
- case 1: glUniform1fv(m_uniformLocations[location], count, value.data()); break;
- case 2: glUniform2fv(m_uniformLocations[location], count, value.data()); break;
- case 4: glUniform4fv(m_uniformLocations[location], count, value.data()); break;
+ case 1: GLCALL(glUniform1fv(m_uniformLocations[location], count, value.data())); break;
+ case 2: GLCALL(glUniform2fv(m_uniformLocations[location], count, value.data())); break;
+ case 4: GLCALL(glUniform4fv(m_uniformLocations[location], count, value.data())); break;
default: UNREACHABLE();
}
}