yuzu/src/shader_recompiler/backend/glasm
ReinUsesLisp 8c81a20ace glasm: Ensure reg alloc order across compilers on GLASM
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-22 21:51:31 -04:00
..
emit_context.cpp glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
emit_context.h glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
emit_glasm.cpp glasm: Ensure reg alloc order across compilers on GLASM 2021-07-22 21:51:31 -04:00
emit_glasm.h glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_atomic.cpp glasm: Implement storage atomic ops 2021-07-22 21:51:31 -04:00
emit_glasm_barriers.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_bitwise_conversion.cpp glasm: Add conversion instructions to GLASM 2021-07-22 21:51:31 -04:00
emit_glasm_composite.cpp glasm: Review all GLASM insts to be aware of register aliasing 2021-07-22 21:51:31 -04:00
emit_glasm_context_get_set.cpp glasm: Make GLASM aware of types 2021-07-22 21:51:30 -04:00
emit_glasm_control_flow.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_convert.cpp glasm: Add conversion instructions to GLASM 2021-07-22 21:51:31 -04:00
emit_glasm_floating_point.cpp glasm: Review all GLASM insts to be aware of register aliasing 2021-07-22 21:51:31 -04:00
emit_glasm_image.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_image_atomic.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_instructions.h glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
emit_glasm_integer.cpp glasm: Review all GLASM insts to be aware of register aliasing 2021-07-22 21:51:31 -04:00
emit_glasm_logical.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_memory.cpp glasm: Initial GLASM fp64 support 2021-07-22 21:51:30 -04:00
emit_glasm_not_implemented.cpp glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
emit_glasm_select.cpp glasm: Review all GLASM insts to be aware of register aliasing 2021-07-22 21:51:31 -04:00
emit_glasm_shared_memory.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_special.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_undefined.cpp glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
emit_glasm_warp.cpp glasm: Implement shuffle and vote instructions on GLASM 2021-07-22 21:51:31 -04:00
reg_alloc.cpp glasm: Fix register allocation when moving immediate on GLASM 2021-07-22 21:51:31 -04:00
reg_alloc.h glasm: Fix register allocation when moving immediate on GLASM 2021-07-22 21:51:31 -04:00