8289eb108f
opengl: Implement LOP.CC
...
Used by MH:Rise
2021-07-22 21:51:39 -04:00
4397053d5c
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
70c9281fbf
glasm: Fix INeg32 on negative immediates
2021-07-22 21:51:33 -04:00
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.
2021-07-22 21:51:33 -04:00
0794273870
glasm: Implement int64 add and subtract
2021-07-22 21:51:33 -04:00
291f220be3
glasm: Implement 64-bit shifts
2021-07-22 21:51:32 -04:00
3777592ada
glasm: Implement IADD.CC
2021-07-22 21:51:32 -04:00
98ed8ff103
glasm: Implement BFE.CC
2021-07-22 21:51:32 -04:00
0f88fb5d72
glasm: Write result to scalar on integer comparison instructions
2021-07-22 21:51:31 -04:00
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.
2021-07-22 21:51:31 -04:00
70fbede213
glasm: Review all GLASM insts to be aware of register aliasing
2021-07-22 21:51:31 -04:00
5b18a12df2
glasm: Implement IAbs64 and INeg64 on GLASM
2021-07-22 21:51:31 -04:00
ad61b47f80
glasm: Add conversion instructions to GLASM
2021-07-22 21:51:31 -04:00
45ef62d3ba
glasm: Remove unnecesary new white space on Clamp GLASM
2021-07-22 21:51:30 -04:00
6705f56029
emit_glasm: Implement more integer alu ops
2021-07-22 21:51:30 -04:00
3e10709091
glasm: Reimplement bitwise ops and BFI/BFE
2021-07-22 21:51:30 -04:00
1c9307969c
glasm: Make GLASM aware of types
2021-07-22 21:51:30 -04:00
934d300246
glasm: Use CMP.S for Select32
...
also fixes ADD and SUB to use U modifier
2021-07-22 21:51:30 -04:00
68cc445b8e
glasm: Implement more logical ops
2021-07-22 21:51:30 -04:00
941c6dc740
glasm: Implement BFI, BFE
...
Along with implementations of common instructions along the way
2021-07-22 21:51:30 -04:00
6fd190d1ae
glasm: Implement basic GLASM instructions
2021-07-22 21:51:30 -04:00
b10cf64c48
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00