ReinUsesLisp
50d20bf0e9
shader: Add copy constructor to instructions
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
c9bee9e96e
ShaderCache: Order Phi Arguments from farthest away to nearest.
2021-10-31 19:34:15 +01:00
bunnei
9a7c2869d8
Merge pull request #6722 from ReinUsesLisp/xmad-opts
...
shader: Fold integer FMA from Nvidia's pattern
2021-07-29 18:45:37 -07:00
Lioncash
05201f4f88
shader_recompiler: Remove unnecessary [[nodiscard]] instances
...
[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings.
2021-07-26 04:23:59 -04:00
ReinUsesLisp
222a6542ab
shader: Add TryInstRecursive utility to values
2021-07-26 01:31:05 -03:00
ReinUsesLisp
0ca75be20a
Revert "glasm: Skip phi moves on undefined instructions"
...
Causes regressions on Bowser's Fury.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
459e3b17e6
glasm: Skip phi moves on undefined instructions
2021-07-22 21:51:33 -04:00
ReinUsesLisp
f2ae32fa76
glasm: Initial implementation of phi nodes on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
03f6d424ce
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
ReinUsesLisp
6c0a696179
glasm: Implement basic GLASM instructions
2021-07-22 21:51:30 -04:00
ReinUsesLisp
d9b9c10f32
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00
ReinUsesLisp
16a869571e
shader: Inline common Value getters
2021-07-22 21:51:28 -04:00
ReinUsesLisp
1a44a5cafa
shader: Use memset to reset instruction arguments
2021-07-22 21:51:28 -04:00
ReinUsesLisp
9edc2bd70f
shader: Inline common Value functions into the header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6236b611cf
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
38908d0f7e
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -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
4cd2c1588b
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
FernandoS27
f573d3642e
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
ameerj
832f1169d6
shader: Implement DADD
2021-07-22 21:51:23 -04:00
ReinUsesLisp
a956d3cdb3
shader: Initial support for textures and TEX
2021-07-22 21:51:23 -04:00
ReinUsesLisp
d0459ab2c2
shader: Fix control flow
2021-07-22 21:51:22 -04:00
ReinUsesLisp
073f346f8c
shader: Add utility to resolve identities on a value
2021-07-22 21:51:22 -04:00
ReinUsesLisp
f5b3324bca
shader: Make typed IR
2021-07-22 21:51:21 -04:00
ReinUsesLisp
37fc39de17
shader: Constant propagation and global memory to storage buffer
2021-07-22 21:51:21 -04:00
ReinUsesLisp
1b576ed4cb
shader: SSA and dominance
2021-07-22 21:51:21 -04:00
ReinUsesLisp
e6892e9da6
shader: Initial recompiler work
2021-07-22 21:51:21 -04:00