Re: [Mesa-dev] [PATCH v4 00/10] Add precise/invariant semantics to TGSI

2017-07-12 Thread Karol Herbst
could finish this up soon. Greetings Karol On Fri, Jun 23, 2017 at 8:30 PM, Karol Herbst wrote: > Running Tomb Raider on Nouveau I found some flicker caused by ignoring precise > modifiers on variables inside Nouveau. > > This series add precise/invariant handling to TGSI, which can be

Re: [Mesa-dev] [Nouveau] [PATCH] gm107/ir: use lane 0 for manual textureGrad handling

2017-12-21 Thread Karol Herbst
ass::handleManualTXD(TexInstruction *i) >> >>// texture >>bld.insert(tex = cloneForward(func, i)); >> + if (l != 0) { >> + if (array) >> +tex->setSrc(0, arr); >> + if (i->tex.target.isSha

[Mesa-dev] [PATCH 01/22] nvir: print the shader type when dumping headers

2017-12-21 Thread Karol Herbst
this makes debugging a little easier Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index 46a15d76df

[Mesa-dev] [PATCH 02/22] nvir: move common converter code in base class

2017-12-21 Thread Karol Herbst
this is more or less a todo list of things I should move elsewhere. Not all of it should be actually moved, but... Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 2 + .../nouveau/codegen/nv50_ir_from_common.cpp| 145

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

2017-12-21 Thread Karol Herbst
: * Geometry shaders * UBOs ./piglit run -x glx -x egl -x streaming-texture-leak -x max-texture-size tests/gpu.py: [26073/26073] skip: 1574, pass: 13451, warn: 9, fail: 5287, crash: 5752 Note: a lot of crashes are geometry/tesselation stuff hitting asserts. Karol Herbst (22): nvir: print the

[Mesa-dev] [PATCH 03/22] nvc0: add support for NIR

2017-12-21 Thread Karol Herbst
not all those nir options are actually required, it just made the work a little easier. TODO: there is a little memory leak, because the nir shader is duplicated twice. this has to be done though, we just need to clean it up properly Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau

[Mesa-dev] [PATCH 05/22] nvir/nir: run some passes to make the conversion easier

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 37 ++ 1 file changed, 37 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index bfaeb1ffd5

[Mesa-dev] [PATCH 04/22] nvc0/debug: add env var to make nir default

2017-12-21 Thread Karol Herbst
can't be turned on for release builds for now. Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau

[Mesa-dev] [PATCH 06/22] nvir/nir: track defs and provide easy access functions

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 108 + 1 file changed, 108 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 4833da5914

[Mesa-dev] [PATCH 08/22] nvir/nir: implement CFG handling

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 255 - 1 file changed, 253 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH 07/22] nvir/nir: add nir type helper functions

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 116 + 1 file changed, 116 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 6516bd2d8f

[Mesa-dev] [PATCH 13/22] nvir/nir: implement nir_intrinsic_store_output

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 43 ++ 1 file changed, 43 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 9ccd84bc20

[Mesa-dev] [PATCH 12/22] nvir/nir: implement nir_intrinsic_load_uniform

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp| 21 + 1 file changed, 21 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index d2b2236c17

[Mesa-dev] [PATCH 16/22] nvir/nir: parse NIR shader info

2017-12-21 Thread Karol Herbst
TODO: this is far from being complete, but at least this let the basics things work already. Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 26 ++ 1 file changed, 26 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH 11/22] nvir/nir: implement nir_alu_instr handling

2017-12-21 Thread Karol Herbst
some code duplication can be eliminated through templates Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 524 - 1 file changed, 523 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/ga

[Mesa-dev] [PATCH 09/22] nvir/nir: implement nir_load_const_instr

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 20 1 file changed, 20 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 5f0746055a

[Mesa-dev] [PATCH 10/22] nvir/nir: add skeleton for nir_intrinsic_instr

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp| 17 + 1 file changed, 17 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index f13699a393

[Mesa-dev] [PATCH 18/22] nvir/nir: implement loading system values

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 26 ++ 1 file changed, 26 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 412675fcb1

