summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm/emit_glasm.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader_recompiler: GCC fixeslat9nq2021-07-231-8/+8
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* glasm: Add Void type to GLASM valuesReinUsesLisp2021-07-231-0/+1
|
* glasm: Add graphics specific shader declarations to GLASMReinUsesLisp2021-07-231-6/+26
|
* glasm: Implement local memory for glasmameerj2021-07-231-0/+3
|
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-231-3/+56
|
* glasm: Declare NV_shader_thread_group when neededReinUsesLisp2021-07-231-3/+4
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-231-7/+34
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement Storage atomicsameerj2021-07-231-0/+7
| | | | | StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register
* glasm: Ensure reg alloc order across compilers on GLASMReinUsesLisp2021-07-231-11/+14
| | | | | | | | | | | | | | | | | | Use a struct constructor to serialize register allocation arguments to ensure registers are allocated in the same order regardless of the compiler used. The A and B functions can be called in any order when passed as arguments to "foo": foo(A(), B()) But the order is guaranteed for curly-braced constructor calls in classes: Foo{A(), B()} Use this to get consistent behavior.
* glasm: Enable unintentionally disabled register aliasing on GLASMReinUsesLisp2021-07-231-16/+11
|
* glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp2021-07-231-0/+6
|
* glasm: Fix register allocation when moving immediate on GLASMReinUsesLisp2021-07-231-11/+39
|
* glasm: Fix moving U64 immediates to registers in GLASMReinUsesLisp2021-07-231-1/+2
|
* glasm: Implement storage atomic opsameerj2021-07-231-0/+13
|
* glasm: Add conversion instructions to GLASMReinUsesLisp2021-07-231-0/+3
|
* glasm: Initial GLASM fp64 supportReinUsesLisp2021-07-231-4/+13
|
* glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp2021-07-231-40/+0
|
* glasm: Make GLASM aware of typesReinUsesLisp2021-07-231-18/+77
|
* glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp2021-07-231-7/+7
|
* glasm: Implement basic GLASM instructionsReinUsesLisp2021-07-231-3/+63
|
* glasm: Add GLASM backend infrastructureReinUsesLisp2021-07-231-0/+95