--- a/sslr_resolve_no_dither.asm 2026-06-24 10:47:30.333700495 -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 ishl [precise(yz)] r0.yz, vThreadGroupID.xxyx, l(0, 4, 4, 0) -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) -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 iadd [precise(zw)] r0.zw, cb1[2].zzzw, cb1[2].xxxy -ushr [precise(zw)] r0.zw, r0.zzzw, l(0, 0, 1, 1) +ushr [precise(zw)] r0.zw, r0.zzzw, l(0, 0, 0, 0) ilt [precise(zw)] r0.zw, r1.xxxy, r0.zzzw and [precise(z)] r0.z, r0.w, r0.z and [precise(y)] r0.y, r0.z, r0.y @@ -361,8 +361,7 @@ mul r1.w, r1.w, cb3[2].w mul [precise(w)] r2.w, r2.x, r2.x mul [precise(w)] r2.w, r2.w, l(0.500000) - iadd [precise(xy)] r7.xy, vThreadIDInGroup.xyxx, l(8, 8, 0, 0) - ushr [precise(xy)] r7.xy, r7.xyxx, l(1, 1, 0, 0) + mov [precise(xy)] r7.xy, vThreadIDInGroup.xyxx 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)