[Mesa-dev] [PATCH 15/22] nvir/nir: run assignSlots

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 427 + 1 file changed, 427 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 009f3df875

[Mesa-dev] [PATCH 14/22] nvir/nir: implement nir_intrinsic_load_input

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 30 ++ 1 file changed, 30 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 896a02af96

[Mesa-dev] [PATCH 17/22] nvir/nir: implement intrinsic_discard(_if)

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index cf324a3e8f

[Mesa-dev] [PATCH 19/22] nvir/nir: implement nir_ssa_undef_instr

2017-12-21 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 98cd73451e

[Mesa-dev] [PATCH 20/22] nvir/nir: implement nir_instr_type_tex

2017-12-21 Thread Karol Herbst
TODO: a lot of those fields are not valid for a lot of tex ops. Not quite sure if it's worth the effort to check for those or just keep it like that. It seems to kind of work. Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 192 + 1

[Mesa-dev] [PATCH 21/22] nvir/nir: implement vote

2017-12-21 Thread Karol Herbst
TODO: there is more Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 16 1 file changed, 16 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH 22/22] nvir/nir: implement variable indexing

2017-12-21 Thread Karol Herbst
with indirects aren't guarenteed to be aligned to 0x10 anymore. Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 58 ++ 1 file changed, 58 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/galli

Re: [Mesa-dev] [PATCH 00/22] Nir support for Nouveau

2017-12-21 Thread Karol Herbst
uhm, actually that should have been marked as a RFC, sorry for that. On Thu, Dec 21, 2017 at 4:51 PM, Karol Herbst wrote: > Plans are to get SPIR-V support for Nouveau with a cheap way. Before that I > was looking into Pierres work on his direct SPIR-V to nvir pass and seemed >

Re: [Mesa-dev] [PATCH 02/22] nvir: move common converter code in base class

2017-12-21 Thread Karol Herbst
On Thu, Dec 21, 2017 at 5:21 PM, Ilia Mirkin wrote: > On Thu, Dec 21, 2017 at 10:51 AM, Karol Herbst wrote: >> this is more or less a todo list of things I should move elsewhere. Not all >> of >> it should be actually moved, but... >> >> Signed-off-by: Kar

Re: [Mesa-dev] [PATCH 02/22] nvir: move common converter code in base class

2017-12-21 Thread Karol Herbst
tgsi ones with the code I wrote for assignSlots and because the conversion from TGSI to NVIR already existed, I just used that for now. > On Dec 21, 2017 11:26 AM, "Karol Herbst" wrote: >> >> On Thu, Dec 21, 2017 at 5:21 PM, Ilia Mirkin wrote: >> > On Thu, De

Re: [Mesa-dev] [PATCH v3 17/20] st/glsl_to_nir/radeonsi: enable tessellation shaders

2018-01-03 Thread Karol Herbst
in case v3 doesn't get into mesa, could you extract the src/mesa/state_tracker/st_glsl_to_nir.cpp change into a seperate patch and just push that one? I kind of needs this as well and have a patch doing exactly this in my repository as well. A patch with only this would be Reviewed-by:

[Mesa-dev] [PATCH v2 03/31] nvir: move common converter code in base class

2018-01-04 Thread Karol Herbst
v2: remove TGSI related bits Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 2 + .../nouveau/codegen/nv50_ir_from_common.cpp| 107 + .../drivers/nouveau/codegen/nv50_ir_from_common.h | 58 +++ .../drivers/nouveau

[Mesa-dev] [PATCH v2 06/31] nvc0/debug: add env var to make nir default

2018-01-04 Thread Karol Herbst
v2: allow for non debug builds as well Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c

[Mesa-dev] [PATCH v2 05/31] nvc0: add support for NIR

2018-01-04 Thread Karol Herbst
lower bitfield_insert Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 1 + src/gallium/drivers/nouveau/codegen/nv50_ir.cpp| 3 + src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1 + .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v2 00/31] Nir support for Nouveau

