From be7333c8fd15e3291a65a2349165fece7b998cfe Mon Sep 17 00:00:00 2001
From: Alex Chirila <alexchirila87@gmail.com>
Date: Sat, 4 Nov 2017 11:41:30 +0200
Subject: [PATCH] [BotW] Added experimental shadow blur fix for the AMDShadows
 pack

---
 .../ffe0e8c84f6e8da9_000003c000009269_ps.txt         | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/Workaround/BreathOfTheWild_!AMDShadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt b/Workaround/BreathOfTheWild_!AMDShadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt
index 38f4ab9b..910ead73 100644
--- a/Workaround/BreathOfTheWild_!AMDShadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt
+++ b/Workaround/BreathOfTheWild_!AMDShadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt
@@ -374,10 +374,10 @@ R2i.y = floatBitsToInt(intBitsToFloat(0x3da22222) * intBitsToFloat(PS1i));
 R2i.z = floatBitsToInt(intBitsToFloat(0x3da22222) * intBitsToFloat(PS1i));
 R13i.w = PV1i.y - R127i.x;
 PV0i.w = R13i.w;
-PS0i = floatBitsToInt(uf_blockPS6[53].y);
+PS0i = floatBitsToInt(uf_blockPS6[53].y * uf_fragCoordScale.y);
 PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0);
 // 3
-R6i.x = floatBitsToInt(uf_blockPS6[53].x);
+R6i.x = floatBitsToInt(uf_blockPS6[53].x * uf_fragCoordScale.x);
 R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0);
 PV1i.y = PV0i.w << 0x00000002;
 R6i.z = floatBitsToInt(-(intBitsToFloat(PS0i)));
@@ -493,7 +493,7 @@ PV0i.y = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.w));
 R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i)));
 PV0i.z = R127i.z;
 // 13
-R7i.x = floatBitsToInt((uf_blockPS6[53].x * 0.5 + intBitsToFloat(PV0i.z)));
+R7i.x = floatBitsToInt((uf_blockPS6[53].x * uf_fragCoordScale.x * 0.5 + intBitsToFloat(PV0i.z)));
 R127i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0xbb03126f));
 R127i.y = clampFI32(R127i.y);
 PV1i.y = R127i.y;
@@ -503,18 +503,18 @@ R8i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R6i.x));
 PS1i = R8i.x;
 // 14
 R1i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R126i.w));
-R7i.y = floatBitsToInt((uf_blockPS6[53].y * 0.5 + intBitsToFloat(PV1i.w)));
+R7i.y = floatBitsToInt((uf_blockPS6[53].y * uf_fragCoordScale.y * 0.5 + intBitsToFloat(PV1i.w)));
 R7i.w = PV1i.y;
 R8i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R6i.z));
 PS0i = R8i.y;
 // 15
-R9i.x = floatBitsToInt((-(uf_blockPS6[53].x) * 0.5 + intBitsToFloat(R127i.z)));
+R9i.x = floatBitsToInt((-(uf_blockPS6[53].x) * uf_fragCoordScale.x * 0.5 + intBitsToFloat(R127i.z)));
 R1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R2i.w));
 R8i.w = R127i.y;
 R1i.w = R127i.y;
 PS1i = R1i.w;
 // 16
-R9i.y = floatBitsToInt((-(uf_blockPS6[53].y) * 0.5 + intBitsToFloat(R127i.w)));
+R9i.y = floatBitsToInt((-(uf_blockPS6[53].y) * uf_fragCoordScale.y * 0.5 + intBitsToFloat(R127i.w)));
 R9i.w = R127i.y;
 }
 if( activeMaskStackC[2] == true ) {