Commit graph

40 commits

Author SHA1 Message Date
ameerj
efd428c747 shader_recompiler: Adjust emit_context includes 2021-12-05 18:11:19 -05:00
ReinUsesLisp
04c1dca457 shader: Move loop safety tests to code emission 2021-07-22 21:51:39 -04:00
ameerj
c44b3f664d glsl: Add LoopSafety instructions 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
b247baab26 glsl: Implement SampleId and SetSampleMask
plus some minor refactoring of implementations
2021-07-22 21:51:37 -04:00
ameerj
ccd4becb79 glsl: Implement indexed attribute loads 2021-07-22 21:51:37 -04:00
ameerj
1017c12427 glsl: Implement barriers 2021-07-22 21:51:37 -04:00
ameerj
b3a46a3746 glsl: Implement image atomics and set layer
along with some more cleanup/oversight fixes
2021-07-22 21:51:37 -04:00
ameerj
4534294b7b glsl: Cleanup and address feedback 2021-07-22 21:51:37 -04:00
ameerj
2e8da9d3be glsl: Implement Load/WriteGlobal
along with some other misc changes and fixes
2021-07-22 21:51:37 -04:00
ameerj
e866cece98 glsl: Implement tessellation shaders 2021-07-22 21:51:37 -04:00
ameerj
8d8c104d4f glsl: Fix atomic SSBO offsets
and implement misc getters
2021-07-22 21:51:37 -04:00
ameerj
7374a8bf1d glsl: Implement geometry shaders 2021-07-22 21:51:37 -04:00
ameerj
43426d170c glsl: Use NotImplemented macro with function name output 2021-07-22 21:51:37 -04:00
ameerj
33f63cdc22 glsl: Rework var alloc to not assign unused results 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
748e56e8a2 glsl: Fix ATOM and implement ATOMS 2021-07-22 21:51:37 -04:00
ameerj
5a3864d8c4 glsl: Implement VOTE 2021-07-22 21:51:36 -04:00
ameerj
1e59e72a48 glsl: Implement ST{LS} 2021-07-22 21:51:36 -04:00
ameerj
3795c56db6 glsl: Implement more instructions used by SMO 2021-07-22 21:51:36 -04:00
ameerj
0b8e65125a glsl: Implement TXQ and other misc changes 2021-07-22 21:51:36 -04:00
lat9nq
fc7edccbc1 shader_recompiler: GCC fixes 2021-07-22 21:51:36 -04:00
ameerj
a68609b4f8 glsl: Better Storage access and wip warps 2021-07-22 21:51:36 -04:00
ameerj
c797a0c5a5 glsl: Fix bindings, add some CC ops 2021-07-22 21:51:36 -04:00
ameerj
e6a0f0f384 glsl: remove unused headers 2021-07-22 21:51:36 -04:00
ameerj
b96d76fa7e glsl: Implement derivatives and YDirection
plus some other misc additions/changed
2021-07-22 21:51:36 -04:00
ameerj
ac6135774f glsl: Fix non-immediate buffer access
and many other misc implementations
2021-07-22 21:51:36 -04:00
ameerj
2328b0b2a8 glsl: textures wip 2021-07-22 21:51:36 -04:00
ameerj
32328acc39 glsl: Implement some attribute getters and setters 2021-07-22 21:51:36 -04:00
ameerj
ee45d46f9e glsl: Update phi node management 2021-07-22 21:51:36 -04:00
ameerj
3d950a8d18 glsl: implement phi nodes 2021-07-22 21:51:36 -04:00
ameerj
659eecb295 glsl: Wip storage atomic ops 2021-07-22 21:51:36 -04:00
ameerj
30f47ec831 glsl: More FP instructions/fixes 2021-07-22 21:51:36 -04:00
ameerj
1dae770c9d glsl: Add many FP32/64 instructions 2021-07-22 21:51:36 -04:00
ameerj
eea0726cd5 glsl: Implement a few Integer instructions 2021-07-22 21:51:36 -04:00
ameerj
0c315dae67 glsl: Use std::string_view for Emit function args. 2021-07-22 21:51:35 -04:00
ameerj
b2cd8e4588 glsl: Pass IR::Inst& to Emit functions 2021-07-22 21:51:35 -04:00
ameerj
6ee142d3e4 glsl: Reusable typed variables. IADD32 2021-07-22 21:51:35 -04:00
ameerj
3355c467e0 glsl: Fix "reg" allocing
based on glasm with some tweaks
2021-07-22 21:51:35 -04:00
ameerj
fda83fe3c5 glsl: Initial backend 2021-07-22 21:51:35 -04:00