2018-01-04 Thread Karol Herbst
riable-indexing (related to above mentioned packing issue) * glsl-4.20.execution.vs_in * some variable-indexing issues related to unaligned memory accesses * some geometry shader fails Karol Herbst (31): st/nir: treat tess shader input/outputs the same as geom shaders nvir: print the shader type when du

[Mesa-dev] [PATCH v2 01/31] st/nir: treat tess shader input/outputs the same as geom shaders

2018-01-04 Thread Karol Herbst
this is enough to get tessellation working in Unigine heaven Signed-off-by: Karol Herbst --- src/mesa/state_tracker/st_glsl_to_nir.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp

[Mesa-dev] [PATCH v2 04/31] nvir: add lowering helper

2018-01-04 Thread Karol Herbst
this is mostly usefull for lazy IR converters not wanting to deal with 64 bit lowering and other illegal stuff Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 2 + .../nouveau/codegen/nv50_ir_lowering_helper.cpp| 204 + .../nouveau

[Mesa-dev] [PATCH v2 02/31] nvir: print the shader type when dumping headers

2018-01-04 Thread Karol Herbst
this makes debugging the shader header a little easier Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index

[Mesa-dev] [PATCH v2 07/31] nvir/nir: run some passes to make the conversion easier

2018-01-04 Thread Karol Herbst
v2: add constant_folding Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 40 ++ 1 file changed, 40 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v2 09/31] nvir/nir: add nir type helper functions

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 116 + 1 file changed, 116 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index c0e733a67d

[Mesa-dev] [PATCH v2 12/31] nvir/nir: parse NIR shader info

2018-01-04 Thread Karol Herbst
v2: parse a few more fields Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 55 ++ 1 file changed, 55 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v2 08/31] nvir/nir: track defs and provide easy access functions

2018-01-04 Thread Karol Herbst
v2: add helper function for indirects Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 125 + 1 file changed, 125 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v2 13/31] nvir/nir: implement CFG handling

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 255 - 1 file changed, 253 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v2 14/31] nvir/nir: implement nir_load_const_instr

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 20 1 file changed, 20 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 82645f5ef1

[Mesa-dev] [PATCH v2 11/31] nvir/nir: run assignSlots

2018-01-04 Thread Karol Herbst
v2: add support for geometry shaders set idx add some missing mappings fix for 64bit inputs/outputs fix up some FP color output index messup parse centroid flag Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 531 + 1

[Mesa-dev] [PATCH v2 10/31] nvir/nir: use lowering helper

2018-01-04 Thread Karol Herbst
this helps with a bunch of piglit tests testing 64 bit types Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 5 + 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau

[Mesa-dev] [PATCH v2 18/31] nvir/nir: implement nir_intrinsic_store_(per_vertex_)output

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 47 ++ 1 file changed, 47 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 9835b916bf

[Mesa-dev] [PATCH v2 20/31] nvir/nir: implement intrinsic_discard(_if)

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 6795baa704

[Mesa-dev] [PATCH v2 16/31] nvir/nir: implement nir_alu_instr handling

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst v2: user bitfield_insert instead of bfi rework switch helper macros remove some lowering code (LoweringHelper is now used for this) Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 468 - 1 file changed

[Mesa-dev] [PATCH v2 15/31] nvir/nir: add skeleton for nir_intrinsic_instr

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp| 17 + 1 file changed, 17 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index eeefadbfd0

[Mesa-dev] [PATCH v2 19/31] nvir/nir: implement nir_intrinsic_load_input

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 30 ++ 1 file changed, 30 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 8a3b897e26

[Mesa-dev] [PATCH v2 17/31] nvir/nir: implement nir_intrinsic_load_uniform

2018-01-04 Thread Karol Herbst
v2: use new getIndirect helper fixes symbols for 64 bit types Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 16 1 file changed, 16 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src

[Mesa-dev] [PATCH v2 21/31] nvir/nir: implement loading system values

2018-01-04 Thread Karol Herbst
v2: support more sys values fixed a bug where for multi component reads all values ended up in x Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 81 ++ 1 file changed, 81 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v2 22/31] nvir/nir: implement nir_ssa_undef_instr

2018-01-04 Thread Karol Herbst
v2: use mkOp Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index

