summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h4
-rw-r--r--src/video_core/renderer_opengl/gl_shader_gen.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 2042be786..72ded8f22 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -90,6 +90,7 @@ struct PicaShaderConfig {
res.lighting.lut_d0.enable = regs.lighting.lut_enable_d0 == 0;
res.lighting.lut_d0.abs_input = regs.lighting.abs_lut_input.d0 == 0;
res.lighting.lut_d0.type = (Pica::Regs::LightingLutInput)regs.lighting.lut_input.d0.Value();
+ res.lighting.lut_d0.scale = regs.lighting.lut_scale.GetScale(regs.lighting.lut_scale.d0);
res.lighting.clamp_highlights = regs.lighting.clamp_highlights != 0;
return res;
@@ -130,7 +131,8 @@ struct PicaShaderConfig {
bool enable = false;
bool abs_input = false;
Pica::Regs::LightingLutInput type = Pica::Regs::LightingLutInput::NH;
- } lut_d0;
+ float scale = 1.0f;
+ } lut_d0, lut_d1, lut_fr;
} lighting;
};
};
diff --git a/src/video_core/renderer_opengl/gl_shader_gen.cpp b/src/video_core/renderer_opengl/gl_shader_gen.cpp
index a2770cc6e..9044a3813 100644
--- a/src/video_core/renderer_opengl/gl_shader_gen.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_gen.cpp
@@ -412,7 +412,7 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) {
std::string d0_lut_value = "1.0";
if (config.lighting.lut_d0.enable) {
std::string d0_lut_index = GetLutIndex(light_config.num, config.lighting.lut_d0.type, config.lighting.lut_d0.abs_input);
- d0_lut_value = GetLutValue(Regs::LightingSampler::Distribution0, d0_lut_index);
+ d0_lut_value = "(" + std::to_string(config.lighting.lut_d0.scale) + " * " + GetLutValue(Regs::LightingSampler::Distribution0, d0_lut_index) + ")";
}
// Compute secondary fragment color (specular lighting) function