summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTriang3l <triang3l@yandex.ru>2026-01-13 23:37:01 +0300
committerTriang3l <triang3l@yandex.ru>2026-01-13 23:37:01 +0300
commit6db6192170d83055447acd054493eda8b268782d (patch)
treedabdf3adc09260d7f104a914ce6085fa589b586a
parent7db772bfeb1e1f7a4c3de7f4aa0f8b879c138440 (diff)
[GPU] Use XOR to flip X texel group in all load/resolve shaders
For visual consistency (missed in the commit that added LocalXAddressXor).
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h36
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h40
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_scaled_cs.h40
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_scaled_cs.h34
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h36
-rw-r--r--src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h14
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_scaled_cs.h14
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_cs.h28
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_scaled_cs.h28
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_cs.h14
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_scaled_cs.h16
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_cs.h26
-rw-r--r--src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_scaled_cs.h34
-rw-r--r--src/xenia/gpu/shaders/resolve_fast_64bpp_1x2xmsaa.xesli2
-rw-r--r--src/xenia/gpu/shaders/resolve_fast_64bpp_4xmsaa.xesli2
-rw-r--r--src/xenia/gpu/shaders/resolve_full_128bpp.xesli2
-rw-r--r--src/xenia/gpu/shaders/resolve_full_64bpp.xesli2
-rw-r--r--src/xenia/gpu/shaders/texture_load_8bpb.xesli2
25 files changed, 241 insertions, 241 deletions
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h
index ee001da75..4781f0c02 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h
@@ -161,7 +161,7 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.xyzw
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.xyzw
-iadd r0.y, r0.y, l(2)
+xor r0.y, r0.y, l(2)
if_nz r0.z
mov r6.xyzw, r6.yxwz
mov r0.x, l(2)
@@ -186,10 +186,10 @@ ret
const BYTE resolve_fast_64bpp_1x2xmsaa_cs[] =
{
- 68, 88, 66, 67, 17, 76,
- 211, 159, 0, 100, 234, 6,
- 55, 118, 36, 100, 138, 65,
- 28, 159, 1, 0, 0, 0,
+ 68, 88, 66, 67, 246, 194,
+ 63, 114, 66, 156, 177, 45,
+ 188, 127, 76, 226, 86, 49,
+ 124, 46, 1, 0, 0, 0,
200, 20, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
208, 2, 0, 0, 224, 2,
@@ -960,7 +960,7 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_cs[] =
0, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
- 5, 0, 0, 0, 30, 0,
+ 5, 0, 0, 0, 87, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
@@ -1051,8 +1051,8 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_cs[] =
135, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
- 0, 0, 36, 0, 0, 0,
- 28, 0, 0, 0, 5, 0,
+ 0, 0, 35, 0, 0, 0,
+ 29, 0, 0, 0, 5, 0,
0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
index 4349c1d7c..cfe9ddc50 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
@@ -194,13 +194,13 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.zwxy
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.zwxy
-iadd r0.w, r0.y, l(1)
+xor r0.y, r0.y, l(1)
if_nz r0.z
mov r6.xyzw, r6.yxwz
mov r0.x, l(2)
endif
-ieq r1.xyz, r0.xxxx, l(1, 2, 3, 0)
-or r0.xz, r1.yyzy, r1.xxyx
+ieq r0.xzw, r0.xxxx, l(1, 0, 2, 3)
+or r0.xz, r0.zzwz, r0.xxzx
if_nz r0.x
ishl r1.xyzw, r6.xyzw, l(8, 8, 8, 8)
and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
@@ -212,17 +212,17 @@ if_nz r0.z
ushr r1.xyzw, r6.xyzw, l(16, 16, 16, 16)
bfi r6.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r6.xyzw, r1.xyzw
endif
-store_uav_typed U0[0].xyzw, r0.wwww, r6.xyzw
+store_uav_typed U0[0].xyzw, r0.yyyy, r6.xyzw
ret
// Approximately 169 instruction slots used
#endif
const BYTE resolve_fast_64bpp_1x2xmsaa_scaled_cs[] =
{
- 68, 88, 66, 67, 96, 130,
- 53, 145, 239, 172, 239, 111,
- 191, 243, 145, 60, 81, 78,
- 0, 134, 1, 0, 0, 0,
+ 68, 88, 66, 67, 44, 60,
+ 1, 15, 218, 123, 37, 28,
+ 162, 148, 71, 115, 173, 68,
+ 83, 42, 1, 0, 0, 0,
8, 24, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
144, 2, 0, 0, 160, 2,
@@ -1132,8 +1132,8 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_scaled_cs[] =
0, 0, 0, 0, 86, 5,
16, 0, 0, 0, 0, 0,
230, 4, 16, 0, 5, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 0, 0,
+ 0, 0, 87, 0, 0, 7,
+ 34, 0, 16, 0, 0, 0,
0, 0, 26, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 1, 0, 0, 0,
@@ -1147,17 +1147,17 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_scaled_cs[] =
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 21, 0,
0, 1, 32, 0, 0, 10,
- 114, 0, 16, 0, 1, 0,
+ 210, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 3, 0,
- 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0,
+ 0, 0, 3, 0, 0, 0,
60, 0, 0, 7, 82, 0,
16, 0, 0, 0, 0, 0,
- 86, 6, 16, 0, 1, 0,
- 0, 0, 6, 1, 16, 0,
- 1, 0, 0, 0, 31, 0,
+ 166, 11, 16, 0, 0, 0,
+ 0, 0, 6, 2, 16, 0,
+ 0, 0, 0, 0, 31, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 41, 0,
0, 10, 242, 0, 16, 0,
@@ -1215,7 +1215,7 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_scaled_cs[] =
0, 1, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
- 246, 15, 16, 0, 0, 0,
+ 86, 5, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
6, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
@@ -1223,7 +1223,7 @@ const BYTE resolve_fast_64bpp_1x2xmsaa_scaled_cs[] =
0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
- 43, 0, 0, 0, 36, 0,
+ 42, 0, 0, 0, 37, 0,
0, 0, 6, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h
index 5ea31edf0..db06706f7 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h
@@ -164,7 +164,7 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.xywz
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.xywz
-iadd r0.y, r0.y, l(2)
+xor r0.y, r0.y, l(2)
if_nz r0.z
mov r6.xyzw, r6.yxwz
mov r0.x, l(2)
@@ -189,10 +189,10 @@ ret
const BYTE resolve_fast_64bpp_4xmsaa_cs[] =
{
- 68, 88, 66, 67, 213, 100,
- 26, 195, 126, 161, 131, 146,
- 79, 94, 242, 118, 177, 119,
- 202, 120, 1, 0, 0, 0,
+ 68, 88, 66, 67, 232, 13,
+ 55, 97, 18, 197, 207, 40,
+ 88, 206, 174, 109, 212, 26,
+ 94, 33, 1, 0, 0, 0,
16, 21, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
208, 2, 0, 0, 224, 2,
@@ -975,7 +975,7 @@ const BYTE resolve_fast_64bpp_4xmsaa_cs[] =
0, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 70, 11, 16, 0,
- 5, 0, 0, 0, 30, 0,
+ 5, 0, 0, 0, 87, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
@@ -1066,8 +1066,8 @@ const BYTE resolve_fast_64bpp_4xmsaa_cs[] =
138, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
- 0, 0, 35, 0, 0, 0,
- 25, 0, 0, 0, 6, 0,
+ 0, 0, 34, 0, 0, 0,
+ 26, 0, 0, 0, 6, 0,
0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h
index ce8bd5d1f..df0ffe1c6 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h
@@ -195,13 +195,13 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.zwxy
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.zwxy
-iadd r0.w, r0.y, l(1)
+xor r0.y, r0.y, l(1)
if_nz r0.z
mov r7.xyzw, r7.yxwz
mov r0.x, l(2)
endif
-ieq r1.xyz, r0.xxxx, l(1, 2, 3, 0)
-or r0.xz, r1.yyzy, r1.xxyx
+ieq r0.xzw, r0.xxxx, l(1, 0, 2, 3)
+or r0.xz, r0.zzwz, r0.xxzx
if_nz r0.x
ishl r1.xyzw, r7.xyzw, l(8, 8, 8, 8)
and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
@@ -213,17 +213,17 @@ if_nz r0.z
ushr r1.xyzw, r7.xyzw, l(16, 16, 16, 16)
bfi r7.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r7.xyzw, r1.xyzw
endif
-store_uav_typed U0[0].xyzw, r0.wwww, r7.xyzw
+store_uav_typed U0[0].xyzw, r0.yyyy, r7.xyzw
ret
// Approximately 170 instruction slots used
#endif
const BYTE resolve_fast_64bpp_4xmsaa_scaled_cs[] =
{
- 68, 88, 66, 67, 89, 204,
- 251, 160, 9, 78, 183, 131,
- 60, 85, 215, 233, 197, 72,
- 165, 206, 1, 0, 0, 0,
+ 68, 88, 66, 67, 129, 114,
+ 223, 130, 243, 83, 23, 242,
+ 100, 109, 169, 216, 195, 6,
+ 127, 143, 1, 0, 0, 0,
40, 24, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
144, 2, 0, 0, 160, 2,
@@ -1138,8 +1138,8 @@ const BYTE resolve_fast_64bpp_4xmsaa_scaled_cs[] =
0, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 230, 4, 16, 0,
- 5, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
+ 5, 0, 0, 0, 87, 0,
+ 0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 1, 0,
@@ -1153,17 +1153,17 @@ const BYTE resolve_fast_64bpp_4xmsaa_scaled_cs[] =
0, 0, 0, 0, 1, 64,
0, 0, 2, 0, 0, 0,
21, 0, 0, 1, 32, 0,
- 0, 10, 114, 0, 16, 0,
- 1, 0, 0, 0, 6, 0,
+ 0, 10, 210, 0, 16, 0,
+ 0, 0, 0, 0, 6, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 3, 0,
0, 0, 60, 0, 0, 7,
82, 0, 16, 0, 0, 0,
- 0, 0, 86, 6, 16, 0,
- 1, 0, 0, 0, 6, 1,
- 16, 0, 1, 0, 0, 0,
+ 0, 0, 166, 11, 16, 0,
+ 0, 0, 0, 0, 6, 2,
+ 16, 0, 0, 0, 0, 0,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
41, 0, 0, 10, 242, 0,
@@ -1221,7 +1221,7 @@ const BYTE resolve_fast_64bpp_4xmsaa_scaled_cs[] =
21, 0, 0, 1, 164, 0,
0, 8, 242, 224, 33, 0,
0, 0, 0, 0, 0, 0,
- 0, 0, 246, 15, 16, 0,
+ 0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 7, 0, 0, 0,
62, 0, 0, 1, 83, 84,
@@ -1229,8 +1229,8 @@ const BYTE resolve_fast_64bpp_4xmsaa_scaled_cs[] =
170, 0, 0, 0, 8, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
- 0, 0, 42, 0, 0, 0,
- 33, 0, 0, 0, 7, 0,
+ 0, 0, 41, 0, 0, 0,
+ 34, 0, 0, 0, 7, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h
index 915a65554..9c9f8e729 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h
@@ -774,7 +774,7 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.xyzw
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.xyzw
-iadd r0.y, r0.y, l(2)
+xor r0.y, r0.y, l(2)
if_nz r0.z
mov r6.yw, r6.wwwy
mov r6.xyzw, r6.yzwx
@@ -805,10 +805,10 @@ ret
const BYTE resolve_full_128bpp_cs[] =
{
- 68, 88, 66, 67, 145, 110,
- 1, 160, 154, 248, 137, 225,
- 132, 67, 116, 231, 254, 112,
- 194, 27, 1, 0, 0, 0,
+ 68, 88, 66, 67, 121, 222,
+ 163, 27, 78, 153, 202, 85,
+ 167, 175, 64, 159, 243, 181,
+ 138, 61, 1, 0, 0, 0,
12, 87, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
208, 2, 0, 0, 224, 2,
@@ -4389,7 +4389,7 @@ const BYTE resolve_full_128bpp_cs[] =
0, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
- 5, 0, 0, 0, 30, 0,
+ 5, 0, 0, 0, 87, 0,
0, 7, 34, 0, 16, 0,
0, 0, 0, 0, 26, 0,
16, 0, 0, 0, 0, 0,
@@ -4497,8 +4497,8 @@ const BYTE resolve_full_128bpp_cs[] =
0, 0, 242, 2, 0, 0,
15, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
- 66, 0, 0, 0, 164, 0,
- 0, 0, 109, 0, 0, 0,
+ 66, 0, 0, 0, 163, 0,
+ 0, 0, 110, 0, 0, 0,
55, 0, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_scaled_cs.h
index 55d7cbfe2..684f681c6 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_scaled_cs.h
@@ -799,7 +799,7 @@ if_nz r1.y
bfi r5.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r5.xyzw, r1.xyzw
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r5.xyzw
-iadd r0.w, r0.y, l(1)
+xor r0.y, r0.y, l(1)
if_nz r0.z
mov r6.xyzw, r6.wzyx
mov r0.x, l(2)
@@ -809,8 +809,8 @@ if_nz r0.z
mov r6.xyzw, r6.yxwz
mov r0.x, l(2)
endif
-ieq r1.xyz, r0.xxxx, l(1, 2, 3, 0)
-or r0.xz, r1.yyzy, r1.xxyx
+ieq r0.xzw, r0.xxxx, l(1, 0, 2, 3)
+or r0.xz, r0.zzwz, r0.xxzx
if_nz r0.x
ishl r1.xyzw, r6.xyzw, l(8, 8, 8, 8)
and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
@@ -822,17 +822,17 @@ if_nz r0.z
ushr r1.xyzw, r6.xyzw, l(16, 16, 16, 16)
bfi r6.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r6.xyzw, r1.xyzw
endif
-store_uav_typed U0[0].xyzw, r0.wwww, r6.xyzw
+store_uav_typed U0[0].xyzw, r0.yyyy, r6.xyzw
ret
// Approximately 779 instruction slots used
#endif
const BYTE resolve_full_128bpp_scaled_cs[] =
{
- 68, 88, 66, 67, 240, 225,
- 91, 191, 177, 208, 168, 157,
- 30, 39, 193, 254, 151, 166,
- 56, 118, 1, 0, 0, 0,
+ 68, 88, 66, 67, 2, 236,
+ 233, 53, 176, 215, 12, 209,
+ 211, 181, 169, 162, 16, 253,
+ 65, 20, 1, 0, 0, 0,
184, 89, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
144, 2, 0, 0, 160, 2,
@@ -4531,7 +4531,7 @@ const BYTE resolve_full_128bpp_scaled_cs[] =
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 5, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
+ 87, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
@@ -4559,17 +4559,17 @@ const BYTE resolve_full_128bpp_scaled_cs[] =
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 2, 0,
0, 0, 21, 0, 0, 1,
- 32, 0, 0, 10, 114, 0,
- 16, 0, 1, 0, 0, 0,
+ 32, 0, 0, 10, 210, 0,
+ 16, 0, 0, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 2, 0,
- 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 60, 0,
+ 1, 0, 0, 0, 0, 0,
+ 0, 0, 2, 0, 0, 0,
+ 3, 0, 0, 0, 60, 0,
0, 7, 82, 0, 16, 0,
- 0, 0, 0, 0, 86, 6,
- 16, 0, 1, 0, 0, 0,
- 6, 1, 16, 0, 1, 0,
+ 0, 0, 0, 0, 166, 11,
+ 16, 0, 0, 0, 0, 0,
+ 6, 2, 16, 0, 0, 0,
0, 0, 31, 0, 4, 3,
10, 0, 16, 0, 0, 0,
0, 0, 41, 0, 0, 10,
@@ -4627,7 +4627,7 @@ const BYTE resolve_full_128bpp_scaled_cs[] =
0, 0, 21, 0, 0, 1,
164, 0, 0, 8, 242, 224,
33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 246, 15,
+ 0, 0, 0, 0, 86, 5,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 6, 0,
0, 0, 62, 0, 0, 1,
@@ -4635,8 +4635,8 @@ const BYTE resolve_full_128bpp_scaled_cs[] =
0, 0, 11, 3, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
- 66, 0, 0, 0, 169, 0,
- 0, 0, 115, 0, 0, 0,
+ 66, 0, 0, 0, 168, 0,
+ 0, 0, 116, 0, 0, 0,
57, 0, 0, 0, 37, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h
index b40c73c58..9608cb5a3 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h
@@ -1265,7 +1265,7 @@ if_nz r1.y
bfi r6.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r6.xyzw, r1.xyzw
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r6.xyzw
-iadd r0.y, r0.y, l(2)
+xor r0.y, r0.y, l(2)
if_nz r0.z
mov r7.xyzw, r7.yxwz
mov r0.x, l(2)
@@ -1290,10 +1290,10 @@ ret
const BYTE resolve_full_64bpp_cs[] =
{
- 68, 88, 66, 67, 89, 178,
- 20, 85, 121, 226, 139, 243,
- 100, 181, 214, 171, 75, 78,
- 30, 177, 1, 0, 0, 0,
+ 68, 88, 66, 67, 21, 135,
+ 140, 231, 44, 153, 123, 171,
+ 169, 157, 116, 162, 154, 214,
+ 255, 32, 1, 0, 0, 0,
136, 149, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
208, 2, 0, 0, 224, 2,
@@ -7558,7 +7558,7 @@ const BYTE resolve_full_64bpp_cs[] =
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 6, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
+ 87, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
@@ -7648,8 +7648,8 @@ const BYTE resolve_full_64bpp_cs[] =
0, 0, 215, 4, 0, 0,
24, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
- 116, 0, 0, 0, 2, 1,
- 0, 0, 173, 0, 0, 0,
+ 116, 0, 0, 0, 1, 1,
+ 0, 0, 174, 0, 0, 0,
59, 0, 0, 0, 34, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_scaled_cs.h
index b8a114b4c..094bce859 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_scaled_cs.h
@@ -1297,14 +1297,14 @@ if_nz r1.y
bfi r7.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r7.xyzw, r1.zwxy
endif
store_uav_typed U0[0].xyzw, r0.yyyy, r7.zwxy
-iadd r0.w, r0.y, l(1)
+xor r0.y, r0.y, l(1)
if_nz r0.z
mov r8.zw, r8.wwwz
mov r8.xyzw, r8.yxzw
mov r0.x, l(2)
endif
-ieq r1.xyz, r0.xxxx, l(1, 2, 3, 0)
-or r0.xz, r1.yyzy, r1.xxyx
+ieq r0.xzw, r0.xxxx, l(1, 0, 2, 3)
+or r0.xz, r0.zzwz, r0.xxzx
if_nz r0.x
ishl r1.xyzw, r8.xyzw, l(8, 8, 8, 8)
and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
@@ -1316,17 +1316,17 @@ if_nz r0.z
ushr r1.xyzw, r8.xyzw, l(16, 16, 16, 16)
bfi r8.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r8.xyzw, r1.xyzw
endif
-store_uav_typed U0[0].xyzw, r0.wwww, r8.xyzw
+store_uav_typed U0[0].xyzw, r0.yyyy, r8.xyzw
ret
// Approximately 1273 instruction slots used
#endif
const BYTE resolve_full_64bpp_scaled_cs[] =
{
- 68, 88, 66, 67, 201, 104,
- 14, 208, 224, 66, 223, 127,
- 64, 160, 187, 215, 250, 127,
- 253, 26, 1, 0, 0, 0,
+ 68, 88, 66, 67, 227, 101,
+ 148, 25, 55, 167, 255, 25,
+ 190, 3, 75, 212, 222, 21,
+ 57, 240, 1, 0, 0, 0,
8, 153, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
144, 2, 0, 0, 160, 2,
@@ -7737,7 +7737,7 @@ const BYTE resolve_full_64bpp_scaled_cs[] =
0, 0, 86, 5, 16, 0,
0, 0, 0, 0, 230, 4,
16, 0, 7, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
+ 87, 0, 0, 7, 34, 0,
16, 0, 0, 0, 0, 0,
26, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
@@ -7755,17 +7755,17 @@ const BYTE resolve_full_64bpp_scaled_cs[] =
0, 0, 1, 64, 0, 0,
2, 0, 0, 0, 21, 0,
0, 1, 32, 0, 0, 10,
- 114, 0, 16, 0, 1, 0,
+ 210, 0, 16, 0, 0, 0,
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 3, 0,
- 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0,
+ 0, 0, 3, 0, 0, 0,
60, 0, 0, 7, 82, 0,
16, 0, 0, 0, 0, 0,
- 86, 6, 16, 0, 1, 0,
- 0, 0, 6, 1, 16, 0,
- 1, 0, 0, 0, 31, 0,
+ 166, 11, 16, 0, 0, 0,
+ 0, 0, 6, 2, 16, 0,
+ 0, 0, 0, 0, 31, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 41, 0,
0, 10, 242, 0, 16, 0,
@@ -7823,7 +7823,7 @@ const BYTE resolve_full_64bpp_scaled_cs[] =
0, 1, 164, 0, 0, 8,
242, 224, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0,
- 246, 15, 16, 0, 0, 0,
+ 86, 5, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
8, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
@@ -7831,7 +7831,7 @@ const BYTE resolve_full_64bpp_scaled_cs[] =
0, 0, 24, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 118, 0, 0, 0,
- 9, 1, 0, 0, 180, 0,
+ 8, 1, 0, 0, 181, 0,
0, 0, 60, 0, 0, 0,
38, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h
index 9219a0744..aac7df38d 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h
@@ -111,15 +111,15 @@ else
endif
endif
iadd r0.y, r0.w, CB0[0][0].y
-ushr r0.yz, r0.yyzy, l(0, 3, 4, 0)
-ld r1.xy, r0.yyyy, T0[0].xyzw
+ushr r0.zw, r0.zzzy, l(0, 0, 4, 3)
+ld r1.xy, r0.wwww, T0[0].xyzw
if_nz r0.x
mov r0.x, l(64)
else
mov r0.x, l(8)
endif
+xor r0.x, r0.x, r0.y
ushr r0.x, r0.x, l(3)
-iadd r0.x, r0.x, r0.y
ld r1.zw, r0.xxxx, T0[0].zwxy
store_uav_typed U0[0].xyzw, r0.zzzz, r1.xyzw
ret
@@ -128,10 +128,10 @@ ret
const BYTE texture_load_8bpb_cs[] =
{
- 68, 88, 66, 67, 127, 229,
- 56, 99, 146, 185, 233, 11,
- 227, 212, 223, 63, 223, 41,
- 179, 34, 1, 0, 0, 0,
+ 68, 88, 66, 67, 117, 109,
+ 253, 171, 217, 83, 84, 31,
+ 222, 0, 192, 36, 171, 235,
+ 3, 143, 1, 0, 0, 0,
116, 14, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
20, 4, 0, 0, 36, 4,
@@ -676,15 +676,15 @@ const BYTE texture_load_8bpb_cs[] =
0, 0, 26, 128, 48, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
- 85, 0, 0, 10, 98, 0,
+ 85, 0, 0, 10, 194, 0,
16, 0, 0, 0, 0, 0,
- 86, 6, 16, 0, 0, 0,
+ 166, 6, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 3, 0,
+ 0, 0, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 45, 0,
+ 3, 0, 0, 0, 45, 0,
0, 8, 50, 0, 16, 0,
- 1, 0, 0, 0, 86, 5,
+ 1, 0, 0, 0, 246, 15,
16, 0, 0, 0, 0, 0,
70, 126, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@@ -698,15 +698,15 @@ const BYTE texture_load_8bpb_cs[] =
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 8, 0,
0, 0, 21, 0, 0, 1,
- 85, 0, 0, 7, 18, 0,
+ 87, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 3, 0, 0, 0, 30, 0,
+ 0, 0, 26, 0, 16, 0,
+ 0, 0, 0, 0, 85, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
+ 1, 64, 0, 0, 3, 0,
0, 0, 45, 0, 0, 8,
194, 0, 16, 0, 1, 0,
0, 0, 6, 0, 16, 0,
@@ -723,8 +723,8 @@ const BYTE texture_load_8bpb_cs[] =
74, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
- 0, 0, 24, 0, 0, 0,
- 12, 0, 0, 0, 5, 0,
+ 0, 0, 23, 0, 0, 0,
+ 13, 0, 0, 0, 5, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h
index 1d00826ae..00938352d 100644
--- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h
@@ -109,7 +109,7 @@ imad r0.x, r0.x, r0.y, r1.x
iadd r0.x, r0.x, CB0[0][0].y
ushr r0.xw, r0.xxxw, l(3, 0, 0, 4)
ld r1.xy, r0.xxxx, T0[0].xyzw
-iadd r0.x, r0.x, l(1)
+xor r0.x, r0.x, l(1)
ld r1.zw, r0.xxxx, T0[0].zwxy
store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw
ret
@@ -118,10 +118,10 @@ ret
const BYTE texture_load_8bpb_scaled_cs[] =
{
- 68, 88, 66, 67, 143, 246,
- 84, 110, 27, 185, 233, 174,
- 226, 75, 33, 232, 165, 193,
- 65, 104, 1, 0, 0, 0,
+ 68, 88, 66, 67, 17, 39,
+ 28, 102, 168, 184, 245, 78,
+ 133, 113, 4, 107, 145, 194,
+ 244, 48, 1, 0, 0, 0,
240, 13, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
20, 4, 0, 0, 36, 4,
@@ -670,7 +670,7 @@ const BYTE texture_load_8bpb_scaled_cs[] =
0, 0, 6, 0, 16, 0,
0, 0, 0, 0, 70, 126,
32, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,
+ 0, 0, 0, 0, 87, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
@@ -691,8 +691,8 @@ const BYTE texture_load_8bpb_scaled_cs[] =
64, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
- 0, 0, 23, 0, 0, 0,
- 13, 0, 0, 0, 3, 0,
+ 0, 0, 22, 0, 0, 0,
+ 14, 0, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_cs.h
index 3c7590d26..39d15f315 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_cs.h
@@ -423,9 +423,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %20138 %uint_2
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %20138 %uint_2
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -453,7 +453,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10927 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -788,9 +788,9 @@ const uint32_t resolve_fast_64bpp_1x2xmsaa_cs[] = {
0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5,
0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98,
0x000200F8, 0x00002C98, 0x000700F5, 0x00000017, 0x00004D37, 0x00005879,
- 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x000060F9,
- 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E, 0x000060F9, 0x00004D37,
- 0x00050080, 0x0000000B, 0x000054B5, 0x00004EAA, 0x00000A10, 0x000300F7,
+ 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x00001BAC,
+ 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E, 0x00001BAC, 0x00004D37,
+ 0x000500C6, 0x0000000B, 0x00003618, 0x00004EAA, 0x00000A10, 0x000300F7,
0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C, 0x000033E0, 0x00003F86,
0x000200F8, 0x000033E0, 0x0009004F, 0x00000017, 0x00001F17, 0x000022F8,
0x000022F8, 0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000200F9,
@@ -809,7 +809,7 @@ const uint32_t resolve_fast_64bpp_1x2xmsaa_cs[] = {
0x00002AAF, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18,
0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5,
0x00000017, 0x00004D38, 0x00002AAF, 0x00003A1A, 0x000029E9, 0x00002B39,
- 0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x000054B5,
+ 0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x00003618,
0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9, 0x00004C7A, 0x000200F8,
0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
index 09311e0df..14ad7cf8e 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
@@ -498,9 +498,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %22330 %uint_1
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %22330 %uint_1
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -528,7 +528,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10927 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -919,8 +919,8 @@ const uint32_t resolve_fast_64bpp_1x2xmsaa_scaled_cs[] = {
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
- 0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x0000573A, 0x0003003E,
- 0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x000054B5, 0x0000573A,
+ 0x00000294, 0x00001BAC, 0x00001592, 0x00000A0B, 0x0000573A, 0x0003003E,
+ 0x00001BAC, 0x00004D37, 0x000500C6, 0x0000000B, 0x00003618, 0x0000573A,
0x00000A0D, 0x000300F7, 0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C,
0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F, 0x00000017,
0x00001F17, 0x000022F8, 0x000022F8, 0x00000001, 0x00000000, 0x00000003,
@@ -940,6 +940,6 @@ const uint32_t resolve_fast_64bpp_1x2xmsaa_scaled_cs[] = {
0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8,
0x00002C99, 0x000700F5, 0x00000017, 0x00004D38, 0x00002AAF, 0x00003A1A,
0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75, 0x00001592,
- 0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9,
+ 0x00000A0B, 0x00003618, 0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_cs.h
index 586ea2fdf..0b9de9065 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_cs.h
@@ -431,9 +431,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %20138 %uint_2
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %20138 %uint_2
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -461,7 +461,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10927 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -803,9 +803,9 @@ const uint32_t resolve_fast_64bpp_4xmsaa_cs[] = {
0x000500C2, 0x00000017, 0x00003BE7, 0x00005879, 0x000002ED, 0x000500C5,
0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98,
0x000200F8, 0x00002C98, 0x000700F5, 0x00000017, 0x00004D37, 0x00005879,
- 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x000060F9,
- 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E, 0x000060F9, 0x00004D37,
- 0x00050080, 0x0000000B, 0x000054B5, 0x00004EAA, 0x00000A10, 0x000300F7,
+ 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x00001BAC,
+ 0x00001592, 0x00000A0B, 0x00004EAA, 0x0003003E, 0x00001BAC, 0x00004D37,
+ 0x000500C6, 0x0000000B, 0x00003618, 0x00004EAA, 0x00000A10, 0x000300F7,
0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C, 0x000033E0, 0x00003F86,
0x000200F8, 0x000033E0, 0x0009004F, 0x00000017, 0x00001F17, 0x000022F8,
0x000022F8, 0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000200F9,
@@ -824,7 +824,7 @@ const uint32_t resolve_fast_64bpp_4xmsaa_cs[] = {
0x00002AAF, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18,
0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5,
0x00000017, 0x00004D38, 0x00002AAF, 0x00003A1A, 0x000029E9, 0x00002B39,
- 0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x000054B5,
+ 0x00060041, 0x00000294, 0x00001F75, 0x00001592, 0x00000A0B, 0x00003618,
0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9, 0x00004C7A, 0x000200F8,
0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_scaled_cs.h
index 5d26789d1..822146e4b 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_fast_64bpp_4xmsaa_scaled_cs.h
@@ -507,9 +507,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22649 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %22330 %uint_1
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %22330 %uint_1
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -537,7 +537,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10927 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -936,8 +936,8 @@ const uint32_t resolve_fast_64bpp_4xmsaa_scaled_cs[] = {
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x00005879, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
- 0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x0000573A, 0x0003003E,
- 0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x000054B5, 0x0000573A,
+ 0x00000294, 0x00001BAC, 0x00001592, 0x00000A0B, 0x0000573A, 0x0003003E,
+ 0x00001BAC, 0x00004D37, 0x000500C6, 0x0000000B, 0x00003618, 0x0000573A,
0x00000A0D, 0x000300F7, 0x00003F86, 0x00000000, 0x000400FA, 0x00004B9C,
0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F, 0x00000017,
0x00001F17, 0x000022F8, 0x000022F8, 0x00000001, 0x00000000, 0x00000003,
@@ -957,6 +957,6 @@ const uint32_t resolve_fast_64bpp_4xmsaa_scaled_cs[] = {
0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99, 0x000200F8,
0x00002C99, 0x000700F5, 0x00000017, 0x00004D38, 0x00002AAF, 0x00003A1A,
0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75, 0x00001592,
- 0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9,
+ 0x00000A0B, 0x00003618, 0x0003003E, 0x00001F75, 0x00004D38, 0x000200F9,
0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_cs.h
index b110854ef..676bab2ae 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_cs.h
@@ -1509,17 +1509,17 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22650 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %7562
- OpStore %24825 %19767
- %23836 = OpIAdd %uint %7562 %uint_2
- %18261 = OpBitcast %v4uint %8952
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %7562
+ OpStore %7084 %19767
+ %15999 = OpBitwiseXor %uint %7562 %uint_2
+ %18402 = OpBitcast %v4uint %8952
OpSelectionMerge %16262 None
OpBranchConditional %8174 %13281 %16262
%13281 = OpLabel
- %7960 = OpVectorShuffle %v4uint %18261 %18261 3 2 1 0
+ %7960 = OpVectorShuffle %v4uint %18402 %18402 3 2 1 0
OpBranch %16262
%16262 = OpLabel
- %10927 = OpPhi %v4uint %18261 %11416 %7960 %13281
+ %10927 = OpPhi %v4uint %18402 %11416 %7960 %13281
OpSelectionMerge %16263 None
OpBranchConditional %20758 %13282 %16263
%13282 = OpLabel
@@ -1547,7 +1547,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10929 %14874 %10729 %11065
- %8054 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %23836
+ %8054 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %15999
OpStore %8054 %19768
OpBranch %19578
%19578 = OpLabel
@@ -2783,14 +2783,14 @@ const uint32_t resolve_full_128bpp_cs[] = {
0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7,
0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5, 0x00000017,
0x00004D37, 0x0000587A, 0x00003463, 0x000029E8, 0x00002B38, 0x00060041,
- 0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x00001D8A, 0x0003003E,
- 0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x00005D1C, 0x00001D8A,
- 0x00000A10, 0x0004007C, 0x00000017, 0x00004755, 0x000022F8, 0x000300F7,
+ 0x00000294, 0x00001BAC, 0x00001592, 0x00000A0B, 0x00001D8A, 0x0003003E,
+ 0x00001BAC, 0x00004D37, 0x000500C6, 0x0000000B, 0x00003E7F, 0x00001D8A,
+ 0x00000A10, 0x0004007C, 0x00000017, 0x000047E2, 0x000022F8, 0x000300F7,
0x00003F86, 0x00000000, 0x000400FA, 0x00001FEE, 0x000033E1, 0x00003F86,
- 0x000200F8, 0x000033E1, 0x0009004F, 0x00000017, 0x00001F18, 0x00004755,
- 0x00004755, 0x00000003, 0x00000002, 0x00000001, 0x00000000, 0x000200F9,
+ 0x000200F8, 0x000033E1, 0x0009004F, 0x00000017, 0x00001F18, 0x000047E2,
+ 0x000047E2, 0x00000003, 0x00000002, 0x00000001, 0x00000000, 0x000200F9,
0x00003F86, 0x000200F8, 0x00003F86, 0x000700F5, 0x00000017, 0x00002AAF,
- 0x00004755, 0x00002C98, 0x00001F18, 0x000033E1, 0x000300F7, 0x00003F87,
+ 0x000047E2, 0x00002C98, 0x00001F18, 0x000033E1, 0x000300F7, 0x00003F87,
0x00000000, 0x000400FA, 0x00005116, 0x000033E2, 0x00003F87, 0x000200F8,
0x000033E2, 0x0009004F, 0x00000017, 0x00001F19, 0x00002AAF, 0x00002AAF,
0x00000001, 0x00000000, 0x00000003, 0x00000002, 0x000200F9, 0x00003F87,
@@ -2809,7 +2809,7 @@ const uint32_t resolve_full_128bpp_cs[] = {
0x000002ED, 0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8,
0x000200F9, 0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5, 0x00000017,
0x00004D38, 0x00002AB1, 0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041,
- 0x00000294, 0x00001F76, 0x00001592, 0x00000A0B, 0x00005D1C, 0x0003003E,
+ 0x00000294, 0x00001F76, 0x00001592, 0x00000A0B, 0x00003E7F, 0x0003003E,
0x00001F76, 0x00004D38, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A,
0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_scaled_cs.h
index 6a3cadca5..41922054a 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_128bpp_scaled_cs.h
@@ -1555,17 +1555,17 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22650 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %9754
- OpStore %24825 %19767
- %23836 = OpIAdd %uint %9754 %uint_1
- %18261 = OpBitcast %v4uint %11376
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %9754
+ OpStore %7084 %19767
+ %15999 = OpBitwiseXor %uint %9754 %uint_1
+ %18402 = OpBitcast %v4uint %11376
OpSelectionMerge %16262 None
OpBranchConditional %8174 %13281 %16262
%13281 = OpLabel
- %7960 = OpVectorShuffle %v4uint %18261 %18261 3 2 1 0
+ %7960 = OpVectorShuffle %v4uint %18402 %18402 3 2 1 0
OpBranch %16262
%16262 = OpLabel
- %10927 = OpPhi %v4uint %18261 %11416 %7960 %13281
+ %10927 = OpPhi %v4uint %18402 %11416 %7960 %13281
OpSelectionMerge %16263 None
OpBranchConditional %20758 %13282 %16263
%13282 = OpLabel
@@ -1593,7 +1593,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10929 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %23836
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %15999
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -2862,14 +2862,14 @@ const uint32_t resolve_full_128bpp_scaled_cs[] = {
0x000500C2, 0x00000017, 0x00003BE7, 0x0000587A, 0x000002ED, 0x000500C5,
0x00000017, 0x000029E8, 0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98,
0x000200F8, 0x00002C98, 0x000700F5, 0x00000017, 0x00004D37, 0x0000587A,
- 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x000060F9,
- 0x00001592, 0x00000A0B, 0x0000261A, 0x0003003E, 0x000060F9, 0x00004D37,
- 0x00050080, 0x0000000B, 0x00005D1C, 0x0000261A, 0x00000A0D, 0x0004007C,
- 0x00000017, 0x00004755, 0x00002C70, 0x000300F7, 0x00003F86, 0x00000000,
+ 0x00003463, 0x000029E8, 0x00002B38, 0x00060041, 0x00000294, 0x00001BAC,
+ 0x00001592, 0x00000A0B, 0x0000261A, 0x0003003E, 0x00001BAC, 0x00004D37,
+ 0x000500C6, 0x0000000B, 0x00003E7F, 0x0000261A, 0x00000A0D, 0x0004007C,
+ 0x00000017, 0x000047E2, 0x00002C70, 0x000300F7, 0x00003F86, 0x00000000,
0x000400FA, 0x00001FEE, 0x000033E1, 0x00003F86, 0x000200F8, 0x000033E1,
- 0x0009004F, 0x00000017, 0x00001F18, 0x00004755, 0x00004755, 0x00000003,
+ 0x0009004F, 0x00000017, 0x00001F18, 0x000047E2, 0x000047E2, 0x00000003,
0x00000002, 0x00000001, 0x00000000, 0x000200F9, 0x00003F86, 0x000200F8,
- 0x00003F86, 0x000700F5, 0x00000017, 0x00002AAF, 0x00004755, 0x00002C98,
+ 0x00003F86, 0x000700F5, 0x00000017, 0x00002AAF, 0x000047E2, 0x00002C98,
0x00001F18, 0x000033E1, 0x000300F7, 0x00003F87, 0x00000000, 0x000400FA,
0x00005116, 0x000033E2, 0x00003F87, 0x000200F8, 0x000033E2, 0x0009004F,
0x00000017, 0x00001F19, 0x00002AAF, 0x00002AAF, 0x00000001, 0x00000000,
@@ -2889,6 +2889,6 @@ const uint32_t resolve_full_128bpp_scaled_cs[] = {
0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99,
0x000200F8, 0x00002C99, 0x000700F5, 0x00000017, 0x00004D38, 0x00002AB1,
0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F75,
- 0x00001592, 0x00000A0B, 0x00005D1C, 0x0003003E, 0x00001F75, 0x00004D38,
+ 0x00001592, 0x00000A0B, 0x00003E7F, 0x0003003E, 0x00001F75, 0x00004D38,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_cs.h
index 7c8cce6d4..1b46001a4 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_cs.h
@@ -2504,9 +2504,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22650 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %20138 %uint_2
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %20138
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %20138 %uint_2
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -2534,7 +2534,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10956 %14874 %10729 %11065
- %8054 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8054 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8054 %19768
OpBranch %19578
%19578 = OpLabel
@@ -4670,8 +4670,8 @@ const uint32_t resolve_full_64bpp_cs[] = {
0x0000587A, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8, 0x00005E17,
0x00003BE7, 0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98, 0x000700F5,
0x00000017, 0x00004D37, 0x0000587A, 0x00003463, 0x000029E8, 0x00002B38,
- 0x00060041, 0x00000294, 0x000060F9, 0x00001592, 0x00000A0B, 0x00004EAA,
- 0x0003003E, 0x000060F9, 0x00004D37, 0x00050080, 0x0000000B, 0x000054B5,
+ 0x00060041, 0x00000294, 0x00001BAC, 0x00001592, 0x00000A0B, 0x00004EAA,
+ 0x0003003E, 0x00001BAC, 0x00004D37, 0x000500C6, 0x0000000B, 0x00003618,
0x00004EAA, 0x00000A10, 0x000300F7, 0x00003F86, 0x00000000, 0x000400FA,
0x00004B9C, 0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0, 0x0009004F,
0x00000017, 0x00001F17, 0x00002616, 0x00002616, 0x00000001, 0x00000000,
@@ -4691,6 +4691,6 @@ const uint32_t resolve_full_64bpp_cs[] = {
0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9, 0x00002C99,
0x000200F8, 0x00002C99, 0x000700F5, 0x00000017, 0x00004D38, 0x00002ACC,
0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041, 0x00000294, 0x00001F76,
- 0x00001592, 0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F76, 0x00004D38,
+ 0x00001592, 0x00000A0B, 0x00003618, 0x0003003E, 0x00001F76, 0x00004D38,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_scaled_cs.h
index a03b18565..10ecd8c77 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/resolve_full_64bpp_scaled_cs.h
@@ -2570,9 +2570,9 @@
OpBranch %11416
%11416 = OpLabel
%19767 = OpPhi %v4uint %22650 %13411 %10728 %11064
- %24825 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
- OpStore %24825 %19767
- %21685 = OpIAdd %uint %22330 %uint_1
+ %7084 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %22330
+ OpStore %7084 %19767
+ %13848 = OpBitwiseXor %uint %22330 %uint_1
OpSelectionMerge %16262 None
OpBranchConditional %19356 %13280 %16262
%13280 = OpLabel
@@ -2600,7 +2600,7 @@
OpBranch %11417
%11417 = OpLabel
%19768 = OpPhi %v4uint %10957 %14874 %10729 %11065
- %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %21685
+ %8053 = OpAccessChain %_ptr_Uniform_v4uint %xe_resolve_dest %int_0 %13848
OpStore %8053 %19768
OpBranch %19578
%19578 = OpLabel
@@ -4785,9 +4785,9 @@ const uint32_t resolve_full_64bpp_scaled_cs[] = {
0x00003BE7, 0x0000587A, 0x000002ED, 0x000500C5, 0x00000017, 0x000029E8,
0x00005E17, 0x00003BE7, 0x000200F9, 0x00002C98, 0x000200F8, 0x00002C98,
0x000700F5, 0x00000017, 0x00004D37, 0x0000587A, 0x00003463, 0x000029E8,
- 0x00002B38, 0x00060041, 0x00000294, 0x000060F9, 0x00001592, 0x00000A0B,
- 0x0000573A, 0x0003003E, 0x000060F9, 0x00004D37, 0x00050080, 0x0000000B,
- 0x000054B5, 0x0000573A, 0x00000A0D, 0x000300F7, 0x00003F86, 0x00000000,
+ 0x00002B38, 0x00060041, 0x00000294, 0x00001BAC, 0x00001592, 0x00000A0B,
+ 0x0000573A, 0x0003003E, 0x00001BAC, 0x00004D37, 0x000500C6, 0x0000000B,
+ 0x00003618, 0x0000573A, 0x00000A0D, 0x000300F7, 0x00003F86, 0x00000000,
0x000400FA, 0x00004B9C, 0x000033E0, 0x00003F86, 0x000200F8, 0x000033E0,
0x0009004F, 0x00000017, 0x00001F17, 0x000022F8, 0x000022F8, 0x00000001,
0x00000000, 0x00000003, 0x00000002, 0x000200F9, 0x00003F86, 0x000200F8,
@@ -4806,7 +4806,7 @@ const uint32_t resolve_full_64bpp_scaled_cs[] = {
0x000500C5, 0x00000017, 0x000029E9, 0x00005E18, 0x00003BE8, 0x000200F9,
0x00002C99, 0x000200F8, 0x00002C99, 0x000700F5, 0x00000017, 0x00004D38,
0x00002ACD, 0x00003A1A, 0x000029E9, 0x00002B39, 0x00060041, 0x00000294,
- 0x00001F75, 0x00001592, 0x00000A0B, 0x000054B5, 0x0003003E, 0x00001F75,
+ 0x00001F75, 0x00001592, 0x00000A0B, 0x00003618, 0x0003003E, 0x00001F75,
0x00004D38, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD,
0x00010038,
};
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_cs.h
index 3ba73daf8..69555b63f 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_cs.h
@@ -285,15 +285,15 @@
%7205 = OpLabel
OpBranch %6871
%6871 = OpLabel
- %17777 = OpPhi %uint %uint_64 %21993 %uint_8 %7205
- %16832 = OpShiftRightLogical %uint %17777 %uint_3
- %10971 = OpIAdd %uint %15698 %16832
- %19144 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %10971
- %13014 = OpLoad %v2uint %19144
+ %19105 = OpPhi %uint %uint_64 %21993 %uint_8 %7205
+ %23793 = OpShiftRightLogical %uint %19105 %uint_3
+ %22205 = OpBitwiseXor %uint %15698 %23793
+ %19285 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %22205
+ %24270 = OpLoad %v2uint %19285
%19407 = OpCompositeExtract %uint %14608 0
%23515 = OpCompositeExtract %uint %14608 1
- %7641 = OpCompositeExtract %uint %13014 0
- %7529 = OpCompositeExtract %uint %13014 1
+ %7641 = OpCompositeExtract %uint %24270 0
+ %7529 = OpCompositeExtract %uint %24270 1
%18260 = OpCompositeConstruct %v4uint %19407 %23515 %7641 %7529
%11979 = OpAccessChain %_ptr_Uniform_v4uint %xe_texture_load_dest %int_0 %16224
OpStore %11979 %18260
@@ -526,15 +526,15 @@ const uint32_t texture_load_8bpb_cs[] = {
0x0004003D, 0x00000011, 0x00003910, 0x00005566, 0x000300F7, 0x00001AD7,
0x00000002, 0x000400FA, 0x00004376, 0x000055E9, 0x00001C25, 0x000200F8,
0x000055E9, 0x000200F9, 0x00001AD7, 0x000200F8, 0x00001C25, 0x000200F9,
- 0x00001AD7, 0x000200F8, 0x00001AD7, 0x000700F5, 0x0000000B, 0x00004571,
+ 0x00001AD7, 0x000200F8, 0x00001AD7, 0x000700F5, 0x0000000B, 0x00004AA1,
0x00000ACA, 0x000055E9, 0x00000A22, 0x00001C25, 0x000500C2, 0x0000000B,
- 0x000041C0, 0x00004571, 0x00000A13, 0x00050080, 0x0000000B, 0x00002ADB,
- 0x00003D52, 0x000041C0, 0x00060041, 0x0000028E, 0x00004AC8, 0x0000107A,
- 0x00000A0B, 0x00002ADB, 0x0004003D, 0x00000011, 0x000032D6, 0x00004AC8,
+ 0x00005CF1, 0x00004AA1, 0x00000A13, 0x000500C6, 0x0000000B, 0x000056BD,
+ 0x00003D52, 0x00005CF1, 0x00060041, 0x0000028E, 0x00004B55, 0x0000107A,
+ 0x00000A0B, 0x000056BD, 0x0004003D, 0x00000011, 0x00005ECE, 0x00004B55,
0x00050051, 0x0000000B, 0x00004BCF, 0x00003910, 0x00000000, 0x00050051,
0x0000000B, 0x00005BDB, 0x00003910, 0x00000001, 0x00050051, 0x0000000B,
- 0x00001DD9, 0x000032D6, 0x00000000, 0x00050051, 0x0000000B, 0x00001D69,
- 0x000032D6, 0x00000001, 0x00070050, 0x00000017, 0x00004754, 0x00004BCF,
+ 0x00001DD9, 0x00005ECE, 0x00000000, 0x00050051, 0x0000000B, 0x00001D69,
+ 0x00005ECE, 0x00000001, 0x00070050, 0x00000017, 0x00004754, 0x00004BCF,
0x00005BDB, 0x00001DD9, 0x00001D69, 0x00060041, 0x00000294, 0x00002ECB,
0x0000140E, 0x00000A0B, 0x00003F60, 0x0003003E, 0x00002ECB, 0x00004754,
0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A, 0x000100FD, 0x00010038,
diff --git a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_scaled_cs.h b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_scaled_cs.h
index 75f58fd44..4302ef93c 100644
--- a/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_scaled_cs.h
+++ b/src/xenia/gpu/shaders/bytecode/vulkan_spirv/texture_load_8bpb_scaled_cs.h
@@ -295,15 +295,15 @@
%8815 = OpIAdd %uint %7313 %20454
%21470 = OpIAdd %uint %8815 %24236
%14664 = OpShiftRightLogical %uint %21470 %uint_3
- %19601 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %14664
- %12609 = OpLoad %v2uint %19601
- %11687 = OpIAdd %uint %14664 %uint_1
- %24577 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %11687
- %13014 = OpLoad %v2uint %24577
- %19407 = OpCompositeExtract %uint %12609 0
- %23515 = OpCompositeExtract %uint %12609 1
- %7641 = OpCompositeExtract %uint %13014 0
- %7529 = OpCompositeExtract %uint %13014 1
+ %20931 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %14664
+ %19570 = OpLoad %v2uint %20931
+ %10307 = OpBitwiseXor %uint %14664 %uint_1
+ %18261 = OpAccessChain %_ptr_Uniform_v2uint %xe_texture_load_source %int_0 %10307
+ %24270 = OpLoad %v2uint %18261
+ %19407 = OpCompositeExtract %uint %19570 0
+ %23515 = OpCompositeExtract %uint %19570 1
+ %7641 = OpCompositeExtract %uint %24270 0
+ %7529 = OpCompositeExtract %uint %24270 1
%18260 = OpCompositeConstruct %v4uint %19407 %23515 %7641 %7529
%11979 = OpAccessChain %_ptr_Uniform_v4uint %xe_texture_load_dest %int_0 %9579
OpStore %11979 %18260
@@ -551,14 +551,14 @@ const uint32_t texture_load_8bpb_scaled_cs[] = {
0x0000000B, 0x00001C91, 0x00004799, 0x00004451, 0x00050080, 0x0000000B,
0x0000226F, 0x00001C91, 0x00004FE6, 0x00050080, 0x0000000B, 0x000053DE,
0x0000226F, 0x00005EAC, 0x000500C2, 0x0000000B, 0x00003948, 0x000053DE,
- 0x00000A13, 0x00060041, 0x0000028E, 0x00004C91, 0x0000107A, 0x00000A0B,
- 0x00003948, 0x0004003D, 0x00000011, 0x00003141, 0x00004C91, 0x00050080,
- 0x0000000B, 0x00002DA7, 0x00003948, 0x00000A0D, 0x00060041, 0x0000028E,
- 0x00006001, 0x0000107A, 0x00000A0B, 0x00002DA7, 0x0004003D, 0x00000011,
- 0x000032D6, 0x00006001, 0x00050051, 0x0000000B, 0x00004BCF, 0x00003141,
- 0x00000000, 0x00050051, 0x0000000B, 0x00005BDB, 0x00003141, 0x00000001,
- 0x00050051, 0x0000000B, 0x00001DD9, 0x000032D6, 0x00000000, 0x00050051,
- 0x0000000B, 0x00001D69, 0x000032D6, 0x00000001, 0x00070050, 0x00000017,
+ 0x00000A13, 0x00060041, 0x0000028E, 0x000051C3, 0x0000107A, 0x00000A0B,
+ 0x00003948, 0x0004003D, 0x00000011, 0x00004C72, 0x000051C3, 0x000500C6,
+ 0x0000000B, 0x00002843, 0x00003948, 0x00000A0D, 0x00060041, 0x0000028E,
+ 0x00004755, 0x0000107A, 0x00000A0B, 0x00002843, 0x0004003D, 0x00000011,
+ 0x00005ECE, 0x00004755, 0x00050051, 0x0000000B, 0x00004BCF, 0x00004C72,
+ 0x00000000, 0x00050051, 0x0000000B, 0x00005BDB, 0x00004C72, 0x00000001,
+ 0x00050051, 0x0000000B, 0x00001DD9, 0x00005ECE, 0x00000000, 0x00050051,
+ 0x0000000B, 0x00001D69, 0x00005ECE, 0x00000001, 0x00070050, 0x00000017,
0x00004754, 0x00004BCF, 0x00005BDB, 0x00001DD9, 0x00001D69, 0x00060041,
0x00000294, 0x00002ECB, 0x0000140E, 0x00000A0B, 0x0000256B, 0x0003003E,
0x00002ECB, 0x00004754, 0x000200F9, 0x00004C7A, 0x000200F8, 0x00004C7A,
diff --git a/src/xenia/gpu/shaders/resolve_fast_64bpp_1x2xmsaa.xesli b/src/xenia/gpu/shaders/resolve_fast_64bpp_1x2xmsaa.xesli
index 62449803e..22129a716 100644
--- a/src/xenia/gpu/shaders/resolve_fast_64bpp_1x2xmsaa.xesli
+++ b/src/xenia/gpu/shaders/resolve_fast_64bpp_1x2xmsaa.xesli
@@ -66,7 +66,7 @@ entry_inputs_end_code_begin_compute_xe
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_01, resolve_info.dest_endian_128));
- dest_address += XeResolveLocalXAddressXor(2u, 3u) >> 4u;
+ dest_address ^= XeResolveLocalXAddressXor(2u, 3u) >> 4u;
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_23, resolve_info.dest_endian_128));
diff --git a/src/xenia/gpu/shaders/resolve_fast_64bpp_4xmsaa.xesli b/src/xenia/gpu/shaders/resolve_fast_64bpp_4xmsaa.xesli
index 020775f2f..e52e5f2df 100644
--- a/src/xenia/gpu/shaders/resolve_fast_64bpp_4xmsaa.xesli
+++ b/src/xenia/gpu/shaders/resolve_fast_64bpp_4xmsaa.xesli
@@ -70,7 +70,7 @@ entry_inputs_end_code_begin_compute_xe
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_01, resolve_info.dest_endian_128));
- dest_address += XeResolveLocalXAddressXor(2u, 3u) >> 4u;
+ dest_address ^= XeResolveLocalXAddressXor(2u, 3u) >> 4u;
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(pixels_23, resolve_info.dest_endian_128));
diff --git a/src/xenia/gpu/shaders/resolve_full_128bpp.xesli b/src/xenia/gpu/shaders/resolve_full_128bpp.xesli
index 5935d2eee..20a6b0d0a 100644
--- a/src/xenia/gpu/shaders/resolve_full_128bpp.xesli
+++ b/src/xenia/gpu/shaders/resolve_full_128bpp.xesli
@@ -62,7 +62,7 @@ entry_inputs_end_code_begin_compute_xe
xe_resolve_dest, dest_address,
XeEndianSwap128(float_bits_to_uint_xe(pixel_0),
resolve_info.dest_endian_128));
- dest_address += XeResolveLocalXAddressXor(1u, 4u) >> 4u;
+ dest_address ^= XeResolveLocalXAddressXor(1u, 4u) >> 4u;
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap128(float_bits_to_uint_xe(pixel_1),
diff --git a/src/xenia/gpu/shaders/resolve_full_64bpp.xesli b/src/xenia/gpu/shaders/resolve_full_64bpp.xesli
index beb50c515..63e5f57c1 100644
--- a/src/xenia/gpu/shaders/resolve_full_64bpp.xesli
+++ b/src/xenia/gpu/shaders/resolve_full_64bpp.xesli
@@ -62,7 +62,7 @@ entry_inputs_end_code_begin_compute_xe
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(packed_01, resolve_info.dest_endian_128));
- dest_address += XeResolveLocalXAddressXor(2u, 3u) >> 4u;
+ dest_address ^= XeResolveLocalXAddressXor(2u, 3u) >> 4u;
array_buffer_store_xe(
xe_resolve_dest, dest_address,
XeEndianSwap64(packed_23, resolve_info.dest_endian_128));
diff --git a/src/xenia/gpu/shaders/texture_load_8bpb.xesli b/src/xenia/gpu/shaders/texture_load_8bpb.xesli
index 804a8e15e..b4579c820 100644
--- a/src/xenia/gpu/shaders/texture_load_8bpb.xesli
+++ b/src/xenia/gpu/shaders/texture_load_8bpb.xesli
@@ -42,7 +42,7 @@ entry_inputs_end_code_begin_compute_xe
array_buffer_load_xe(xe_texture_load_source, block_offset_guest),
array_buffer_load_xe(
xe_texture_load_source,
- block_offset_guest +
+ block_offset_guest ^
(XeTextureLoadLocalXAddressXor(8u, 0u, load_info.is_tiled)
>> 3u))));
}