[Mesa-dev] [PATCH v2 23/31] nvir/nir: implement nir_instr_type_tex

2018-01-04 Thread Karol Herbst
drop reference in convert(glsl_sampler_dim&, bool, bool) fix tg4 component selection Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 220 + 1 file changed, 220 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_fro

[Mesa-dev] [PATCH v2 24/31] nvir/nir: add getOperation for intrinsics

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 24 ++ 1 file changed, 24 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 9391f57f87

[Mesa-dev] [PATCH v2 26/31] nvir/nir: implement variable indexing

2018-01-04 Thread Karol Herbst
with indirects aren't guarenteed to be aligned to 0x10 anymore. Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 58 ++ 1 file changed, 58 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/galli

[Mesa-dev] [PATCH v2 25/31] nvir/nir: implement vote and ballot

2018-01-04 Thread Karol Herbst
v2: add vote_eq support use the new subop intrinsic helper add ballot Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 25 ++ 1 file changed, 25 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v2 27/31] nvir/nir: implement geometry shader nir_intrinsics

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 31 ++ 1 file changed, 31 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 1ac5436153

[Mesa-dev] [PATCH v2 28/31] nvir/nir: implement nir_intrinsic_load_ubo

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 252092a391

[Mesa-dev] [PATCH v2 30/31] nvir/nir: implement images

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 287 +++-- 1 file changed, 269 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v2 31/31] nvir/nir: add memory barriers

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 9f865bad10

[Mesa-dev] [PATCH v2 29/31] nvir/nir: implement ssbo intrinsics

2018-01-04 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 97 ++ 1 file changed, 97 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 18b998d22c

Re: [Mesa-dev] [PATCH v2 00/31] Nir support for Nouveau

2018-01-04 Thread Karol Herbst
RA, optimizations and emitting stuff is shared (on top of the 4,3k loc) > > On January 4, 2018 09:02:24 Karol Herbst wrote: > >> significant changes to last series: >> * support for geometry, tessellation and compute shaders >> * support for more intrinsics and o

Re: [Mesa-dev] [PATCH v2 00/31] Nir support for Nouveau

2018-01-04 Thread Karol Herbst
On Thu, Jan 4, 2018 at 7:06 PM, Ilia Mirkin wrote: > On Thu, Jan 4, 2018 at 10:01 AM, Karol Herbst wrote: >> significant changes to last series: >> * arb_gpu_shader5 interpolateat* (those nir ops don't map well to nvir) >> no good plan on how to properly implement

Re: [Mesa-dev] [PATCH v2 00/31] Nir support for Nouveau

2018-01-04 Thread Karol Herbst
On Thu, Jan 4, 2018 at 8:56 PM, Jason Ekstrand wrote: > On January 4, 2018 12:51:15 Karol Herbst wrote: > >> On Thu, Jan 4, 2018 at 7:06 PM, Ilia Mirkin wrote: >>> >>> On Thu, Jan 4, 2018 at 10:01 AM, Karol Herbst wrote: >>>> >>>> sign

[Mesa-dev] [PATCH] nir: fix st_nir_assign_var_locations for patch variables

2018-01-06 Thread Karol Herbst
Signed-off-by: Karol Herbst Reviewed-by: Kenneth Graunke --- src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index 5683df..1c5de3d5de

Re: [Mesa-dev] [PATCH v2 00/31] Nir support for Nouveau

2018-01-06 Thread Karol Herbst
On Sat, Jan 6, 2018 at 1:34 AM, Kenneth Graunke wrote: > On Thursday, January 4, 2018 11:56:44 AM PST Jason Ekstrand wrote: >> On January 4, 2018 12:51:15 Karol Herbst wrote: >> >> > On Thu, Jan 4, 2018 at 7:06 PM, Ilia Mirkin wrote: >> >> On Thu, Jan 4, 2

[Mesa-dev] [PATCH v3 11/30] nvir/nir: implement CFG handling

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 255 - 1 file changed, 253 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v3 12/30] nvir/nir: implement nir_load_const_instr

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 20 1 file changed, 20 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 0d18dd030a

