I think I will just go ahead and merge it over the next few days. There are more patches to fix some crashes related to 64 bit types, but that is touching current RA code and I would like to have better testing there.
So some piglit regressions, most related to 64 bit types though covered by the spoken of patch. Can be enabled by setting NV50_PROG_USE_NIR=1 Chanelogs attached to the patches directly and nothing really new since the last time I posted that series, mostly just fixing compatibility with master. Have fun. Karol Herbst (34): prog_to_nir: fix write from vps to PSIZ nvc0: print the shader type when dumping headers nv50/ir: move common converter code in base class nv50/ir: add lowering helper nouveau: add support for nir nouveau: fix nir and TGSI shader cache collision nv50/ir/nir: run some passes to make the conversion easier nv50/ir/nir: track defs and provide easy access functions nv50/ir/nir: add nir type helper functions nv50/ir/nir: run assignSlots nv50/ir/nir: add loadFrom and storeTo helpler nv50/ir/nir: parse NIR shader info nv50/ir/nir: implement nir_load_const_instr nv50/ir/nir: add skeleton for nir_intrinsic_instr nv50/ir/nir: implement nir_alu_instr handling nv50/ir/nir: implement nir_intrinsic_load_uniform nv50/ir/nir: implement nir_intrinsic_store_(per_vertex_)output nv50/ir/nir: implement load_(interpolated_)input/output nv50/ir/nir: implement intrinsic_discard(_if) nv50/ir/nir: implement loading system values nv50/ir/nir: implement nir_ssa_undef_instr nv50/ir/nir: implement nir_instr_type_tex nv50/ir/nir: add skeleton getOperation for intrinsics nv50/ir/nir: implement vote and ballot nv50/ir/nir: implement variable indexing nv50/ir/nir: implement geometry shader nir_intrinsics nv50/ir/nir: implement nir_intrinsic_load_ubo nv50/ir/nir: implement ssbo intrinsics nv50/ir/nir: implement images nv50/ir/nir: add memory barriers nv50/ir/nir: implement load_per_vertex_output nv50/ir/nir: implement intrinsic shader_clock nv50/ir/nir: handle user clip planes for each emitted vertex nv50ir/nir: move immediates before use src/gallium/drivers/nouveau/Automake.inc | 3 + src/gallium/drivers/nouveau/Makefile.am | 5 + src/gallium/drivers/nouveau/Makefile.sources | 5 + .../drivers/nouveau/codegen/nv50_ir.cpp | 3 + src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1 + .../nouveau/codegen/nv50_ir_from_common.cpp | 107 + .../nouveau/codegen/nv50_ir_from_common.h | 58 + .../nouveau/codegen/nv50_ir_from_nir.cpp | 3322 +++++++++++++++++ .../nouveau/codegen/nv50_ir_from_tgsi.cpp | 106 +- .../codegen/nv50_ir_lowering_helper.cpp | 275 ++ .../nouveau/codegen/nv50_ir_lowering_helper.h | 53 + src/gallium/drivers/nouveau/meson.build | 13 +- src/gallium/drivers/nouveau/nouveau_screen.c | 10 +- src/gallium/drivers/nouveau/nouveau_screen.h | 5 + .../drivers/nouveau/nv50/nv50_program.c | 19 +- .../drivers/nouveau/nv50/nv50_screen.c | 46 +- src/gallium/drivers/nouveau/nv50/nv50_state.c | 35 +- .../drivers/nouveau/nvc0/nvc0_program.c | 19 +- .../drivers/nouveau/nvc0/nvc0_screen.c | 94 +- src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 31 +- src/mesa/program/prog_to_nir.c | 6 +- 21 files changed, 4088 insertions(+), 128 deletions(-) create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_from_common.cpp create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_from_common.h create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_helper.cpp create mode 100644 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_helper.h -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev