[Mesa-dev] [PATCH 00/34] Nouveau NIR patches

Karol Herbst kherbst at redhat.com
Tue Mar 12 00:04:07 UTC 2019

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


More information about the mesa-dev mailing list