[Mesa-dev] [PATCH v3 09/30] nvir/nir: run assignSlots

2018-01-07 Thread Karol Herbst
v2: add support for geometry shaders set idx add some missing mappings fix for 64bit inputs/outputs fix up some FP color output index messup parse centroid flag v3: fix arrays in outputs as well fix input/ouput size calculation for tessellation shaders Signed-off-by: Karol

[Mesa-dev] [PATCH v3 08/30] nvir/nir: add nir type helper functions

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 116 + 1 file changed, 116 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index c0e733a67d

[Mesa-dev] [PATCH v3 00/30] Nir support for Nouveau

2018-01-07 Thread Karol Herbst
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 de

[Mesa-dev] [PATCH v3 03/30] nvir: move common converter code in base class

2018-01-07 Thread Karol Herbst
v2: remove TGSI related bits Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 2 + .../nouveau/codegen/nv50_ir_from_common.cpp| 107 + .../drivers/nouveau/codegen/nv50_ir_from_common.h | 58 +++ .../drivers/nouveau

[Mesa-dev] [PATCH v3 04/30] nvc0: add support for NIR

2018-01-07 Thread Karol Herbst
not all those nir options are actually required, it just made the work a little easier. v2: fix asserts parse compute shaders don't lower bitfield_insert v3: fix memory leak Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/Makefile.sources | 1 + src/gallium/dr

[Mesa-dev] [PATCH v3 06/30] nvir/nir: run some passes to make the conversion easier

2018-01-07 Thread Karol Herbst
v2: add constant_folding Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 40 ++ 1 file changed, 40 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v3 13/30] nvir/nir: add skeleton for nir_intrinsic_instr

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 19 +++ 1 file changed, 19 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index b130fc696b

[Mesa-dev] [PATCH v3 02/30] nvir: print the shader type when dumping headers

2018-01-07 Thread Karol Herbst
this makes debugging the shader header a little easier Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index

[Mesa-dev] [PATCH v3 10/30] nvir/nir: parse NIR shader info

2018-01-07 Thread Karol Herbst
v2: parse a few more fields v3: add special handling for GL_ISOLINES Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 58 ++ 1 file changed, 58 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src

[Mesa-dev] [PATCH v3 01/30] nir: fix st_nir_assign_var_locations for patch variables

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst Reviewed-by: Kenneth Graunke Reviewed-by: Timothy Arceri --- src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp

[Mesa-dev] [PATCH v3 05/30] nvc0/debug: add env var to make nir default

2018-01-07 Thread Karol Herbst
v2: allow for non debug builds as well v3: move reading out env var more global disable tg4 with multiple offsets with nir disable caps for 64 bit types Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/nouveau_screen.c | 4 src/gallium/drivers/nouveau/nouveau_screen.h

[Mesa-dev] [PATCH v3 07/30] nvir/nir: track defs and provide easy access functions

2018-01-07 Thread Karol Herbst
v2: add helper function for indirects Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 125 + 1 file changed, 125 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v3 23/30] nvir/nir: implement vote and ballot

2018-01-07 Thread Karol Herbst
v2: add vote_eq support use the new subop intrinsic helper add ballot v3: add read_(first_)invocation Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 41 ++ 1 file changed, 41 insertions(+) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH v3 19/30] nvir/nir: implement loading system values

2018-01-07 Thread Karol Herbst
v2: support more sys values fixed a bug where for multi component reads all values ended up in x v3: add load_patch_vertices_in Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 87 ++ 1 file changed, 87 insertions(+) diff --git a/src

[Mesa-dev] [PATCH v3 25/30] nvir/nir: implement geometry shader nir_intrinsics

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 31 ++ 1 file changed, 31 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 82f388c2ac

[Mesa-dev] [PATCH v3 20/30] nvir/nir: implement nir_ssa_undef_instr

2018-01-07 Thread Karol Herbst
v2: use mkOp Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index

[Mesa-dev] [PATCH v3 17/30] nvir/nir: implement nir_intrinsic_load_input

