From 6db6192170d83055447acd054493eda8b268782d Mon Sep 17 00:00:00 2001 From: Triang3l Date: Tue, 13 Jan 2026 23:37:01 +0300 Subject: [PATCH] [GPU] Use XOR to flip X texel group in all load/resolve shaders For visual consistency (missed in the commit that added LocalXAddressXor). --- .../resolve_fast_64bpp_1x2xmsaa_cs.h | 16 ++++---- .../resolve_fast_64bpp_1x2xmsaa_scaled_cs.h | 36 ++++++++--------- .../d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h | 16 ++++---- .../resolve_fast_64bpp_4xmsaa_scaled_cs.h | 40 +++++++++---------- .../d3d12_5_1/resolve_full_128bpp_cs.h | 16 ++++---- .../d3d12_5_1/resolve_full_128bpp_scaled_cs.h | 40 +++++++++---------- .../d3d12_5_1/resolve_full_64bpp_cs.h | 16 ++++---- .../d3d12_5_1/resolve_full_64bpp_scaled_cs.h | 34 ++++++++-------- .../bytecode/d3d12_5_1/texture_load_8bpb_cs.h | 36 ++++++++--------- .../d3d12_5_1/texture_load_8bpb_scaled_cs.h | 16 ++++---- .../resolve_fast_64bpp_1x2xmsaa_cs.h | 16 ++++---- .../resolve_fast_64bpp_1x2xmsaa_scaled_cs.h | 14 +++---- .../resolve_fast_64bpp_4xmsaa_cs.h | 16 ++++---- .../resolve_fast_64bpp_4xmsaa_scaled_cs.h | 14 +++---- .../vulkan_spirv/resolve_full_128bpp_cs.h | 28 ++++++------- .../resolve_full_128bpp_scaled_cs.h | 28 ++++++------- .../vulkan_spirv/resolve_full_64bpp_cs.h | 14 +++---- .../resolve_full_64bpp_scaled_cs.h | 16 ++++---- .../vulkan_spirv/texture_load_8bpb_cs.h | 26 ++++++------ .../texture_load_8bpb_scaled_cs.h | 34 ++++++++-------- .../shaders/resolve_fast_64bpp_1x2xmsaa.xesli | 2 +- .../shaders/resolve_fast_64bpp_4xmsaa.xesli | 2 +- .../gpu/shaders/resolve_full_128bpp.xesli | 2 +- .../gpu/shaders/resolve_full_64bpp.xesli | 2 +- src/xenia/gpu/shaders/texture_load_8bpb.xesli | 2 +- 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)))); }