Browse Source

gl_shader_gen: Fix bug where TEV stage outputs should be clamped.

nce_cpp
bunnei 10 years ago
parent
commit
e69743a943
  1. 6
      src/video_core/renderer_opengl/gl_shader_gen.cpp

6
src/video_core/renderer_opengl/gl_shader_gen.cpp

@ -307,9 +307,9 @@ static void WriteTevStage(std::string& out, const ShaderCacheKey& config, unsign
AppendAlphaCombiner(out, stage.alpha_op, "alpha_results_" + index_name);
out += ";\n";
out += "g_last_tex_env_out = vec4(min(color_output_" + index_name + " * " +
std::to_string(stage.GetColorMultiplier()) + ".0, 1.0), min(alpha_output_" + index_name + " * " +
std::to_string(stage.GetAlphaMultiplier()) + ".0, 1.0));\n";
out += "g_last_tex_env_out = vec4("
"clamp(color_output_" + index_name + " * " + std::to_string(stage.GetColorMultiplier()) + ".0, 0.0, 1.0),"
"clamp(alpha_output_" + index_name + " * " + std::to_string(stage.GetAlphaMultiplier()) + ".0, 0.0, 1.0));\n";
}
if (config.TevStageUpdatesCombinerBufferColor(index))

Loading…
Cancel
Save