summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* glasm: Add graphics specific shader declarations to GLASMGravatar ReinUsesLisp2021-07-222-6/+63
|
* glasm: Implement local memory for glasmGravatar ameerj2021-07-224-9/+12
|
* glasm: Initial implementation of phi nodes on GLASMGravatar ReinUsesLisp2021-07-223-8/+81
|
* glasm: Write result to scalar on integer comparison instructionsGravatar ReinUsesLisp2021-07-221-10/+10
|
* glasm: Declare NV_shader_thread_group when neededGravatar ReinUsesLisp2021-07-221-3/+4
|
* glasm: Rework control flow introducing a syntax listGravatar ReinUsesLisp2021-07-224-39/+42
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement Storage atomicsGravatar ameerj2021-07-225-109/+156
| | | | | StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register
* glasm: Ensure reg alloc order across compilers on GLASMGravatar ReinUsesLisp2021-07-221-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 GLASMGravatar ReinUsesLisp2021-07-221-16/+11
|
* glasm: Review all GLASM insts to be aware of register aliasingGravatar ReinUsesLisp2021-07-224-20/+51
|
* glasm: Implement shuffle and vote instructions on GLASMGravatar ReinUsesLisp2021-07-226-97/+158
|
* glasm: Add MUFU instructions to GLASMGravatar ReinUsesLisp2021-07-222-21/+22
|
* glasm: Implement IAbs64 and INeg64 on GLASMGravatar ReinUsesLisp2021-07-222-6/+6
|
* glasm: Properly clamp Fp64 on GLASMGravatar ReinUsesLisp2021-07-221-6/+6
|
* glasm: Fix register allocation when moving immediate on GLASMGravatar ReinUsesLisp2021-07-223-42/+89
|
* glasm: Implement SelectU64 on GLASMGravatar ReinUsesLisp2021-07-222-4/+20
|
* glasm: Fix clamps so the min value has priority on NAN on GLASMGravatar ReinUsesLisp2021-07-221-12/+15
|
* glasm: Fix moving U64 immediates to registers in GLASMGravatar ReinUsesLisp2021-07-222-3/+4
|
* glasm: Implement storage atomic opsGravatar ameerj2021-07-224-305/+358
|
* glasm: Add conversion instructions to GLASMGravatar ReinUsesLisp2021-07-229-282/+351
|
* glasm: Add fp min/max insts and fix store for fp64 on GLASMGravatar ReinUsesLisp2021-07-222-10/+8
|
* glasm: Add logical instructions on GLASMGravatar ReinUsesLisp2021-07-222-12/+12
|
* glasm: Remove duplicated Fp64 pack instructions on GLASMGravatar ReinUsesLisp2021-07-221-8/+0
|
* glasm: Remove unnecesary new white space on Clamp GLASMGravatar ReinUsesLisp2021-07-221-4/+4
|
* glasm: Add floating-point comparisons on GLASMGravatar ReinUsesLisp2021-07-223-120/+116
|
* emit_glasm: Implement more integer alu opsGravatar ameerj2021-07-222-47/+41
|
* glasm: Reimplement bitwise ops and BFI/BFEGravatar ameerj2021-07-224-88/+108
|
* glasm: Initial GLASM fp64 supportGravatar ReinUsesLisp2021-07-229-55/+152
|
* glasm: Implement GLASM fp16 packing and move bitwise insnsGravatar ReinUsesLisp2021-07-224-66/+77
|
* glasm: Remove unused functions left from rebaseGravatar ReinUsesLisp2021-07-221-12/+0
|
* glasm: Specify namespace when using FormatToGravatar ReinUsesLisp2021-07-221-6/+6
|
* glasm: Implement more GLASM composite instructionsGravatar ReinUsesLisp2021-07-222-54/+63
|
* glasm: Make GLASM aware of typesGravatar ReinUsesLisp2021-07-2212-1244/+1380
|
* glasm: Use CMP.S for Select32Gravatar ameerj2021-07-223-12/+8
| | | | also fixes ADD and SUB to use U modifier
* glasm: Implement more logical opsGravatar ameerj2021-07-222-5/+5
|
* glasm: Implement BFI, BFEGravatar ameerj2021-07-224-138/+164
| | | | Along with implementations of common instructions along the way
* glasm: Use BitField instead of C bitfieldsGravatar ReinUsesLisp2021-07-222-8/+12
|
* glasm: Remove unused argument in identity instructions on GLASMGravatar ReinUsesLisp2021-07-221-7/+7
|
* glasm: Implement basic GLASM instructionsGravatar ReinUsesLisp2021-07-229-840/+1167
|
* glasm: Changes to GLASM register allocator and emit contextGravatar ReinUsesLisp2021-07-224-26/+64
|
* glasm: Add GLASM backend infrastructureGravatar ReinUsesLisp2021-07-2226-0/+3079