From 03f20436b531dd32924be3103033c77be16d8a86 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sat, 20 Feb 2016 23:43:09 -0800 Subject: [PATCH] Shaders: Fix AGS-001 shader with some bad drivers --- CHANGES | 1 + res/shaders/ags001.shader/ags001-light.fs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b2d64cfce..7a1aabc80 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,7 @@ Bugfixes: - SDL: Fix potential joystick crash in games with rumble - SDL: Fix axes being mapped wrong - Qt: Fix initial state of key mapping + - Shaders: Fix AGS-001 shader with some bad drivers Misc: - GBA: Slightly optimize GBAProcessEvents - Qt: Add preset for DualShock 4 diff --git a/res/shaders/ags001.shader/ags001-light.fs b/res/shaders/ags001.shader/ags001-light.fs index 5d2e6f8a5..a271de9e3 100644 --- a/res/shaders/ags001.shader/ags001-light.fs +++ b/res/shaders/ags001.shader/ags001-light.fs @@ -13,7 +13,7 @@ void main() { float dc = pow(decay, -lightBrightness); float s = (sp - dc) / (sp + dc); vec2 radius = (texCoord.st - vec2(0.5, 0.5)) * vec2(coeff * s); - radius = pow(radius, vec2(4.0)); + radius = pow(abs(radius), vec2(4.0)); vec3 bleed = vec3(0.12, 0.14, 0.19); bleed += (dot(radius, radius) + vec3(0.02, 0.03, 0.05)) * vec3(0.14, 0.18, 0.2);