Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2021-07-23 | glasm: Implement local memory for glasm | ameerj | 4 | -9/+12 | |
2021-07-23 | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 3 | -8/+81 | |
2021-07-23 | glasm: Write result to scalar on integer comparison instructions | ReinUsesLisp | 1 | -10/+10 | |
2021-07-23 | glasm: Declare NV_shader_thread_group when needed | ReinUsesLisp | 1 | -3/+4 | |
2021-07-23 | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 4 | -39/+42 | |
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | |||||
2021-07-23 | glasm: Implement Storage atomics | ameerj | 5 | -109/+156 | |
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register | |||||
2021-07-23 | glasm: Ensure reg alloc order across compilers on GLASM | ReinUsesLisp | 1 | -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. | |||||
2021-07-23 | glasm: Enable unintentionally disabled register aliasing on GLASM | ReinUsesLisp | 1 | -16/+11 | |
2021-07-23 | glasm: Review all GLASM insts to be aware of register aliasing | ReinUsesLisp | 4 | -20/+51 | |
2021-07-23 | glasm: Implement shuffle and vote instructions on GLASM | ReinUsesLisp | 6 | -97/+158 | |
2021-07-23 | glasm: Add MUFU instructions to GLASM | ReinUsesLisp | 2 | -21/+22 | |
2021-07-23 | glasm: Implement IAbs64 and INeg64 on GLASM | ReinUsesLisp | 2 | -6/+6 | |
2021-07-23 | glasm: Properly clamp Fp64 on GLASM | ReinUsesLisp | 1 | -6/+6 | |
2021-07-23 | glasm: Fix register allocation when moving immediate on GLASM | ReinUsesLisp | 3 | -42/+89 | |
2021-07-23 | glasm: Implement SelectU64 on GLASM | ReinUsesLisp | 2 | -4/+20 | |
2021-07-23 | glasm: Fix clamps so the min value has priority on NAN on GLASM | ReinUsesLisp | 1 | -12/+15 | |
2021-07-23 | glasm: Fix moving U64 immediates to registers in GLASM | ReinUsesLisp | 2 | -3/+4 | |
2021-07-23 | glasm: Implement storage atomic ops | ameerj | 4 | -305/+358 | |
2021-07-23 | glasm: Add conversion instructions to GLASM | ReinUsesLisp | 9 | -282/+351 | |
2021-07-23 | glasm: Add fp min/max insts and fix store for fp64 on GLASM | ReinUsesLisp | 2 | -10/+8 | |
2021-07-23 | glasm: Add logical instructions on GLASM | ReinUsesLisp | 2 | -12/+12 | |
2021-07-23 | glasm: Remove duplicated Fp64 pack instructions on GLASM | ReinUsesLisp | 1 | -8/+0 | |
2021-07-23 | glasm: Remove unnecesary new white space on Clamp GLASM | ReinUsesLisp | 1 | -4/+4 | |
2021-07-23 | glasm: Add floating-point comparisons on GLASM | ReinUsesLisp | 3 | -120/+116 | |
2021-07-23 | emit_glasm: Implement more integer alu ops | ameerj | 2 | -47/+41 | |
2021-07-23 | glasm: Reimplement bitwise ops and BFI/BFE | ameerj | 4 | -88/+108 | |
2021-07-23 | glasm: Initial GLASM fp64 support | ReinUsesLisp | 9 | -55/+152 | |
2021-07-23 | glasm: Implement GLASM fp16 packing and move bitwise insns | ReinUsesLisp | 4 | -66/+77 | |
2021-07-23 | glasm: Remove unused functions left from rebase | ReinUsesLisp | 1 | -12/+0 | |
2021-07-23 | glasm: Specify namespace when using FormatTo | ReinUsesLisp | 1 | -6/+6 | |
2021-07-23 | glasm: Implement more GLASM composite instructions | ReinUsesLisp | 2 | -54/+63 | |
2021-07-23 | glasm: Make GLASM aware of types | ReinUsesLisp | 12 | -1244/+1380 | |
2021-07-23 | glasm: Use CMP.S for Select32 | ameerj | 3 | -12/+8 | |
also fixes ADD and SUB to use U modifier | |||||
2021-07-23 | glasm: Implement more logical ops | ameerj | 2 | -5/+5 | |
2021-07-23 | glasm: Implement BFI, BFE | ameerj | 4 | -138/+164 | |
Along with implementations of common instructions along the way | |||||
2021-07-23 | glasm: Use BitField instead of C bitfields | ReinUsesLisp | 2 | -8/+12 | |
2021-07-23 | glasm: Remove unused argument in identity instructions on GLASM | ReinUsesLisp | 1 | -7/+7 | |
2021-07-23 | glasm: Implement basic GLASM instructions | ReinUsesLisp | 9 | -840/+1167 | |
2021-07-23 | glasm: Changes to GLASM register allocator and emit context | ReinUsesLisp | 4 | -26/+64 | |
2021-07-23 | glasm: Add GLASM backend infrastructure | ReinUsesLisp | 26 | -0/+3079 | |