2018-01-07 Thread Karol Herbst
v3: and load_output Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 32 ++ 1 file changed, 32 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp

[Mesa-dev] [PATCH v3 15/30] nvir/nir: implement nir_intrinsic_load_uniform

2018-01-07 Thread Karol Herbst
v2: use new getIndirect helper fixes symbols for 64 bit types Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 16 1 file changed, 16 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src

[Mesa-dev] [PATCH v3 14/30] nvir/nir: implement nir_alu_instr handling

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst v2: user bitfield_insert instead of bfi rework switch helper macros remove some lowering code (LoweringHelper is now used for this) v3: add pack_half_2x16_split add unpack_half_2x16_split_x/y Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen

[Mesa-dev] [PATCH v3 24/30] nvir/nir: implement variable indexing

2018-01-07 Thread Karol Herbst
with indirects aren't guarenteed to be aligned to 0x10 anymore. v3: use fixed size vec4 arrays until we fix MemoryOpt Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 60 ++ 1 file changed, 60 insertions(+) diff --git a/src/galli

[Mesa-dev] [PATCH v3 16/30] nvir/nir: implement nir_intrinsic_store_(per_vertex_)output

2018-01-07 Thread Karol Herbst
v3: add workaround for RA issues indirects have to be multiplied by 0x10 fix indirect access Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 54 ++ 1 file changed, 54 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Mesa-dev] [PATCH v3 18/30] nvir/nir: implement intrinsic_discard(_if)

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 34dbe86551

[Mesa-dev] [PATCH v3 22/30] nvir/nir: add getOperation for intrinsics

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 24 ++ 1 file changed, 24 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 3fe91462c7

[Mesa-dev] [PATCH v3 21/30] nvir/nir: implement nir_instr_type_tex

2018-01-07 Thread Karol Herbst
drop reference in convert(glsl_sampler_dim&, bool, bool) fix tg4 component selection Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 219 + 1 file changed, 219 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_fro

[Mesa-dev] [PATCH v3 26/30] nvir/nir: implement nir_intrinsic_load_ubo

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 905a18d9d9

[Mesa-dev] [PATCH v3 27/30] nvir/nir: implement ssbo intrinsics

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 97 ++ 1 file changed, 97 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index fe06b4ee8c

[Mesa-dev] [PATCH v3 28/30] nvir/nir: implement images

2018-01-07 Thread Karol Herbst
v3: fix compiler warnings Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 287 +++-- 1 file changed, 269 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau

[Mesa-dev] [PATCH v3 29/30] nvir/nir: add memory barriers

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 0c19cb953d

[Mesa-dev] [PATCH v3 30/30] nvir/nir: implement load_per_vertex_output

2018-01-07 Thread Karol Herbst
Signed-off-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 30 ++ 1 file changed, 30 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 08490a39e9

Re: [Mesa-dev] [PATCH v3 00/30] Nir support for Nouveau

2018-01-07 Thread Karol Herbst
On Sun, Jan 7, 2018 at 9:51 PM, Ilia Mirkin wrote: > On Sun, Jan 7, 2018 at 3:42 PM, Karol Herbst wrote: >> significant changes to last series: >> * disable support for 64 bit types >> * fix tessellation shader bugs >> * assume vec4 elements for variable index ar

Re: [Mesa-dev] radeonsi nir arb_vertex_attrib_64bit fixes

2018-01-08 Thread Karol Herbst
thanks for the three first patches. They seem like they could make it a bit easier for me to implement this in nouveau, but I don't know when I will have the chance to look into that, because I want to fix 64 bit stuff in general first. On Mon, Jan 8, 2018 at 1:35 AM, Timothy Arceri wrote: > This

[Mesa-dev] [PATCH] mesa/st: translate SO info in glsl_to_nir() case

2018-01-08 Thread Karol Herbst
-feedback-type-and-size Signed-off-by: Rob Clark Tested-by: Karol Herbst Cc: Rob Clark Cc: Timothy Arceri --- src/mesa/state_tracker/st_program.c | 61 ++--- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_program.c b/src

<    1   2   3   4   5   6   7   8   9   10   >