Commit graph

95 commits

Author SHA1 Message Date
ReinUsesLisp
14fb648246 shader: Fix resolution scaling pass 2021-11-16 22:11:27 +01:00
ReinUsesLisp
b1df436cef shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.

Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
e3df2285ca shader: Add int64 to int32 lowering pass 2021-07-22 21:51:39 -04:00
ReinUsesLisp
9389e71b12 shader: Split profile and runtime info headers 2021-07-22 21:51:38 -04:00
ReinUsesLisp
52be21495e shader: Add support for native 16-bit floats 2021-07-22 21:51:38 -04:00
ReinUsesLisp
41c634a7a9 shader: Rename maxwell/program.h to translate_program.h 2021-07-22 21:51:38 -04:00
ameerj
8ab7780015 glsl: Reorganize backend code, remove unneeded [[maybe_unused]] 2021-07-22 21:51:37 -04:00
ameerj
8185a5ab34 glsl: Rework variable allocator to allow for variable reuse 2021-07-22 21:51:37 -04:00
ameerj
fda83fe3c5 glsl: Initial backend 2021-07-22 21:51:35 -04:00
ReinUsesLisp
df14567fcc glasm: Use storage buffers instead of global memory when possible 2021-07-22 21:51:33 -04:00
ReinUsesLisp
2e2d1986b1 glasm: Implement image atomics 2021-07-22 21:51:33 -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
d9b9c10f32 glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
ReinUsesLisp
055db41f19 Move SPIR-V emission functions to their own header 2021-07-22 21:51:30 -04:00
ameerj
455872a4af shader: Implement Int32 SUATOM/SURED 2021-07-22 21:51:30 -04:00
ReinUsesLisp
4c5f8d123d shader: Remove shader util 2021-07-22 21:51:29 -04:00
FernandoS27
a2fac91c47 shader: Implement VertexA stage 2021-07-22 21:51:29 -04:00
ReinUsesLisp
fecb87ebc8 cmake: Link to common in shader_recompiler 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
cc96469019 shader: Implement PIXLD.MY_INDEX 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
ReinUsesLisp
40948b18ac shader: Implement OUT 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c6b81943a9 shader: Stub ISBERD 2021-07-22 21:51:27 -04:00
ameerj
62c3bef607 shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29 shader: Implement SULD and SUST 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
FernandoS27
a7f5231caf shader: Implement AL2P 2021-07-22 21:51:26 -04:00
ReinUsesLisp
e9d7f63788 shader: Abstract breadth searches and use the abstraction 2021-07-22 21:51:26 -04:00
FernandoS27
a9f79b6553 shader: Implement MEMBAR 2021-07-22 21:51:26 -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
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
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
528b7b2d63 shader: Implement VMAD, VMNMX, VSETP 2021-07-22 21:51:24 -04:00
ReinUsesLisp
e4ba306750 shader: Implement TXQ and fix FragDepth 2021-07-22 21:51:24 -04:00
FernandoS27
94f6992630 shader: Implement TLD4S. 2021-07-22 21:51:24 -04:00
FernandoS27
d4974db16f shader: Implement TLD4 and TLD4_B 2021-07-22 21:51:24 -04:00
ameerj
483439a540 shader: Implement SHFL 2021-07-22 21:51:24 -04:00
ReinUsesLisp
24bc872af3 shader: Implement NDC [-1, 1], attribute types and default varying initialization 2021-07-22 21:51:24 -04:00
ameerj
0705eff8f6 shader: Implement VOTE 2021-07-22 21:51:24 -04:00
ameerj
1a8e8498a4 shader: Implement DMNMX, DSET, DSETP 2021-07-22 21:51:24 -04:00
FernandoS27
9fe47baf87 shader: Implement F2F 2021-07-22 21:51:24 -04:00
ameerj
e7710fe30e shader: Implement DMUL and DFMA
Also add a missing const on DADD
2021-07-22 21:51:24 -04:00
FernandoS27
57597e37ee shader: Implement HSETP2 2021-07-22 21:51:23 -04:00
FernandoS27
cabcf177a9 shader: Implement HSET2 2021-07-22 21:51:23 -04:00
FernandoS27
7646d50ae4 shader: Implement HMUL2 2021-07-22 21:51:23 -04:00