9bb3e008c9
shader: Read branch conditions from an instruction
...
Fixes the identity removal pass.
2021-07-22 21:51:32 -04:00
ec6fc5fe78
glasm: Implement TEX and TEXS instructions
...
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
2021-07-22 21:51:31 -04:00
bf5e48ffe4
glasm: Initial implementation of phi nodes on GLASM
2021-07-22 21:51:31 -04:00
d54d7de40e
glasm: Rework control flow introducing a syntax list
...
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
3b6a632237
shader: Add floating-point rounding to I2F
2021-07-22 21:51:31 -04:00
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
2021-07-22 21:51:30 -04:00
d621e96d0d
shader: Initial OpenGL implementation
2021-07-22 21:51:30 -04:00
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
5c61e860e4
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
7cb2ab3585
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
0bb85f6a75
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
dcaf0e9150
shader: Address feedback
2021-07-22 21:51:26 -04:00
1d51803169
shader: Implement indexed attributes
2021-07-22 21:51:26 -04:00
da6cf2632c
shader: Add subgroup masks
2021-07-22 21:51:26 -04:00
fc93bc2abd
shader: Implement BAR and fix memory barriers
2021-07-22 21:51:26 -04:00
3f594dd86b
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
e7700aad18
shader: Fix undetected bug from review
2021-07-22 21:51:26 -04:00
baec84247f
shader: Address Feedback
2021-07-22 21:51:26 -04:00
45d547af11
shader: Implement SR_LaneId
2021-07-22 21:51:26 -04:00
655f7a570a
shader: Implement MEMBAR
2021-07-22 21:51:26 -04:00
ecb30c9072
shader: Improve VOTE.VTG stub
2021-07-22 21:51:25 -04:00
5ed8f24384
shader: Stub VOTE.VTG
2021-07-22 21:51:25 -04:00
d5bfc63088
shader: Implement ImageGradient
2021-07-22 21:51:25 -04:00
be3e94ae55
shader: Implement TMML partially
2021-07-22 21:51:25 -04:00
613b48c4a2
shader,spirv: Implement ImageQueryLod.
2021-07-22 21:51:25 -04:00
12783f8105
shader: Add missing new lines
2021-07-22 21:51:25 -04:00
6c51f49632
shader: Implement FSWZADD
2021-07-22 21:51:25 -04:00
34aba9627a
shader: Implement BRX
2021-07-22 21:51:25 -04:00
dbc1e5cde7
shader: Implement I2I SAT
2021-07-22 21:51:25 -04:00
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
51475e21ba
shader: Implement VMAD, VMNMX, VSETP
2021-07-22 21:51:24 -04:00
a806b29cb9
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
17063d16a3
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
d9c5bd9509
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
b5db38f50e
shader: Add IR opcode for ImageFetch
2021-07-22 21:51:24 -04:00
742d11c2ad
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
c7c518e280
shader: Implement TLD4 and TLD4_B
2021-07-22 21:51:24 -04:00
32c5483beb
shader: Implement SHFL
2021-07-22 21:51:24 -04:00
8cb9443cb9
shader: Fix F2I
2021-07-22 21:51:24 -04:00
68a9505d8a
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
3d07cef009
shader: Implement VOTE
2021-07-22 21:51:24 -04:00