From 7aae883b90850af3f3a0aaada5704682f77c3d02 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Thu, 2 Jun 2016 17:48:03 +0900 Subject: tdf#100187 fix division by zero in comboFragmentShader When feather is 0.0 (used when anti-aliasing is disabled) then we get a "division by zero" situation. As per OpenGL secs. the shader should not fail in this situation however the result is undetermined. Most GPUs handled this correctly but on some the lines didn't draw at all. This should fix this issue. Change-Id: I56ca2f10c393491807321969c72085ef7690d16a --- vcl/opengl/combinedFragmentShader.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vcl/opengl') diff --git a/vcl/opengl/combinedFragmentShader.glsl b/vcl/opengl/combinedFragmentShader.glsl index c44e75c09373..8d73d0861f87 100644 --- a/vcl/opengl/combinedFragmentShader.glsl +++ b/vcl/opengl/combinedFragmentShader.glsl @@ -29,7 +29,7 @@ void main() // Calculate the multiplier so we can transform the 0->1 fade factor // to take feather and line width into account. - float multiplied = 1.0 / (1.0 - (start / end)); + float multiplied = start == end ? 1.0 : 1.0 / (1.0 - (start / end)); float dist = (1.0 - abs(fade_factor)) * multiplied; -- cgit