Commit Graph

50 Commits

Author SHA1 Message Date
3822e31323 CMakeLists: Disable C4100 and C4324
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
99ceb03a1c general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
574a2c4b77 shader_recompiler: Reduce unused includes 2022-03-20 02:25:08 -04:00
1e1f7b3234 glasm: Move implemented instructions from not_implemented.cpp 2021-12-05 18:11:19 -05:00
f32b2bcd20 shader_recompiler: Adjust emit_context includes 2021-12-05 18:11:19 -05:00
e66d5b88a6 shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
2021-11-16 22:11:29 +01:00
cfeb161c7e glsl/glasm: Pass and use scaling parameters in shaders 2021-11-16 22:11:29 +01:00
f086c82e1f gl_graphics_pipeline: Add downscale factor to shader uniforms 2021-11-16 22:11:28 +01:00
fb924ea85c shader: Add resolution down factor opcode 2021-11-16 22:11:27 +01:00
2d4bbd83e6 Shader Cahe: Fix Phi Nodes on GLASM. 2021-11-02 00:59:25 +01:00
808ef97a08 shader: Move loop safety tests to code emission 2021-07-22 21:51:39 -04:00
61cd7dd301 shader: Add logging 2021-07-22 21:51:35 -04:00
373f75d944 shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
8f3043c3cf Revert "glasm: Skip phi moves on undefined instructions"
Causes regressions on Bowser's Fury.
2021-07-22 21:51:33 -04:00
2aa30353b7 glasm: Remove unintentional '\n' on Undef32 2021-07-22 21:51:33 -04:00
f58f79c85d glasm: Implement Y direction 2021-07-22 21:51:33 -04:00
586c785366 glasm: Skip phi moves on undefined instructions 2021-07-22 21:51:33 -04:00
b9c8814ea9 glasm: Implement undef instructions 2021-07-22 21:51:33 -04:00
48aafe0961 glasm: Release phi node registers after they are no longer needed 2021-07-22 21:51:33 -04:00
9fbfe7d676 glasm: Fix usage counting on phi nodes 2021-07-22 21:51:33 -04:00
89e341d56a glasm: Implement SampleId 2021-07-22 21:51:33 -04:00
77d8c44b68 glasm: Implement IsHelperInvocation 2021-07-22 21:51:33 -04:00
ddf601919f glasm: Fix EmitVertex's optimization 2021-07-22 21:51:33 -04:00
d5db96386d glasm: Implement InvocationId 2021-07-22 21:51:32 -04:00
679e7146a7 glasm: Optimize EmitVertex into EMIT 2021-07-22 21:51:32 -04:00
3d0ffc6ad0 glasm: Implement EmitVertex and EndPrimitive 2021-07-22 21:51:32 -04:00
d957b3a8fe glasm: Implement barriers 2021-07-22 21:51:32 -04:00
96962c1d3c glasm: Fix phi instruction types 2021-07-22 21:51:32 -04:00
e8ed904805 glasm: Implement gl_WorkGroupID 2021-07-22 21:51:32 -04:00
9bb3e008c9 shader: Read branch conditions from an instruction
Fixes the identity removal pass.
2021-07-22 21:51:32 -04:00
9fb2ea08e8 glasm: Initial (broken) implementation of TEX on GLASM 2021-07-22 21:51:31 -04:00
1f3446b47e glasm: Implement some graphics instructions on GLASM 2021-07-22 21:51:31 -04:00
057dee4856 glasm: Implement local memory for glasm 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
7ff5851608 glasm: Implement Storage atomics
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
2021-07-22 21:51:31 -04:00
c4fd6b55bc glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
80813b1d14 glasm: Implement storage atomic ops 2021-07-22 21:51:31 -04:00
ad61b47f80 glasm: Add conversion instructions to GLASM 2021-07-22 21:51:31 -04:00
43a448d98d glasm: Add logical instructions on GLASM 2021-07-22 21:51:31 -04:00
99352741af glasm: Remove duplicated Fp64 pack instructions on GLASM 2021-07-22 21:51:30 -04:00
b4953e79ee glasm: Add floating-point comparisons on GLASM 2021-07-22 21:51:30 -04:00
3e10709091 glasm: Reimplement bitwise ops and BFI/BFE 2021-07-22 21:51:30 -04:00
4502595bc2 glasm: Initial GLASM fp64 support 2021-07-22 21:51:30 -04:00
9f851e3832 glasm: Implement GLASM fp16 packing and move bitwise insns 2021-07-22 21:51:30 -04:00
4de65fbff4 glasm: Remove unused functions left from rebase 2021-07-22 21:51:30 -04:00
1c9307969c glasm: Make GLASM aware of types 2021-07-22 21:51:30 -04:00
941c6dc740 glasm: Implement BFI, BFE
Along with implementations of common instructions along the way
2021-07-22 21:51:30 -04:00
6fd190d1ae glasm: Implement basic GLASM instructions 2021-07-22 21:51:30 -04:00
b10cf64c48 glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00