Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | glasm: Implement InstanceId and VertexId | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | glasm: Add missing return value on move assignment | ReinUsesLisp | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | glasm: Fix aliased bitcasts ref counting | ReinUsesLisp | 2021-07-23 | 3 | -13/+42 |
| | |||||
* | glasm: Remove unintentional comma on vector insert | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | glasm: Implement TEX and TEXS instructions | ReinUsesLisp | 2021-07-23 | 4 | -41/+252 |
| | | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported). | ||||
* | glasm: Add support for non-2D texture samples | ReinUsesLisp | 2021-07-23 | 1 | -4/+26 |
| | |||||
* | glasm: Reorder unreachable image instructions to the bottom | ReinUsesLisp | 2021-07-23 | 1 | -97/+97 |
| | |||||
* | glasm: Add support for texture offsets | ReinUsesLisp | 2021-07-23 | 1 | -11/+15 |
| | |||||
* | glasm: Improve texture sampling instructions | ReinUsesLisp | 2021-07-23 | 2 | -50/+70 |
| | |||||
* | emit_glasm: Enable ARB_draw_buffers when needed | ReinUsesLisp | 2021-07-23 | 2 | -1/+5 |
| | |||||
* | emit_glasm: Add support for reading position attributes | ReinUsesLisp | 2021-07-23 | 1 | -3/+13 |
| | |||||
* | shader_recompiler: GCC fixes | lat9nq | 2021-07-23 | 2 | -9/+9 |
| | | | | | Fixes members of unnamed union not being accessible, and one function without a declaration. | ||||
* | glasm: Implement rest of shared mem | ameerj | 2021-07-23 | 2 | -35/+29 |
| | |||||
* | glasm: Implement derivative instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -12/+12 |
| | |||||
* | glasm: Initial (broken) implementation of TEX on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -299/+386 |
| | |||||
* | glasm: Implement some graphics instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+5 |
| | |||||
* | glasm: Add Void type to GLASM values | ReinUsesLisp | 2021-07-23 | 3 | -0/+15 |
| | |||||
* | glasm: Add graphics specific shader declarations to GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+63 |
| | |||||
* | glasm: Implement local memory for glasm | ameerj | 2021-07-23 | 4 | -9/+12 |
| | |||||
* | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -8/+81 |
| | |||||
* | glasm: Write result to scalar on integer comparison instructions | ReinUsesLisp | 2021-07-23 | 1 | -10/+10 |
| | |||||
* | glasm: Declare NV_shader_thread_group when needed | ReinUsesLisp | 2021-07-23 | 1 | -3/+4 |
| | |||||
* | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 2021-07-23 | 4 | -39/+42 |
| | | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | ||||
* | glasm: Implement Storage atomics | ameerj | 2021-07-23 | 5 | -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 GLASM | ReinUsesLisp | 2021-07-23 | 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. | ||||
* | glasm: Enable unintentionally disabled register aliasing on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -16/+11 |
| | |||||
* | glasm: Review all GLASM insts to be aware of register aliasing | ReinUsesLisp | 2021-07-23 | 4 | -20/+51 |
| | |||||
* | glasm: Implement shuffle and vote instructions on GLASM | ReinUsesLisp | 2021-07-23 | 6 | -97/+158 |
| | |||||
* | glasm: Add MUFU instructions to GLASM | ReinUsesLisp | 2021-07-23 | 2 | -21/+22 |
| | |||||
* | glasm: Implement IAbs64 and INeg64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+6 |
| | |||||
* | glasm: Properly clamp Fp64 on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -6/+6 |
| | |||||
* | glasm: Fix register allocation when moving immediate on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -42/+89 |
| | |||||
* | glasm: Implement SelectU64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -4/+20 |
| | |||||
* | glasm: Fix clamps so the min value has priority on NAN on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -12/+15 |
| | |||||
* | glasm: Fix moving U64 immediates to registers in GLASM | ReinUsesLisp | 2021-07-23 | 2 | -3/+4 |
| | |||||
* | glasm: Implement storage atomic ops | ameerj | 2021-07-23 | 4 | -305/+358 |
| | |||||
* | glasm: Add conversion instructions to GLASM | ReinUsesLisp | 2021-07-23 | 9 | -282/+351 |
| | |||||
* | glasm: Add fp min/max insts and fix store for fp64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -10/+8 |
| | |||||
* | glasm: Add logical instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -12/+12 |
| | |||||
* | glasm: Remove duplicated Fp64 pack instructions on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -8/+0 |
| | |||||
* | glasm: Remove unnecesary new white space on Clamp GLASM | ReinUsesLisp | 2021-07-23 | 1 | -4/+4 |
| | |||||
* | glasm: Add floating-point comparisons on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -120/+116 |
| | |||||
* | emit_glasm: Implement more integer alu ops | ameerj | 2021-07-23 | 2 | -47/+41 |
| | |||||
* | glasm: Reimplement bitwise ops and BFI/BFE | ameerj | 2021-07-23 | 4 | -88/+108 |
| | |||||
* | glasm: Initial GLASM fp64 support | ReinUsesLisp | 2021-07-23 | 9 | -55/+152 |
| | |||||
* | glasm: Implement GLASM fp16 packing and move bitwise insns | ReinUsesLisp | 2021-07-23 | 4 | -66/+77 |
| | |||||
* | glasm: Remove unused functions left from rebase | ReinUsesLisp | 2021-07-23 | 1 | -12/+0 |
| | |||||
* | glasm: Specify namespace when using FormatTo | ReinUsesLisp | 2021-07-23 | 1 | -6/+6 |
| | |||||
* | glasm: Implement more GLASM composite instructions | ReinUsesLisp | 2021-07-23 | 2 | -54/+63 |
| | |||||
* | glasm: Make GLASM aware of types | ReinUsesLisp | 2021-07-23 | 12 | -1244/+1380 |
| | |||||
* | glasm: Use CMP.S for Select32 | ameerj | 2021-07-23 | 3 | -12/+8 |
| | | | | also fixes ADD and SUB to use U modifier | ||||
* | glasm: Implement more logical ops | ameerj | 2021-07-23 | 2 | -5/+5 |
| | |||||
* | glasm: Implement BFI, BFE | ameerj | 2021-07-23 | 4 | -138/+164 |
| | | | | Along with implementations of common instructions along the way | ||||
* | glasm: Use BitField instead of C bitfields | ReinUsesLisp | 2021-07-23 | 2 | -8/+12 |
| | |||||
* | glasm: Remove unused argument in identity instructions on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -7/+7 |
| | |||||
* | glasm: Implement basic GLASM instructions | ReinUsesLisp | 2021-07-23 | 9 | -840/+1167 |
| | |||||
* | glasm: Changes to GLASM register allocator and emit context | ReinUsesLisp | 2021-07-23 | 4 | -26/+64 |
| | |||||
* | glasm: Add GLASM backend infrastructure | ReinUsesLisp | 2021-07-23 | 26 | -0/+3079 |