summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-07-23glasm: Implement gl_PointSize storesReinUsesLisp1-0/+3
2021-07-23glasm: Implement gl_PointCoordReinUsesLisp1-0/+4
2021-07-23glasm: Implement ImageQueryLodReinUsesLisp1-3/+5
2021-07-23glasm: Implement ImageFetchReinUsesLisp4-13/+38
2021-07-23glasm: Implement IADD.CCameerj1-1/+26
2021-07-23glasm: Implement BFE.CCReinUsesLisp1-0/+8
2021-07-23glasm: Implement SelectU1ReinUsesLisp2-4/+5
2021-07-23glasm: Implement gl_WorkGroupIDReinUsesLisp2-3/+3
2021-07-23glasm: Implement TXQ and improve texture info readsReinUsesLisp2-50/+51
2021-07-23glasm: Implement gl_FrongFacing attributeReinUsesLisp1-0/+3
2021-07-23glasm: Support textures used in more than one stageReinUsesLisp3-4/+24
2021-07-23glasm: Implement textureGather instructionsReinUsesLisp2-15/+97
2021-07-23glasm: Implement gl_FragDepth and gl_SampleMask storesReinUsesLisp2-5/+5
2021-07-23glasm: Do not alias ConditionRef for nowReinUsesLisp2-3/+2
Immediate condition refs where not handled correctly. Just move the value for now.
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp5-3/+9
Fixes the identity removal pass.
2021-07-23glasm: Implement InstanceId and VertexIdReinUsesLisp1-0/+6
2021-07-23glasm: Add missing return value on move assignmentReinUsesLisp1-0/+1
2021-07-23glasm: Fix aliased bitcasts ref countingReinUsesLisp3-13/+42
2021-07-23glasm: Remove unintentional comma on vector insertReinUsesLisp1-1/+1
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp4-41/+252
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23glasm: Add support for non-2D texture samplesReinUsesLisp1-4/+26
2021-07-23glasm: Reorder unreachable image instructions to the bottomReinUsesLisp1-97/+97
2021-07-23glasm: Add support for texture offsetsReinUsesLisp1-11/+15
2021-07-23glasm: Improve texture sampling instructionsReinUsesLisp2-50/+70
2021-07-23emit_glasm: Enable ARB_draw_buffers when neededReinUsesLisp2-1/+5
2021-07-23emit_glasm: Add support for reading position attributesReinUsesLisp1-3/+13
2021-07-23shader_recompiler: GCC fixeslat9nq2-9/+9
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-23glasm: Implement rest of shared memameerj2-35/+29
2021-07-23glasm: Implement derivative instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Initial (broken) implementation of TEX on GLASMReinUsesLisp3-299/+386
2021-07-23glasm: Implement some graphics instructions on GLASMReinUsesLisp2-6/+5
2021-07-23glasm: Add Void type to GLASM valuesReinUsesLisp3-0/+15
2021-07-23glasm: Add graphics specific shader declarations to GLASMReinUsesLisp2-6/+63
2021-07-23glasm: Implement local memory for glasmameerj4-9/+12
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp3-8/+81
2021-07-23glasm: Write result to scalar on integer comparison instructionsReinUsesLisp1-10/+10
2021-07-23glasm: Declare NV_shader_thread_group when neededReinUsesLisp1-3/+4
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp4-39/+42
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Implement Storage atomicsameerj5-109/+156
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register
2021-07-23glasm: Ensure reg alloc order across compilers on GLASMReinUsesLisp1-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-23glasm: Enable unintentionally disabled register aliasing on GLASMReinUsesLisp1-16/+11
2021-07-23glasm: Review all GLASM insts to be aware of register aliasingReinUsesLisp4-20/+51
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp6-97/+158
2021-07-23glasm: Add MUFU instructions to GLASMReinUsesLisp2-21/+22
2021-07-23glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp2-6/+6
2021-07-23glasm: Properly clamp Fp64 on GLASMReinUsesLisp1-6/+6
2021-07-23glasm: Fix register allocation when moving immediate on GLASMReinUsesLisp3-42/+89
2021-07-23glasm: Implement SelectU64 on GLASMReinUsesLisp2-4/+20
2021-07-23glasm: Fix clamps so the min value has priority on NAN on GLASMReinUsesLisp1-12/+15
2021-07-23glasm: Fix moving U64 immediates to registers in GLASMReinUsesLisp2-3/+4
2021-07-23glasm: Implement storage atomic opsameerj4-305/+358
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp9-282/+351
2021-07-23glasm: Add fp min/max insts and fix store for fp64 on GLASMReinUsesLisp2-10/+8
2021-07-23glasm: Add logical instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Remove duplicated Fp64 pack instructions on GLASMReinUsesLisp1-8/+0
2021-07-23glasm: Remove unnecesary new white space on Clamp GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Add floating-point comparisons on GLASMReinUsesLisp3-120/+116
2021-07-23emit_glasm: Implement more integer alu opsameerj2-47/+41
2021-07-23glasm: Reimplement bitwise ops and BFI/BFEameerj4-88/+108
2021-07-23glasm: Initial GLASM fp64 supportReinUsesLisp9-55/+152
2021-07-23glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp4-66/+77
2021-07-23glasm: Remove unused functions left from rebaseReinUsesLisp1-12/+0
2021-07-23glasm: Specify namespace when using FormatToReinUsesLisp1-6/+6
2021-07-23glasm: Implement more GLASM composite instructionsReinUsesLisp2-54/+63
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp12-1244/+1380
2021-07-23glasm: Use CMP.S for Select32ameerj3-12/+8
also fixes ADD and SUB to use U modifier
2021-07-23glasm: Implement more logical opsameerj2-5/+5
2021-07-23glasm: Implement BFI, BFEameerj4-138/+164
Along with implementations of common instructions along the way
2021-07-23glasm: Use BitField instead of C bitfieldsReinUsesLisp2-8/+12
2021-07-23glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp1-7/+7
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp9-840/+1167
2021-07-23glasm: Changes to GLASM register allocator and emit contextReinUsesLisp4-26/+64
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp26-0/+3079