Commit graph

133 commits

Author SHA1 Message Date
ReinUsesLisp
bf784e1497 shader: Apply sign bit in FCMP (imm) 2021-07-22 21:51:27 -04:00
ameerj
62c3bef607 shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
FernandoS27
ee8beff168 shader: Implement CC for ISET, FSET, PSET, CSET, and DSET
Throw when other instructions are missing CC.
2021-07-22 21:51:27 -04:00
ReinUsesLisp
99cfd73ba7 shader: Remove outdated comment in F2I 2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
ReinUsesLisp
577efc5f9f shader: Fix Windows build issues 2021-07-22 21:51:26 -04:00
lat9nq
5b95114cd4 shader: Address feedback + clang format 2021-07-22 21:51:26 -04:00
lat9nq
a4e7a41e7f shader_recompiler,video_core: Cleanup some GCC and Clang errors
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.

Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler

shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth

thread_worker: Include condition_variable

Don't use list initializers in control flow

Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2021-07-22 21:51:26 -04:00
ReinUsesLisp
157952f809 shader: Fix FCMP immediate variant 2021-07-22 21:51:26 -04:00
ReinUsesLisp
7f75818298 shader: Fix dangling labels 2021-07-22 21:51:26 -04:00
ReinUsesLisp
d349f8ff61 shader: Fix F2I 2021-07-22 21:51:26 -04:00
FernandoS27
0ef887fa6f shader: Address feedback 2021-07-22 21:51:26 -04:00
FernandoS27
1fe6a22cff shader: Implement indexed attributes 2021-07-22 21:51:26 -04:00
FernandoS27
a7f5231caf shader: Implement AL2P 2021-07-22 21:51:26 -04:00
FernandoS27
c63d79cf65 shader: Fix BRX tracking 2021-07-22 21:51:26 -04:00
ReinUsesLisp
64372edffb shader: Fix splits on blocks using indirect branches 2021-07-22 21:51:26 -04:00
ReinUsesLisp
e2d1e21532 shader: Eliminate orphan blocks more efficiently 2021-07-22 21:51:26 -04:00
ReinUsesLisp
ba2130d5a5 shader: Add subgroup masks 2021-07-22 21:51:26 -04:00
ReinUsesLisp
b580c1e208 shader: Implement BAR and fix memory barriers 2021-07-22 21:51:26 -04:00
ReinUsesLisp
9db035faec shader: Reimplement GetCbufU64 as GetCbufU32x2
It may generate better code on some compilers and it's easier to handle.
2021-07-22 21:51:26 -04:00
ReinUsesLisp
a2536f0b42 shader: Remove unused header in VOTE 2021-07-22 21:51:26 -04:00
ReinUsesLisp
b1335585bf shader: Fix fp16 merge when using native fp16 2021-07-22 21:51:26 -04:00
ReinUsesLisp
d1b84c7828 shader: Fix FADD32I 2021-07-22 21:51:26 -04:00
FernandoS27
df48b3b32a shader: "Implement" NOP 2021-07-22 21:51:26 -04:00
FernandoS27
741b21715a shader: Address Feedback 2021-07-22 21:51:26 -04:00
FernandoS27
5a6eb31578 shader: Implement SR_LaneId 2021-07-22 21:51:26 -04:00
FernandoS27
a9f79b6553 shader: Implement MEMBAR 2021-07-22 21:51:26 -04:00
FernandoS27
5c94fba511 shader: Improve VOTE.VTG stub 2021-07-22 21:51:25 -04:00
FernandoS27
1534a99e35 shader: Stub VOTE.VTG 2021-07-22 21:51:25 -04:00
ReinUsesLisp
b64bf653a4 shader: Fix branches to visited virtual blocks 2021-07-22 21:51:25 -04:00
ReinUsesLisp
ce39989ea9 shader: Implement LDG .U.128 as .128 2021-07-22 21:51:25 -04:00
FernandoS27
7d40446b99 shader: Address feedback 2021-07-22 21:51:25 -04:00
ReinUsesLisp
696f326cd1 shader: Always pass a lod for TexelFetch 2021-07-22 21:51:25 -04:00
FernandoS27
5a7d8d73ad shader: Implement TXD 2021-07-22 21:51:25 -04:00
FernandoS27
d523cd563c shader: Implement TMML partially 2021-07-22 21:51:25 -04:00
FernandoS27
287d4a38de shader: Implement TLDS 2021-07-22 21:51:25 -04:00
FernandoS27
8232c10ed1 shader: Implement TLD 2021-07-22 21:51:25 -04:00
ReinUsesLisp
876dd94b57 shader: Fix indirect branches to scheduler instructions 2021-07-22 21:51:25 -04:00
ameerj
d5d6d4ce74 shader: Implement FSWZADD 2021-07-22 21:51:25 -04:00
FernandoS27
bf9d512e17 shader: Implement BRX 2021-07-22 21:51:25 -04:00
ameerj
a0a4d75c6c shader: Implement I2I CC 2021-07-22 21:51:25 -04:00
ameerj
f3ec28dc23 shader: Implement I2I SAT 2021-07-22 21:51:25 -04:00
ameerj
a446881ab4 shader: Fix ISCADD logic for PO/CC 2021-07-22 21:51:25 -04:00
ReinUsesLisp
6044946495 shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available 2021-07-22 21:51:25 -04:00
ameerj
2e3184a1c8 shader: Implement ISCADD CC 2021-07-22 21:51:24 -04:00
ameerj
528b7b2d63 shader: Implement VMAD, VMNMX, VSETP 2021-07-22 21:51:24 -04:00
ReinUsesLisp
b4310e8cb4 shader: Add missing I2I exception when CC is used 2021-07-22 21:51:24 -04:00
ReinUsesLisp
e6b3119910 shader: Better interpolation and disabled attributes support 2021-07-22 21:51:24 -04:00
ReinUsesLisp
96a54aeea8 spirv: Remove dependencies on Environment when generating SPIR-V 2021-07-22 21:51:24 -04:00
ReinUsesLisp
0b338e3102 shader: Fix structured control flow on KIL instructions
This could potentially leave unvisited blocks, leading to illegal phi
nodes.
2021-07-22 21:51:24 -04:00