aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
AgeCommit message (Collapse)Author
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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-05shader_recompiler: Adjust emit_context includesameerj
2021-11-16shader: Add integer division opcodesReinUsesLisp
2021-07-22opengl: Implement LOP.CCameerj
Used by MH:Rise
2021-07-22shader: Remove IAbs64ReinUsesLisp
2021-07-22glasm: Fix INeg32 on negative immediatesReinUsesLisp
2021-07-22glasm: Catch more register leaksReinUsesLisp
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-22glasm: Implement int64 add and subtractReinUsesLisp
2021-07-22glasm: Implement 64-bit shiftsReinUsesLisp
2021-07-22glasm: Implement IADD.CCameerj
2021-07-22glasm: Implement BFE.CCReinUsesLisp
2021-07-22glasm: Write result to scalar on integer comparison instructionsReinUsesLisp
2021-07-22glasm: Rework control flow introducing a syntax listReinUsesLisp
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-22glasm: Review all GLASM insts to be aware of register aliasingReinUsesLisp
2021-07-22glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp
2021-07-22glasm: Add conversion instructions to GLASMReinUsesLisp
2021-07-22glasm: Remove unnecesary new white space on Clamp GLASMReinUsesLisp
2021-07-22emit_glasm: Implement more integer alu opsameerj
2021-07-22glasm: Reimplement bitwise ops and BFI/BFEameerj
2021-07-22glasm: Make GLASM aware of typesReinUsesLisp
2021-07-22glasm: Use CMP.S for Select32ameerj
also fixes ADD and SUB to use U modifier
2021-07-22glasm: Implement more logical opsameerj
2021-07-22glasm: Implement BFI, BFEameerj
Along with implementations of common instructions along the way
2021-07-22glasm: Implement basic GLASM instructionsReinUsesLisp
2021-07-22glasm: Add GLASM backend infrastructureReinUsesLisp