summaryrefslogtreecommitdiff
path: root/Shaders/volume_upsample2.diff
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-03-16 16:03:52 -0400
committerAndrew Opalach <andrew@akon.city> 2026-03-16 16:03:52 -0400
commita6fcd3f4c75651e08c4392dea8a77b7fed1c2fe5 (patch)
treebe60df9efc6961ceb2e96b8411a688ec4e5ed4d6 /Shaders/volume_upsample2.diff
downloadWorldTuningTool-a6fcd3f4c75651e08c4392dea8a77b7fed1c2fe5.tar.gz
WorldTuningTool-a6fcd3f4c75651e08c4392dea8a77b7fed1c2fe5.tar.bz2
WorldTuningTool-a6fcd3f4c75651e08c4392dea8a77b7fed1c2fe5.zip
Outline of new features
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'Shaders/volume_upsample2.diff')
-rw-r--r--Shaders/volume_upsample2.diff191
1 files changed, 191 insertions, 0 deletions
diff --git a/Shaders/volume_upsample2.diff b/Shaders/volume_upsample2.diff
new file mode 100644
index 0000000..0887f10
--- /dev/null
+++ b/Shaders/volume_upsample2.diff
@@ -0,0 +1,191 @@
+--- a/volume_upsample2.asm 2026-03-16 15:19:50.820204181 -0400
++++ b/volume_upsample2.asm 2026-03-16 15:19:31.707007465 -0400
+@@ -254,103 +182,92 @@
+ else
+ mov r0.w, l(0)
+ endif
+-if_nz r0.w
+- utof r1.xy, r2.xyxx
+- mul r1.xy, r1.xyxx, cb3[2].zwzz
+- mul r1.xy, r1.xyxx, cb1[4].zzzz
+- mad r1.zw, -cb1[1].zzzw, l(0.000000, 0.000000, 0.500000, 0.500000), cb1[4].zzzz
+- max r1.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
+- min r1.xy, r1.zwzz, r1.xyxx
+- sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r1.xyxx, t1.xyzw, s0, l(0.000000)
+- sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s0, l(0.000000)
++if_nz r0.z
++ iadd r0.xy, -r0.xyxx, r2.yxyy
++ mov r4.xy, vThreadID.xyxx
++ mov r4.zw, l(0,0,0,0)
++ ld_indexable(texture2d)(float,float,float,float) r0.z, r4.xyzw, t0.yzxw
++ not r4.xy, r0.xyxx
++ imad r0.y, r4.x, l(-9), r0.y
++ imad r0.w, r4.x, l(-9), -r4.y
++ ishl r0.w, r0.w, l(8)
++ or r0.w, r0.w, r0.y
++ imad r0.x, r0.x, l(9), -r4.y
++ ishl r0.xy, r0.xyxx, l(16, 24, 0, 0)
++ or r0.x, r0.x, r0.w
++ or r0.x, r0.y, r0.x
++ bfi r0.y, l(1), l(1), vThreadIDInGroup.y, l(0)
++ bfi r0.y, l(1), l(0), vThreadIDInGroup.x, r0.y
++ and r0.w, r0.x, l(255)
++ ld_structured r1.w, r0.w, l(0), g0.xxxx
++ add r1.w, r0.z, -r1.w
++ add r1.w, |r1.w|, l(1.192092896E-07)
++ iadd r3.w, -r1.w, l(0x7ef312ac)
++ mad r4.x, -r3.w, r1.w, l(2.000000)
++ mul r3.w, r3.w, r4.x
++ mad r1.w, -r3.w, r1.w, l(2.000000)
++ mul r1.w, r1.w, r3.w
++ mul r3.w, r1.w, icb[r0.y + 0].x
++ ld_structured r4.xyz, r0.w, l(0), g1.xyzx
++ ld_structured r5.xyz, r0.w, l(0), g2.xyzx
++ mad r0.w, r1.w, icb[r0.y + 0].x, l(1.192092896E-07)
++ ubfe r6.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r0.xxxx
++ ld_structured r1.w, r6.x, l(0), g0.xxxx
++ add r1.w, r0.z, -r1.w
++ add r1.w, |r1.w|, l(1.192092896E-07)
++ iadd r4.w, -r1.w, l(0x7ef312ac)
++ mad r5.w, -r4.w, r1.w, l(2.000000)
++ mul r4.w, r4.w, r5.w
++ mad r1.w, -r4.w, r1.w, l(2.000000)
++ mul r1.w, r1.w, r4.w
++ mul r4.w, r1.w, icb[r0.y + 0].y
++ ld_structured r7.xyz, r6.x, l(0), g1.xyzx
++ mul r7.xyz, r4.wwww, r7.xyzx
++ mad r4.xyz, r4.xyzx, r3.wwww, r7.xyzx
++ ld_structured r6.xzw, r6.x, l(0), g2.xxyz
++ mul r6.xzw, r4.wwww, r6.xxzw
++ mad r5.xyz, r5.xyzx, r3.wwww, r6.xzwx
++ mad r0.w, r1.w, icb[r0.y + 0].y, r0.w
++ ld_structured r1.w, r6.y, l(0), g0.xxxx
++ add r1.w, r0.z, -r1.w
++ add r1.w, |r1.w|, l(1.192092896E-07)
++ iadd r3.w, -r1.w, l(0x7ef312ac)
++ mad r4.w, -r3.w, r1.w, l(2.000000)
++ mul r3.w, r3.w, r4.w
++ mad r1.w, -r3.w, r1.w, l(2.000000)
++ mul r1.w, r1.w, r3.w
++ mul r3.w, r1.w, icb[r0.y + 0].z
++ ld_structured r6.xzw, r6.y, l(0), g1.xxyz
++ mad r4.xyz, r6.xzwx, r3.wwww, r4.xyzx
++ ld_structured r6.xyz, r6.y, l(0), g2.xyzx
++ mad r5.xyz, r6.xyzx, r3.wwww, r5.xyzx
++ mad r0.w, r1.w, icb[r0.y + 0].z, r0.w
++ ushr r0.x, r0.x, l(24)
++ ld_structured r1.w, r0.x, l(0), g0.xxxx
++ add r0.z, r0.z, -r1.w
++ add r0.z, |r0.z|, l(1.192092896E-07)
++ iadd r1.w, -r0.z, l(0x7ef312ac)
++ mad r3.w, -r1.w, r0.z, l(2.000000)
++ mul r1.w, r1.w, r3.w
++ mad r0.z, -r1.w, r0.z, l(2.000000)
++ mul r0.z, r0.z, r1.w
++ mul r1.w, r0.z, icb[r0.y + 0].w
++ ld_structured r6.xyz, r0.x, l(0), g1.xyzx
++ mad r4.xyz, r6.xyzx, r1.wwww, r4.xyzx
++ ld_structured r6.xyz, r0.x, l(0), g2.xyzx
++ mad r5.xyz, r6.xyzx, r1.wwww, r5.xyzx
++ mad r0.x, r0.z, icb[r0.y + 0].w, r0.w
++ iadd r0.y, -r0.x, l(0x7ef312ac)
++ mad r0.z, -r0.y, r0.x, l(2.000000)
++ mul r0.y, r0.z, r0.y
++ mad r0.x, -r0.y, r0.x, l(2.000000)
++ mul r0.x, r0.x, r0.y
++ mul r3.xyz, r0.xxxx, r4.xyzx
++ mul r1.xyz, r0.xxxx, r5.xyzx
+ else
+- if_nz r0.z
+- iadd r0.xy, -r0.xyxx, r2.yxyy
+- mov r4.xy, vThreadID.xyxx
+- mov r4.zw, l(0,0,0,0)
+- ld_indexable(texture2d)(float,float,float,float) r0.z, r4.xyzw, t0.yzxw
+- not r4.xy, r0.xyxx
+- imad r0.y, r4.x, l(-9), r0.y
+- imad r0.w, r4.x, l(-9), -r4.y
+- ishl r0.w, r0.w, l(8)
+- or r0.w, r0.w, r0.y
+- imad r0.x, r0.x, l(9), -r4.y
+- ishl r0.xy, r0.xyxx, l(16, 24, 0, 0)
+- or r0.x, r0.x, r0.w
+- or r0.x, r0.y, r0.x
+- bfi r0.y, l(1), l(1), vThreadIDInGroup.y, l(0)
+- bfi r0.y, l(1), l(0), vThreadIDInGroup.x, r0.y
+- and r0.w, r0.x, l(255)
+- ld_structured r1.w, r0.w, l(0), g0.xxxx
+- add r1.w, r0.z, -r1.w
+- add r1.w, |r1.w|, l(1.192092896E-07)
+- iadd r3.w, -r1.w, l(0x7ef312ac)
+- mad r4.x, -r3.w, r1.w, l(2.000000)
+- mul r3.w, r3.w, r4.x
+- mad r1.w, -r3.w, r1.w, l(2.000000)
+- mul r1.w, r1.w, r3.w
+- mul r3.w, r1.w, icb[r0.y + 0].x
+- ld_structured r4.xyz, r0.w, l(0), g1.xyzx
+- ld_structured r5.xyz, r0.w, l(0), g2.xyzx
+- mad r0.w, r1.w, icb[r0.y + 0].x, l(1.192092896E-07)
+- ubfe r6.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r0.xxxx
+- ld_structured r1.w, r6.x, l(0), g0.xxxx
+- add r1.w, r0.z, -r1.w
+- add r1.w, |r1.w|, l(1.192092896E-07)
+- iadd r4.w, -r1.w, l(0x7ef312ac)
+- mad r5.w, -r4.w, r1.w, l(2.000000)
+- mul r4.w, r4.w, r5.w
+- mad r1.w, -r4.w, r1.w, l(2.000000)
+- mul r1.w, r1.w, r4.w
+- mul r4.w, r1.w, icb[r0.y + 0].y
+- ld_structured r7.xyz, r6.x, l(0), g1.xyzx
+- mul r7.xyz, r4.wwww, r7.xyzx
+- mad r4.xyz, r4.xyzx, r3.wwww, r7.xyzx
+- ld_structured r6.xzw, r6.x, l(0), g2.xxyz
+- mul r6.xzw, r4.wwww, r6.xxzw
+- mad r5.xyz, r5.xyzx, r3.wwww, r6.xzwx
+- mad r0.w, r1.w, icb[r0.y + 0].y, r0.w
+- ld_structured r1.w, r6.y, l(0), g0.xxxx
+- add r1.w, r0.z, -r1.w
+- add r1.w, |r1.w|, l(1.192092896E-07)
+- iadd r3.w, -r1.w, l(0x7ef312ac)
+- mad r4.w, -r3.w, r1.w, l(2.000000)
+- mul r3.w, r3.w, r4.w
+- mad r1.w, -r3.w, r1.w, l(2.000000)
+- mul r1.w, r1.w, r3.w
+- mul r3.w, r1.w, icb[r0.y + 0].z
+- ld_structured r6.xzw, r6.y, l(0), g1.xxyz
+- mad r4.xyz, r6.xzwx, r3.wwww, r4.xyzx
+- ld_structured r6.xyz, r6.y, l(0), g2.xyzx
+- mad r5.xyz, r6.xyzx, r3.wwww, r5.xyzx
+- mad r0.w, r1.w, icb[r0.y + 0].z, r0.w
+- ushr r0.x, r0.x, l(24)
+- ld_structured r1.w, r0.x, l(0), g0.xxxx
+- add r0.z, r0.z, -r1.w
+- add r0.z, |r0.z|, l(1.192092896E-07)
+- iadd r1.w, -r0.z, l(0x7ef312ac)
+- mad r3.w, -r1.w, r0.z, l(2.000000)
+- mul r1.w, r1.w, r3.w
+- mad r0.z, -r1.w, r0.z, l(2.000000)
+- mul r0.z, r0.z, r1.w
+- mul r1.w, r0.z, icb[r0.y + 0].w
+- ld_structured r6.xyz, r0.x, l(0), g1.xyzx
+- mad r4.xyz, r6.xyzx, r1.wwww, r4.xyzx
+- ld_structured r6.xyz, r0.x, l(0), g2.xyzx
+- mad r5.xyz, r6.xyzx, r1.wwww, r5.xyzx
+- mad r0.x, r0.z, icb[r0.y + 0].w, r0.w
+- iadd r0.y, -r0.x, l(0x7ef312ac)
+- mad r0.z, -r0.y, r0.x, l(2.000000)
+- mul r0.y, r0.z, r0.y
+- mad r0.x, -r0.y, r0.x, l(2.000000)
+- mul r0.x, r0.x, r0.y
+- mul r3.xyz, r0.xxxx, r4.xyzx
+- mul r1.xyz, r0.xxxx, r5.xyzx
+- else
+- mov r2.zw, l(0,0,0,0)
+- ld_indexable(texture2d)(float,float,float,float) r3.xyz, r2.xyww, t1.xyzw
+- ld_indexable(texture2d)(float,float,float,float) r1.xyz, r2.xyzw, t2.xyzw
+- endif
++ mov r2.zw, l(0,0,0,0)
++ ld_indexable(texture2d)(float,float,float,float) r3.xyz, r2.xyww, t1.xyzw
++ ld_indexable(texture2d)(float,float,float,float) r1.xyz, r2.xyzw, t2.xyzw
+ endif
+ store_uav_typed u1.xyzw, vThreadID.xyyy, r1.xyzz
+ store_uav_typed u0.xyzw, vThreadID.xyyy, r3.xyzz