[Mesa-dev] [PATCH v4 00/38] Nir support for Nouveau

Karol Herbst kherbst at redhat.com
Wed Jan 10 02:54:13 UTC 2018


significant changes to last series:
* fixing TF with GS for gallium nir drivers
* RA fix for 64 bit values and compounds
* completed support for 64 bit types
* random piglit fixes

Tested with unigine heaven/valley, gputest and RealisticRenderer

piglit run -x glx -x egl -x streaming-texture-leak -x max-texture-size tests/gpu.py:
[26075/26075] skip: 1576, pass: 24333, warn: 9, fail: 143, crash: 14

overview of fails:
* interpolateAt
* indirects in image_load/store
* shader_ballot fails in 'fs-ballot-if-else' and 'fs-builtin-variables'
* two tests fail for RA reasons

thanks to everybody involved in this :)

Connor Abbott (1):
  nv50/ir/ra: Fix copying compound for moves

Karol Herbst (33):
  nvir: print the shader type when dumping headers
  nvir: move common converter code in base class
  nvir: add lowering helper
  nvc0: add support for NIR
  nvir/nir: use lowering helper
  nvc0/debug: add env var to make nir default
  nvir/nir: run some passes to make the conversion easier
  nvir/nir: track defs and provide easy access functions
  nvir/nir: add nir type helper functions
  nvir/nir: run assignSlots
  nvir/nir: add loadFrom and storeTo helpler
  nvir/nir: parse NIR shader info
  nvir/nir: implement CFG handling
  nvir/nir: implement nir_load_const_instr
  nvir/nir: add skeleton for nir_intrinsic_instr
  nvir/nir: implement nir_alu_instr handling
  nvir/nir: implement nir_intrinsic_load_uniform
  nvir/nir: implement nir_intrinsic_store_(per_vertex_)output
  nvir/nir: implement nir_intrinsic_load_input
  nvir/nir: implement intrinsic_discard(_if)
  nvir/nir: implement loading system values
  nvir/nir: implement nir_ssa_undef_instr
  nvir/nir: implement nir_instr_type_tex
  nvir/nir: add getOperation for intrinsics
  nvir/nir: implement vote and ballot
  nvir/nir: implement variable indexing
  nvir/nir: implement geometry shader nir_intrinsics
  nvir/nir: implement nir_intrinsic_load_ubo
  nvir/nir: implement ssbo intrinsics
  nvir/nir: implement images
  nvir/nir: add memory barriers
  nvir/nir: implement load_per_vertex_output
  nvir/nir: implement intrinsic shader_clock

Rob Clark (1):
  mesa/st: translate SO info in glsl_to_nir() case

Timothy Arceri (3):
  compiler: tidy up double_inputs_read uses
  nir: add vs_inputs_dual_locations compiler option
  nir: partially revert c2acf97fcc9b32e

 src/amd/vulkan/radv_shader.c                       |    1 +
 src/compiler/glsl/glsl_to_nir.cpp                  |   21 +-
 src/compiler/glsl/ir_set_program_inouts.cpp        |    2 +-
 src/compiler/nir/nir.h                             |    6 +
 src/compiler/nir/nir_gather_info.c                 |   35 +-
 src/compiler/shader_info.h                         |   10 +-
 src/gallium/drivers/nouveau/Makefile.sources       |    5 +
 src/gallium/drivers/nouveau/codegen/nv50_ir.cpp    |    3 +
 src/gallium/drivers/nouveau/codegen/nv50_ir.h      |    1 +
 .../nouveau/codegen/nv50_ir_from_common.cpp        |  107 +
 .../drivers/nouveau/codegen/nv50_ir_from_common.h  |   58 +
 .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp   | 2802 ++++++++++++++++++++
 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp  |  106 +-
 .../nouveau/codegen/nv50_ir_lowering_helper.cpp    |  250 ++
 .../nouveau/codegen/nv50_ir_lowering_helper.h      |   52 +
 src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp |   60 +-
 src/gallium/drivers/nouveau/meson.build            |   14 +-
 src/gallium/drivers/nouveau/nouveau_screen.c       |    4 +
 src/gallium/drivers/nouveau/nouveau_screen.h       |    2 +
 src/gallium/drivers/nouveau/nvc0/nvc0_program.c    |   19 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |   52 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c      |   27 +-
 src/intel/compiler/brw_compiler.c                  |    3 +
 src/intel/compiler/brw_vec4.cpp                    |    2 +-
 src/mesa/state_tracker/st_glsl_to_nir.cpp          |    2 +-
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         |    2 +-
 src/mesa/state_tracker/st_program.c                |   59 +-
 27 files changed, 3542 insertions(+), 163 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.14.3



More information about the mesa-dev mailing list