summaryrefslogtreecommitdiff
path: root/Shaders
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-06-27 21:43:49 -0400
committerAndrew Opalach <andrew@akon.city> 2026-06-27 21:43:49 -0400
commit4915560ef430df539b1188b9f6b4dc2af257ae1f (patch)
tree196c240bf3dd9da2f28fa568a15b4c372a0e6dfc /Shaders
parenteb4941f2c0dd216c0f97be20c3b6b7167185ddd5 (diff)
downloadWorldTuningTool-4915560ef430df539b1188b9f6b4dc2af257ae1f.tar.gz
WorldTuningTool-4915560ef430df539b1188b9f6b4dc2af257ae1f.tar.bz2
WorldTuningTool-4915560ef430df539b1188b9f6b4dc2af257ae1f.zip
SSLR fixes and tests
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'Shaders')
-rw-r--r--Shaders/sslr_resolve.diff14
-rw-r--r--Shaders/sslr_resolve_no_dither.diff14
-rw-r--r--Shaders/sslr_resolve_no_jitter.diff14
-rw-r--r--Shaders/sslr_resolve_no_jitter_min_only.diff11
-rw-r--r--Shaders/sslr_resolve_no_jitter_no_dither.diff14
5 files changed, 59 insertions, 8 deletions
diff --git a/Shaders/sslr_resolve.diff b/Shaders/sslr_resolve.diff
index c1128f3..71712e6 100644
--- a/Shaders/sslr_resolve.diff
+++ b/Shaders/sslr_resolve.diff
@@ -1,5 +1,5 @@
--- a/sslr_resolve.asm 2026-06-24 10:47:30.332174347 -0400
-+++ b/sslr_resolve.asm 2026-06-24 10:51:54.676142355 -0400
++++ b/sslr_resolve.asm 2026-06-27 20:33:43.127066465 -0400
@@ -202,14 +202,14 @@
dcl_thread_group 16, 16, 1
imad [precise(x)] r0.x, vThreadIDInGroup.y, l(16), vThreadIDInGroup.x
@@ -7,8 +7,9 @@
-ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 1, 1, 0)
+ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 0, 0, 0)
iadd [precise(yz)] r0.yz, r0.yyzy, vThreadIDInGroup.xxyx
- iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
+-iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
-ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 1, 1, 0)
++iadd [precise(xy)] r1.xy, r0.yzyy, l(-0, -0, 0, 0)
+ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 0, 0, 0)
ige [precise(yz)] r0.yz, r1.xxyx, r0.yyzy
and [precise(y)] r0.y, r0.z, r0.y
@@ -27,3 +28,12 @@
ishl [precise(w)] r7.w, r10.y, l(4)
iadd [precise(w)] r7.w, r7.w, r10.x
ld_structured [precise(w)] r8.w, r7.w, l(12), g0.xxxx
+@@ -433,7 +431,7 @@
+ f16tof32 r11.x, r8.w
+ ushr r8.w, r8.w, l(16)
+ f16tof32 r11.y, r8.w
+- sample_l_indexable(texture2d)(float,float,float,float) r11.xzw, r11.xyxx, t10.xwyz, s0, r7.w
++ sample_l_indexable(texture2d)(float,float,float,float) r11.xzw, r11.xyxx, t10.xwyz, s0, l(0.000000)
+ add r7.w, r11.y, l(-0.500000)
+ mad r7.w, -|r7.w|, l(2.000000), l(1.000000)
+ mul_sat r7.w, r7.w, cb3[4].x
diff --git a/Shaders/sslr_resolve_no_dither.diff b/Shaders/sslr_resolve_no_dither.diff
index 756d85c..6cb03ca 100644
--- a/Shaders/sslr_resolve_no_dither.diff
+++ b/Shaders/sslr_resolve_no_dither.diff
@@ -1,5 +1,5 @@
--- a/sslr_resolve_no_dither.asm 2026-06-24 10:47:30.333700495 -0400
-+++ b/sslr_resolve_no_dither.asm 2026-06-23 16:13:51.616100220 -0400
++++ b/sslr_resolve_no_dither.asm 2026-06-27 20:33:57.579056746 -0400
@@ -202,14 +202,14 @@
dcl_thread_group 16, 16, 1
imad [precise(x)] r0.x, vThreadIDInGroup.y, l(16), vThreadIDInGroup.x
@@ -7,8 +7,9 @@
-ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 1, 1, 0)
+ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 0, 0, 0)
iadd [precise(yz)] r0.yz, r0.yyzy, vThreadIDInGroup.xxyx
- iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
+-iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
-ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 1, 1, 0)
++iadd [precise(xy)] r1.xy, r0.yzyy, l(0, 0, 0, 0)
+ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 0, 0, 0)
ige [precise(yz)] r0.yz, r1.xxyx, r0.yyzy
and [precise(y)] r0.y, r0.z, r0.y
@@ -28,3 +29,12 @@
imad [precise(w)] r3.w, r7.y, l(16), r7.x
ld_structured [precise] r7.xyzw, r3.w, l(0), g0.xyzw
and [precise(w)] r3.w, r7.w, l(0x80000000)
+@@ -403,7 +402,7 @@
+ if_z r3.w
+ if_nz r6.w
+ mad r9.z, r9.x, r4.w, cb3[3].x
+- sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r7.xyxx, t10.xyzw, s0, r9.z
++ sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r7.xyxx, t10.xyzw, s0, l(0.000000)
+ mul r11.xyz, r7.zzzz, r11.xyzx
+ mul r10.w, r7.z, r10.w
+ add [precise(z)] r9.z, -r9.y, l(1.000000)
diff --git a/Shaders/sslr_resolve_no_jitter.diff b/Shaders/sslr_resolve_no_jitter.diff
index e3e8f9f..22d9163 100644
--- a/Shaders/sslr_resolve_no_jitter.diff
+++ b/Shaders/sslr_resolve_no_jitter.diff
@@ -1,5 +1,5 @@
--- a/sslr_resolve_no_jitter.asm 2026-06-24 10:47:30.335375123 -0400
-+++ b/sslr_resolve_no_jitter.asm 2026-06-23 16:14:11.607385425 -0400
++++ b/sslr_resolve_no_jitter.asm 2026-06-27 20:31:53.276024705 -0400
@@ -202,14 +202,14 @@
dcl_thread_group 16, 16, 1
imad [precise(x)] r0.x, vThreadIDInGroup.y, l(16), vThreadIDInGroup.x
@@ -7,8 +7,9 @@
-ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 1, 1, 0)
+ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 0, 0, 0)
iadd [precise(yz)] r0.yz, r0.yyzy, vThreadIDInGroup.xxyx
- iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
+-iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
-ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 1, 1, 0)
++iadd [precise(xy)] r1.xy, r0.yzyy, l(0, 0, 0, 0)
+ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 0, 0, 0)
ige [precise(yz)] r0.yz, r1.xxyx, r0.yyzy
and [precise(y)] r0.y, r0.z, r0.y
@@ -27,3 +28,12 @@
ishl [precise(w)] r7.w, r10.y, l(4)
iadd [precise(w)] r7.w, r7.w, r10.x
ld_structured [precise(w)] r8.w, r7.w, l(12), g0.xxxx
+@@ -422,7 +420,7 @@
+ f16tof32 r11.x, r8.w
+ ushr r8.w, r8.w, l(16)
+ f16tof32 r11.y, r8.w
+- sample_l_indexable(texture2d)(float,float,float,float) r11.xzw, r11.xyxx, t10.xwyz, s0, r7.w
++ sample_l_indexable(texture2d)(float,float,float,float) r11.xzw, r11.xyxx, t10.xwyz, s0, l(0.000000)
+ add r7.w, r11.y, l(-0.500000)
+ mad r7.w, -|r7.w|, l(2.000000), l(1.000000)
+ mul_sat r7.w, r7.w, cb3[4].x
diff --git a/Shaders/sslr_resolve_no_jitter_min_only.diff b/Shaders/sslr_resolve_no_jitter_min_only.diff
new file mode 100644
index 0000000..2a2577f
--- /dev/null
+++ b/Shaders/sslr_resolve_no_jitter_min_only.diff
@@ -0,0 +1,11 @@
+--- a/sslr_resolve_no_jitter.asm 2026-06-24 10:47:30.335375123 -0400
++++ b/sslr_resolve_no_jitter.asm 2026-06-26 15:45:29.835286175 -0400
+@@ -353,7 +353,7 @@
+ mul r2.w, r2.w, cb3[2].w
+ mul [precise(w)] r3.w, r2.x, r2.x
+ mul [precise(w)] r3.w, r3.w, l(0.500000)
+- min [precise(w)] r4.w, cb3[2].y, l(8.000000)
++ min [precise(w)] r4.w, cb3[2].y, l(16.000000)
+ mov r7.xyz, l(0,0,0,0)
+ mov [precise(x)] r8.x, r1.w
+ mov r8.y, r2.w
diff --git a/Shaders/sslr_resolve_no_jitter_no_dither.diff b/Shaders/sslr_resolve_no_jitter_no_dither.diff
index ebcdb47..ec08ced 100644
--- a/Shaders/sslr_resolve_no_jitter_no_dither.diff
+++ b/Shaders/sslr_resolve_no_jitter_no_dither.diff
@@ -1,5 +1,5 @@
--- a/sslr_resolve_no_jitter_no_dither.asm 2026-06-24 10:47:30.336853482 -0400
-+++ b/sslr_resolve_no_jitter_no_dither.asm 2026-06-23 16:16:47.490979883 -0400
++++ b/sslr_resolve_no_jitter_no_dither.asm 2026-06-27 20:34:13.469354714 -0400
@@ -171,14 +171,14 @@
dcl_thread_group 16, 16, 1
imad [precise(x)] r0.x, vThreadIDInGroup.y, l(16), vThreadIDInGroup.x
@@ -7,8 +7,9 @@
-ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 1, 1, 0)
+ushr [precise(yz)] r0.yz, r0.yyzy, l(0, 0, 0, 0)
iadd [precise(yz)] r0.yz, r0.yyzy, vThreadIDInGroup.xxyx
- iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
+-iadd [precise(xy)] r1.xy, r0.yzyy, l(-4, -4, 0, 0)
-ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 1, 1, 0)
++iadd [precise(xy)] r1.xy, r0.yzyy, l(0, 0, 0, 0)
+ushr [precise(yz)] r0.yz, cb1[2].xxyx, l(0, 0, 0, 0)
ige [precise(yz)] r0.yz, r1.xxyx, r0.yyzy
and [precise(y)] r0.y, r0.z, r0.y
@@ -28,3 +29,12 @@
imad [precise(w)] r3.w, r7.y, l(16), r7.x
ld_structured [precise] r7.xyzw, r3.w, l(0), g0.xyzw
and [precise(w)] r3.w, r7.w, l(0x80000000)
+@@ -361,7 +360,7 @@
+ if_z r3.w
+ if_nz r6.w
+ mad r9.z, r9.x, r4.w, cb3[3].x
+- sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r7.xyxx, t10.xyzw, s0, r9.z
++ sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r7.xyxx, t10.xyzw, s0, l(0.000000)
+ mul r11.xyz, r7.zzzz, r11.xyzx
+ mul r10.w, r7.z, r10.w
+ add [precise(z)] r9.z, -r9.y, l(1.000000)