Module: Mesa Branch: main Commit: d187418f63d6ae85299586f80c1034ec6464a9c7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d187418f63d6ae85299586f80c1034ec6464a9c7
Author: Simon Perretta <[email protected]> Date: Fri Dec 23 23:22:10 2022 +0000 pvr: Add new Rogue compiler framework Signed-off-by: Simon Perretta <[email protected]> Acked-by: Frank Binns <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430> --- docs/envvars.rst | 26 + src/imagination/.clang-format | 32 + src/imagination/rogue/meson.build | 46 +- src/imagination/rogue/nir/rogue_nir_constreg.c | 74 - src/imagination/rogue/nir/rogue_nir_lower_io.c | 20 +- src/imagination/rogue/nir/rogue_nir_pfo.c | 10 +- .../{rogue_dump.h => passes/rogue_constreg.c} | 43 +- src/imagination/rogue/passes/rogue_copy_prop.c | 160 ++ src/imagination/rogue/passes/rogue_dce.c | 133 + .../rogue/passes/rogue_lower_pseudo_ops.c | 166 ++ src/imagination/rogue/passes/rogue_regalloc.c | 281 +++ .../rogue/passes/rogue_schedule_instr_groups.c | 635 +++++ src/imagination/rogue/passes/rogue_schedule_uvsw.c | 95 + .../rogue_schedule_wdf.c} | 77 +- src/imagination/rogue/passes/rogue_trim.c | 106 + src/imagination/rogue/rogue.c | 1357 ++++++----- src/imagination/rogue/rogue.h | 2537 +++++++++++++++++++- .../{rogue_constreg.h => rogue_alu_instrs.def} | 60 +- .../{rogue_encoders.h => rogue_backend_instrs.def} | 56 +- .../{rogue_operand.c => rogue_bitwise_instrs.def} | 21 +- src/imagination/rogue/rogue_build_data.c | 174 +- src/imagination/rogue/rogue_build_data.h | 180 -- src/imagination/rogue/rogue_builder.c | 364 +++ src/imagination/rogue/rogue_builder.h | 153 ++ src/imagination/rogue/rogue_compile.c | 403 ++++ src/imagination/rogue/rogue_compiler.c | 72 - src/imagination/rogue/rogue_compiler.h | 45 - src/imagination/rogue/rogue_constreg.c | 32 +- .../{rogue_regalloc.h => rogue_ctrl_instrs.def} | 69 +- src/imagination/rogue/rogue_debug.c | 85 + src/imagination/rogue/rogue_dump.c | 170 -- src/imagination/rogue/rogue_encode.c | 1498 ++++++------ src/imagination/rogue/rogue_encode.h | 41 - src/imagination/rogue/rogue_encoders.c | 164 -- src/imagination/rogue/rogue_info.c | 443 ++++ src/imagination/rogue/rogue_instr.c | 227 -- src/imagination/rogue/rogue_instr.h | 113 - src/imagination/rogue/rogue_isa.h | 963 ++++++++ src/imagination/rogue/rogue_nir.c | 98 +- src/imagination/rogue/rogue_nir.h | 52 - src/imagination/rogue/rogue_nir_helpers.h | 149 -- src/imagination/rogue/rogue_operand.h | 158 -- src/imagination/rogue/rogue_print.c | 751 ++++++ src/imagination/rogue/rogue_regalloc.c | 313 --- src/imagination/rogue/rogue_shader.c | 133 - src/imagination/rogue/rogue_shader.h | 81 - src/imagination/rogue/rogue_util.c | 98 - src/imagination/rogue/rogue_util.h | 320 --- src/imagination/rogue/rogue_validate.c | 677 ++++-- src/imagination/rogue/tools/meson.build | 39 + .../tools/{offline_compiler.c => vk_compiler.c} | 100 +- src/imagination/vulkan/pvr_clear.c | 8 +- src/imagination/vulkan/pvr_device.c | 14 +- src/imagination/vulkan/pvr_hardcode.c | 42 +- src/imagination/vulkan/pvr_hardcode.h | 29 +- src/imagination/vulkan/pvr_pipeline.c | 15 +- src/imagination/vulkan/pvr_shader.c | 15 +- src/imagination/vulkan/pvr_shader.h | 16 +- 58 files changed, 9823 insertions(+), 4416 deletions(-) Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=d187418f63d6ae85299586f80c1034ec6464a9c7
