[Mesa-dev] [PATCH v7 00/35] Nouveau NIR support
Karol Herbst
kherbst at redhat.com
Mon Apr 16 13:25:40 UTC 2018
Changes to v6:
* fixed automake build
* fixed shader cache collision with TGSI shaders
* fixed handling of inot
* fixed location of images
* fixed load_output of fragment shaders (FBFETCH)
* added load_barycentric_sample handling
* some preparation for bindless_texture support
There will be some follow up patches to add support for:
* 4 constant offsets in TG4
* bindless_texture support for samplers and images
Review is important for patches 1-8, all the other paches touch the from_nir
file only.
Connor Abbott (1):
nv50/ir/ra: Fix copying compound for moves
Karol Herbst (34):
st/glsl_to_nir: run lower_output_reads on
!PIPE_CAP_TGSI_CAN_READ_OUTPUTS
nvir: print the shader type when dumping headers
nvir: move common converter code in base class
nvir: add lowering helper
nouveau: add support for nir
nouveau: add env var to make nir default
nouveau: fix nir and TGSI shader cache collision
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 load_(interpolated_)input/output
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
src/gallium/drivers/nouveau/Automake.inc | 3 +
src/gallium/drivers/nouveau/Makefile.am | 5 +
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 | 3145 ++++++++++++++++++++
.../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 106 +-
.../nouveau/codegen/nv50_ir_lowering_helper.cpp | 275 ++
.../nouveau/codegen/nv50_ir_lowering_helper.h | 53 +
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 60 +-
src/gallium/drivers/nouveau/meson.build | 13 +-
src/gallium/drivers/nouveau/nouveau_screen.c | 11 +-
src/gallium/drivers/nouveau/nouveau_screen.h | 2 +
src/gallium/drivers/nouveau/nv50/nv50_program.c | 19 +-
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 44 +-
src/gallium/drivers/nouveau/nv50/nv50_state.c | 31 +-
src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 19 +-
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 61 +-
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 27 +-
src/mesa/state_tracker/st_glsl_to_nir.cpp | 6 +
22 files changed, 3908 insertions(+), 146 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