summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-12-06shader_recompiler: Adjust emit_context includesameerj1-1/+1
2021-11-16shader: Add integer division opcodesReinUsesLisp1-0/+8
2021-07-23opengl: Implement LOP.CCameerj1-3/+27
Used by MH:Rise
2021-07-23shader: Remove IAbs64ReinUsesLisp1-4/+0
2021-07-23glasm: Fix INeg32 on negative immediatesReinUsesLisp1-1/+5
2021-07-23glasm: Catch more register leaksReinUsesLisp1-18/+40
Add support for null registers. These are used when an instruction has no usages. This comes handy when an instruction is only used for its CC value, with the caveat of having to invalidate all pseudo-instructions before defining the instruction itself in the register allocator. This commits changes this. Workaround a bug on Nvidia's condition codes conditional execution using branches.
2021-07-23glasm: Implement int64 add and subtractReinUsesLisp1-6/+4
2021-07-23glasm: Implement 64-bit shiftsReinUsesLisp1-9/+9
2021-07-23glasm: Implement IADD.CCameerj1-1/+26
2021-07-23glasm: Implement BFE.CCReinUsesLisp1-0/+8
2021-07-23glasm: Write result to scalar on integer comparison instructionsReinUsesLisp1-10/+10
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-3/+6
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Review all GLASM insts to be aware of register aliasingReinUsesLisp1-12/+30
2021-07-23glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp1-4/+6
2021-07-23glasm: Remove unnecesary new white space on Clamp GLASMReinUsesLisp1-4/+4
2021-07-23emit_glasm: Implement more integer alu opsameerj1-36/+30
2021-07-23glasm: Reimplement bitwise ops and BFI/BFEameerj1-46/+36
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp1-123/+93
2021-07-23glasm: Use CMP.S for Select32ameerj1-2/+2
also fixes ADD and SUB to use U modifier
2021-07-23glasm: Implement more logical opsameerj1-4/+4
2021-07-23glasm: Implement BFI, BFEameerj1-67/+79
Along with implementations of common instructions along the way
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp1-0/+228
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp1-0/+0