Commit Graph

23 Commits (95761cc6a70987b2625d68c4d9da4e2622f57808)

Author SHA1 Message Date
ReinUsesLisp 95761cc6a7 shader: Add integer division opcodes 4 years ago
ameerj 8289eb108f opengl: Implement LOP.CC
Used by MH:Rise
5 years ago
ReinUsesLisp 4397053d5c shader: Remove IAbs64 5 years ago
ReinUsesLisp 70c9281fbf glasm: Fix INeg32 on negative immediates 5 years ago
ReinUsesLisp ca05a13c62 glasm: Catch more register leaks
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.
5 years ago
ReinUsesLisp 0794273870 glasm: Implement int64 add and subtract 5 years ago
ReinUsesLisp 291f220be3 glasm: Implement 64-bit shifts 5 years ago
ameerj 3777592ada glasm: Implement IADD.CC 5 years ago
ReinUsesLisp 98ed8ff103 glasm: Implement BFE.CC 5 years ago
ReinUsesLisp 0f88fb5d72 glasm: Write result to scalar on integer comparison instructions 5 years ago
ReinUsesLisp d54d7de40e glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
5 years ago
ReinUsesLisp 70fbede213 glasm: Review all GLASM insts to be aware of register aliasing 5 years ago
ReinUsesLisp 5b18a12df2 glasm: Implement IAbs64 and INeg64 on GLASM 5 years ago
ReinUsesLisp ad61b47f80 glasm: Add conversion instructions to GLASM 5 years ago
ReinUsesLisp 45ef62d3ba glasm: Remove unnecesary new white space on Clamp GLASM 5 years ago
ameerj 6705f56029 emit_glasm: Implement more integer alu ops 5 years ago
ameerj 3e10709091 glasm: Reimplement bitwise ops and BFI/BFE 5 years ago
ReinUsesLisp 1c9307969c glasm: Make GLASM aware of types 5 years ago
ameerj 934d300246 glasm: Use CMP.S for Select32
also fixes ADD and SUB to use U modifier
5 years ago
ameerj 68cc445b8e glasm: Implement more logical ops 5 years ago
ameerj 941c6dc740 glasm: Implement BFI, BFE
Along with implementations of common instructions along the way
5 years ago
ReinUsesLisp 6fd190d1ae glasm: Implement basic GLASM instructions 5 years ago
ReinUsesLisp b10cf64c48 glasm: Add GLASM backend infrastructure 5 years ago