Commit graph

38 commits

Author SHA1 Message Date
vonchenplus
ac51211ce4 Remove glsl handle legacy related code 2021-12-18 14:03:40 +08:00
ameerj
efd428c747 shader_recompiler: Adjust emit_context includes 2021-12-05 18:11:19 -05:00
ReinUsesLisp
2321666580 shader: Avoid usage of C++20 ranges to build in clang 2021-07-22 21:51:40 -04:00
ameerj
a23f05c215 glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 2021-07-22 21:51:40 -04:00
ameerj
d77dc5919c glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
2021-07-22 21:51:39 -04:00
ameerj
c446ada33e glsl: Declare local memory in main 2021-07-22 21:51:39 -04: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
ameerj
99e8164b43 glsl: Better IAdd Overflow CC fix
This ensures the original operand values are not overwritten when being used in the overflow detection.
2021-07-22 21:51:39 -04:00
ameerj
516c17d4d3 glsl: Fix IADD CC 2021-07-22 21:51:39 -04:00
ReinUsesLisp
04c1dca457 shader: Move loop safety tests to code emission 2021-07-22 21:51:39 -04:00
ameerj
52bd1d7788 glsl: Move gl_Position/generic attribute initialization to EmitProlgue 2021-07-22 21:51:38 -04:00
ameerj
4e73fdbd0f glsl: Cleanup/Address feedback 2021-07-22 21:51:38 -04:00
ameerj
b33af69513 glsl: Add stubs for sparse queries and variable aoffi when not supported 2021-07-22 21:51:38 -04:00
ameerj
3e6f89f964 glsl: Implement legacy varyings 2021-07-22 21:51:38 -04:00
ameerj
5d2cd1551f glsl: Address Rodrigo's feedback 2021-07-22 21:51:38 -04:00
ameerj
3319879b23 glsl: Allow dynamic tracking of variable allocation 2021-07-22 21:51:37 -04:00
ameerj
4534294b7b glsl: Cleanup and address feedback 2021-07-22 21:51:37 -04:00
ameerj
363e228778 glsl: Fix precise variable declaration
and add some more separation in the shader for better debugability when dumped
2021-07-22 21:51:37 -04:00
ameerj
7374a8bf1d glsl: Implement geometry shaders 2021-07-22 21:51:37 -04:00
ameerj
1cc3be2135 HACK glsl: Write defaults to unused generic attributes 2021-07-22 21:51:37 -04:00
ameerj
c6615e9d05 glsl: implement set clip distance
and missed a diff in emit_glsl relating to var alloc ref counting
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
1e59e72a48 glsl: Implement ST{LS} 2021-07-22 21:51:36 -04:00
ameerj
26649eb889 glsl: Fix GetAttribute return values
fixes font rendering issues as these were used to index into the ssbos
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
ameerj
a68609b4f8 glsl: Better Storage access and wip warps 2021-07-22 21:51:36 -04:00
ameerj
fa06331601 glsl: Implement IADD CC 2021-07-22 21:51:36 -04:00
ameerj
72974388fb glsl: WIP var forward declaration
to fix Loop control flow.
2021-07-22 21:51:36 -04:00
ameerj
e6a0f0f384 glsl: remove unused headers 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
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
7febd59ce1 glsl: Add a more robust fp formatter 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
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