[Mesa-dev] [PATCH v3 00/30] Nir support for Nouveau
Karol Herbst
kherbst at redhat.com
Sun Jan 7 20:42:18 UTC 2018
significant changes to last series:
* disable support for 64 bit types
* fix tessellation shader bugs
* assume vec4 elements for variable index arrays (MemoryOpts workaround)
piglit run -x glx -x egl -x streaming-texture-leak -x max-texture-size tests/gpu.py:
[26010/26010] skip: 10410, pass: 15386, warn: 9, fail: 191, crash: 14
remaining issues:
* transform feedback with geometry shaders
* indirects in image_load/store
* interpolateAt
* getting 64 bit types to work. This is mainly limited by codegen RA being
not able to handle those correctly, because from_TGSI just generates merge
and splits and doesn't hit the faulty paths.
Karol Herbst (30):
nir: fix st_nir_assign_var_locations for patch variables
nvir: print the shader type when dumping headers
nvir: move common converter code in base class
nvc0: add support for NIR
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: 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
src/gallium/drivers/nouveau/Makefile.sources | 3 +
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 | 2716 ++++++++++++++++++++
.../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 106 +-
src/gallium/drivers/nouveau/meson.build | 12 +-
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 | 57 +-
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 27 +-
src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 +-
14 files changed, 3003 insertions(+), 120 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
--
2.14.3
More information about the mesa-dev
mailing list