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