Hi there,
2018-04-22 15:36 GMT+02:00 Stefan Schake :
> On Sun, Apr 22, 2018 at 1:11 PM, Mauro Rossi
> wrote:
> > Fix for build errors in src/gallium/auxiliary/util/u_
> debug_stack_android.cpp
> > error: cast to 'void *' from smaller integer type pid_t
> >
> > Fixes: ff904978a1 ("gallium/util:
We will use the helper while simplifying potential loop terminators
in the following patch.
---
src/compiler/nir/nir_loop_analyze.c | 15 ++-
src/compiler/nir/nir_loop_analyze.h | 11 +++
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_binning.c | 14 +-
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_binning.c
b/src/gallium/drivers/radeonsi/si_state_binning.c
index 9948a95488c..6d07492ced7 100644
---
This pass detects potential loop terminators and moves intructions
from the non breaking branch after the if.
This enables both the new opt_if_simplification() pass and loop
unrolling to potentially progress further.
Unexpectedly this change speed up shader-db run times by ~3%
Ivy Bridge
From: Marek Olšák
---
.../drivers/radeonsi/si_state_binning.c | 20 +--
1 file changed, 1 insertion(+), 19 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_binning.c
b/src/gallium/drivers/radeonsi/si_state_binning.c
index c49f7c7177f..5c794376753 100644
From: Marek Olšák
same as amdvlk.
---
src/gallium/drivers/radeonsi/si_gfx_cs.c | 1 -
src/gallium/drivers/radeonsi/si_pipe.h| 1 -
src/gallium/drivers/radeonsi/si_state_draw.c | 31 ---
.../drivers/radeonsi/si_state_shaders.c | 26
4 files
From: Marek Olšák
This is based on our docs (recently updated), not amdvlk.
---
.../drivers/radeonsi/si_state_binning.c | 73 ++-
1 file changed, 38 insertions(+), 35 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_binning.c
From: Marek Olšák
This may not be needed yet, but let's set it now.
---
src/gallium/drivers/radeonsi/si_state_binning.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_binning.c
b/src/gallium/drivers/radeonsi/si_state_binning.c
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_gfx_cs.c | 1 +
src/gallium/drivers/radeonsi/si_pipe.h | 1 +
src/gallium/drivers/radeonsi/si_state_draw.c | 16 ++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_binning.c | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_binning.c
b/src/gallium/drivers/radeonsi/si_state_binning.c
index 2605b59bbef..895374e4f42 100644
---
From: Marek Olšák
This might improve performance on Vega10 and Raven.
---
src/gallium/drivers/radeonsi/si_state.h | 46 --
src/gallium/drivers/radeonsi/si_state_draw.c | 64
2 files changed, 81 insertions(+), 29 deletions(-)
diff --git
From: Marek Olšák
This was missed when adding CLIPVERTEX support into GS & tess.
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index
From: Marek Olšák
They have a different frequency of updates and don't change when scissors
change.
I think this even fixes something in si_update_vs_viewport_state.
---
src/gallium/drivers/radeonsi/si_gfx_cs.c | 1 +
src/gallium/drivers/radeonsi/si_state.c | 9 +++--
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_pipe.h | 17 +
src/gallium/drivers/radeonsi/si_state_draw.c| 11 +++
src/gallium/drivers/radeonsi/si_state_shaders.c | 6 ++
.../drivers/radeonsi/si_state_viewport.c| 2 +-
4 files changed,
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state.c | 4 +-
src/gallium/drivers/radeonsi/si_state_draw.c | 13 +--
.../drivers/radeonsi/si_state_shaders.c | 106 +-
.../drivers/radeonsi/si_state_viewport.c | 13 +--
4 files changed, 61
There are a lot of small improvements and some fixes.
Vega10 & Raven might have improved performance, because this
implements the alternative scissor workaround.
The guardband registers are moved into a separate state atom, because
the coupling with scissor states didn't make much sense.
We
From: Marek Olšák
RADV might wanna use this helper too.
---
src/amd/common/ac_llvm_build.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index 4eebbbd4d9d..0a52c1d68bb 100644
---
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
index 1c244fa3c04..24bb89bada7 100644
---
---
src/amd/vulkan/radv_pipeline.c | 2 -
src/amd/vulkan/radv_shader.c | 2 -
src/compiler/glsl/gl_nir_lower_atomics.c | 2 -
src/compiler/glsl/gl_nir_lower_samplers.c | 2 -
src/compiler/glsl/gl_nir_lower_samplers_as_deref.c |
System values are never arrays or structs so we can assume a direct var
deref. This simplifies things a bit and prevents us from accidentally
throwing away an array index.
Suggested-by: Caio Marcelo de Oliveira Filho
Reviewed-by: Caio Marcelo de Oliveira Filho
---
Note that this patch needs to come late in the series since this pass
can be run after any pass that damages nir_metadata_loop_analysis.
---
src/compiler/nir/nir_loop_analyze.c | 56 -
1 file changed, 56 deletions(-)
diff --git
From: Rob Clark
Useful in a few other places.. let's not copy-pasta
Signed-off-by: Rob Clark
---
src/compiler/nir/nir.h | 6 ++
src/compiler/nir/nir_propagate_invariant.c | 14 --
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git
From: Rob Clark
Signed-off-by: Rob Clark
---
.../drivers/freedreno/ir3/ir3_compiler_nir.c | 51 +++---
src/gallium/drivers/freedreno/ir3/ir3_nir.c| 4 +-
.../freedreno/ir3/ir3_nir_lower_tg4_to_tex.c | 4 +-
3 files changed, 29 insertions(+), 30
This completely reworks the pass to support deref instructions and
delete support for old deref chains
---
src/compiler/nir/nir_lower_locals_to_regs.c| 188 ++---
.../drivers/freedreno/ir3/ir3_compiler_nir.c | 4 +-
src/intel/compiler/brw_nir.c
From: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_shader_info.c | 106 --
1 file changed, 9 insertions(+), 97 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index 5ef7d74..8026cca 100644
---
From: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_meta_bufimage.c | 40 +--
src/amd/vulkan/radv_meta_fast_clear.c | 10 -
src/amd/vulkan/radv_meta_resolve_cs.c | 10 -
3 files changed, 30 insertions(+), 30 deletions(-)
diff --git
From: Bas Nieuwenhuizen
---
src/gallium/drivers/radeonsi/si_shader_nir.c | 74 ++--
1 file changed, 59 insertions(+), 15 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index b4fba8b..21551a7 100644
From: Bas Nieuwenhuizen
---
src/gallium/drivers/radeonsi/si_shader_nir.c | 34
1 file changed, 4 insertions(+), 30 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 21551a7..c46d0ab 100644
Now that it's rewritten for deref instructions, we can turn it back on.
---
src/gallium/drivers/freedreno/ir3/ir3_nir.c | 2 +-
src/intel/compiler/brw_nir.c| 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir.c
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 404 +---
1 file changed, 50 insertions(+), 354 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 60ac8c4..38d6b31 100644
---
From: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_meta.c| 20 +++-
src/amd/vulkan/radv_meta_blit.c | 30 +-
src/amd/vulkan/radv_meta_blit2d.c | 21 +
src/amd/vulkan/radv_meta_bufimage.c | 22
From: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_shader_info.c | 40 ---
1 file changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index 7dd158d..448babb 100644
---
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 207 +++-
1 file changed, 160 insertions(+), 47 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index de47790..3bf2065 100644
---
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 26 +-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 3bf2065..ed24a47 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++
From: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_shader_info.c | 60 +++
1 file changed, 55 insertions(+), 5 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index 448babb..5ef7d74 100644
---
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 33 +++--
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index ed24a47..60ac8c4 100644
---
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 130 ++--
1 file changed, 97 insertions(+), 33 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 351ec1e..de47790 100644
---
From: Bas Nieuwenhuizen
v2: Store the result in ctx->ssa_defs.
---
src/amd/common/ac_nir_to_llvm.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index b77d62a..3879723 100644
---
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 58 ++---
1 file changed, 43 insertions(+), 15 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 3879723..afac8f0 100644
---
---
src/compiler/nir/nir_opt_copy_prop_vars.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c
b/src/compiler/nir/nir_opt_copy_prop_vars.c
index 2e1a2e0..bf3b793 100644
--- a/src/compiler/nir/nir_opt_copy_prop_vars.c
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 25 ++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 5d251d9..351ec1e 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++
From: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 39 +++
src/amd/vulkan/radv_shader_info.c | 13 +
2 files changed, 44 insertions(+), 8 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
---
src/compiler/nir/nir_split_per_member_structs.c | 86 +
1 file changed, 3 insertions(+), 83 deletions(-)
diff --git a/src/compiler/nir/nir_split_per_member_structs.c
b/src/compiler/nir/nir_split_per_member_structs.c
index 8fd51f1..8235531 100644
---
---
src/compiler/nir/nir_opt_copy_prop_vars.c | 316 ++
1 file changed, 146 insertions(+), 170 deletions(-)
diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c
b/src/compiler/nir/nir_opt_copy_prop_vars.c
index bf3b793..f96bcb9 100644
---
---
src/compiler/nir/nir_opt_undef.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/nir/nir_opt_undef.c b/src/compiler/nir/nir_opt_undef.c
index 1439ca9..5c07bb7 100644
--- a/src/compiler/nir/nir_opt_undef.c
+++ b/src/compiler/nir/nir_opt_undef.c
@@ -109,7
---
src/compiler/nir/nir_split_var_copies.c | 216 +---
1 file changed, 6 insertions(+), 210 deletions(-)
diff --git a/src/compiler/nir/nir_split_var_copies.c
b/src/compiler/nir/nir_split_var_copies.c
index bcd1f10..98e05c9 100644
---
---
src/compiler/nir/nir_lower_var_copies.c | 140 ++--
1 file changed, 8 insertions(+), 132 deletions(-)
diff --git a/src/compiler/nir/nir_lower_var_copies.c
b/src/compiler/nir/nir_lower_var_copies.c
index 227d467..17ec113 100644
---
---
src/compiler/nir/nir_propagate_invariant.c | 14 +++---
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/compiler/nir/nir_propagate_invariant.c
b/src/compiler/nir/nir_propagate_invariant.c
index 63340c4..9d17bdb 100644
---
---
src/compiler/nir/nir_remove_dead_variables.c | 86 +---
1 file changed, 3 insertions(+), 83 deletions(-)
diff --git a/src/compiler/nir/nir_remove_dead_variables.c
b/src/compiler/nir/nir_remove_dead_variables.c
index 419..acb1540 100644
---
---
src/compiler/nir/nir_lower_drawpixels.c | 18 +-
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/src/compiler/nir/nir_lower_drawpixels.c
b/src/compiler/nir/nir_lower_drawpixels.c
index 05131af..f8feceb 100644
--- a/src/compiler/nir/nir_lower_drawpixels.c
+++
---
src/compiler/nir/nir_opt_peephole_select.c | 13 ++---
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/compiler/nir/nir_opt_peephole_select.c
b/src/compiler/nir/nir_opt_peephole_select.c
index 608701a..51c03a1 100644
--- a/src/compiler/nir/nir_opt_peephole_select.c
---
src/compiler/nir/nir_lower_tex.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c
index 449b92f..da7f82c 100644
--- a/src/compiler/nir/nir_lower_tex.c
+++ b/src/compiler/nir/nir_lower_tex.c
@@
---
src/compiler/nir/nir_lower_wpos_center.c | 13 ++---
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/compiler/nir/nir_lower_wpos_center.c
b/src/compiler/nir/nir_lower_wpos_center.c
index 5b68cac..26f2b5d 100644
--- a/src/compiler/nir/nir_lower_wpos_center.c
+++
---
src/compiler/nir/nir_linking_helpers.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/compiler/nir/nir_linking_helpers.c
b/src/compiler/nir/nir_linking_helpers.c
index 1a0cb91..1323475 100644
--- a/src/compiler/nir/nir_linking_helpers.c
+++
---
src/compiler/nir/nir_lower_system_values.c | 24 +++-
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/src/compiler/nir/nir_lower_system_values.c
b/src/compiler/nir/nir_lower_system_values.c
index 0f27d03..d2abc65 100644
---
It's only used by the ir3 stand-alone compiler and Rob said we could
delete it.
---
src/compiler/Makefile.sources | 1 -
src/compiler/nir/meson.build| 1 -
src/compiler/nir/nir.h | 1 -
src/compiler/nir/nir_lower_io_types.c
This deletes support for _var intrinsics and legacy deref chains in
favor of deref instructions. The internals are also reworked a bit to
use deref instructions directly.
---
src/compiler/nir/nir_lower_io.c | 105 ++--
1 file changed, 37 insertions(+), 68
---
src/compiler/nir/nir_lower_phis_to_scalar.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/compiler/nir/nir_lower_phis_to_scalar.c
b/src/compiler/nir/nir_lower_phis_to_scalar.c
index 6cb9420..46f308e 100644
--- a/src/compiler/nir/nir_lower_phis_to_scalar.c
---
src/compiler/nir/nir_lower_wpos_ytransform.c | 38 ++--
1 file changed, 2 insertions(+), 36 deletions(-)
diff --git a/src/compiler/nir/nir_lower_wpos_ytransform.c
b/src/compiler/nir/nir_lower_wpos_ytransform.c
index 6212702..7b20f8a 100644
---
---
src/compiler/glsl/gl_nir_lower_atomics.c | 146 +--
1 file changed, 2 insertions(+), 144 deletions(-)
diff --git a/src/compiler/glsl/gl_nir_lower_atomics.c
b/src/compiler/glsl/gl_nir_lower_atomics.c
index 4d1add4..25b2ec8 100644
---
No one is currently using so we can make this change irrespective of
driver. We may use it again in i965 so it's best to pretend to keep it
working.
---
src/compiler/nir/nir_lower_io.c | 50 ++---
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git
---
src/compiler/nir/nir_lower_clamp_color_outputs.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_lower_clamp_color_outputs.c
b/src/compiler/nir/nir_lower_clamp_color_outputs.c
index ec39848..499fce3 100644
---
---
src/compiler/nir/nir_lower_global_vars_to_local.c | 22 --
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/src/compiler/nir/nir_lower_global_vars_to_local.c
b/src/compiler/nir/nir_lower_global_vars_to_local.c
index 14aa366..9ca4aad 100644
---
---
src/compiler/nir/nir_lower_alpha_test.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_lower_alpha_test.c
b/src/compiler/nir/nir_lower_alpha_test.c
index 776655a..8dc2fc7 100644
--- a/src/compiler/nir/nir_lower_alpha_test.c
+++
---
.../nir/nir_lower_clip_cull_distance_arrays.c | 54 +-
1 file changed, 2 insertions(+), 52 deletions(-)
diff --git a/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c
b/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c
index 69b31d5..3c1a092 100644
---
This commit reworks nir_lower_vars_to_ssa to use deref instructions and
deref paths internally instead of deref chains. We also drop support
for the old load/store/copy_var intrinsics.
---
src/compiler/nir/nir_lower_vars_to_ssa.c | 336 ++-
1 file changed, 152
This makes us build the is_direct parameter as the nodes are constructed
rather than as we walk the chain. This will be useful later.
---
src/compiler/nir/nir_lower_vars_to_ssa.c | 41 +++-
1 file changed, 25 insertions(+), 16 deletions(-)
diff --git
---
src/compiler/nir/nir_lower_indirect_derefs.c | 163 +--
1 file changed, 2 insertions(+), 161 deletions(-)
diff --git a/src/compiler/nir/nir_lower_indirect_derefs.c
b/src/compiler/nir/nir_lower_indirect_derefs.c
index d91509d..0c8861e 100644
---
---
src/compiler/nir/nir_gather_info.c | 42 +-
1 file changed, 14 insertions(+), 28 deletions(-)
diff --git a/src/compiler/nir/nir_gather_info.c
b/src/compiler/nir/nir_gather_info.c
index fad6c70..f16f105 100644
--- a/src/compiler/nir/nir_gather_info.c
+++
From: Rob Clark
Signed-off-by: Rob Clark
---
src/compiler/Makefile.sources| 1 -
src/compiler/glsl/gl_nir.h | 2 -
src/compiler/glsl/gl_nir_lower_samplers_legacy.c | 163 ---
src/compiler/glsl/meson.build|
From: Rob Clark
Signed-off-by: Rob Clark
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp
b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 9cdb72c..683db74 100644
---
From: Rob Clark
This also removes the legacy version of lower_samplers.
Signed-off-by: Rob Clark
---
src/compiler/glsl/gl_nir_lower_samplers_as_deref.c | 182 +
src/mesa/state_tracker/st_glsl_to_nir.cpp | 6 +-
2 files changed, 120 insertions(+), 68 deletions(-)
From: Eric Anholt
---
src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
b/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
index 1085243..92b9e89 100644
---
From: Rob Clark
vc4+vc5 is not really effected by the deref chain to deref instr
conversion, so it no longer needs this pass. For others, now that
all the passes mesa/st uses are using deref instructions, push the
lowering to deref chains back into driver.
Signed-off-by: Rob Clark
---
From: Rob Clark
Signed-off-by: Rob Clark
---
src/compiler/nir/nir_lower_io_arrays_to_elements.c | 160 +++--
src/mesa/state_tracker/st_glsl_to_nir.cpp | 4 +-
2 files changed, 83 insertions(+), 81 deletions(-)
diff --git
From: Rob Clark
Not required for correctness, and makes the order of converting passes
to deref instructions hard to get right for both prog_to_nir and
glsl_to_nir cases.
Signed-off-by: Rob Clark
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 +-
1 file changed, 1 insertion(+), 1
From: Rob Clark
Signed-off-by: Rob Clark
---
src/amd/vulkan/radv_pipeline.c| 4 +-
src/compiler/nir/nir_lower_io_to_scalar.c | 92 +++
src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 +-
3 files changed, 49 insertions(+), 49 deletions(-)
diff --git
From: Rob Clark
Signed-off-by: Rob Clark
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 +-
src/mesa/state_tracker/st_nir_lower_builtin.c | 64 ---
2 files changed, 41 insertions(+), 26 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp
From: Rob Clark
Signed-off-by: Rob Clark
---
src/amd/vulkan/radv_pipeline.c| 2 ++
src/amd/vulkan/radv_shader.c | 2 --
src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 +--
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/amd/vulkan/radv_pipeline.c
---
src/compiler/nir/nir.c | 63 --
src/compiler/nir/nir.h | 3 --
src/compiler/nir/nir_lower_constant_initializers.c | 57 +---
3 files changed, 39 insertions(+), 84 deletions(-)
diff --git
---
src/compiler/nir/nir_builder.h | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h
index 6a40e84..189a441 100644
--- a/src/compiler/nir/nir_builder.h
+++
We change glsl_to_nir to provide derefs for bot textures and samplers
while we're at it. This makes the lowering much easier since we only
either replace sources or remove them.
---
src/compiler/glsl/gl_nir_lower_samplers.c | 150 +-
src/compiler/glsl/glsl_to_nir.cpp
Everything else should already be handled.
---
src/intel/compiler/brw_nir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
index a4cbec8..d9642c7 100644
--- a/src/intel/compiler/brw_nir.c
+++
This little refactor makes us stop passing stage around and puts the
builder as the first parameter to some functions.
---
src/compiler/glsl/gl_nir_lower_samplers.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/compiler/glsl/gl_nir_lower_samplers.c
https://bugs.freedesktop.org/show_bug.cgi?id=106748
Marek Olšák changed:
What|Removed |Added
Resolution|--- |FIXED
Status|NEW
From: Rob Clark
To simplify the transition, and make things bisectable, split out a
legacy copy or lower_samplers. This way the i965 and gallium drivers
can independently switch over to deref instructions.
Since the lower_samplers_as_deref pass is only used by gallium drivers,
it can be
---
src/intel/vulkan/anv_nir_lower_ycbcr_textures.c | 34 ++---
src/intel/vulkan/anv_pipeline.c | 6 ++---
2 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/src/intel/vulkan/anv_nir_lower_ycbcr_textures.c
Since we had to rewrite the deref walking loop anyway, I took the
opportunity to make it a bit clearer and more efficient. In particular,
in the AoA case, we will now emit one minmax instead of one per array
level.
---
src/intel/compiler/brw_fs.h | 2 +-
src/intel/compiler/brw_fs_nir.cpp
---
src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 149 ---
src/intel/vulkan/anv_pipeline.c | 3 -
2 files changed, 78 insertions(+), 74 deletions(-)
diff --git a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c
---
src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 46 +++-
1 file changed, 12 insertions(+), 34 deletions(-)
diff --git a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c
b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c
index d5a08f7..87d9a91 100644
---
Reviewed-by: Caio Marcelo de Oliveira Filho
---
src/intel/vulkan/anv_nir_lower_multiview.c | 17 +
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/src/intel/vulkan/anv_nir_lower_multiview.c
b/src/intel/vulkan/anv_nir_lower_multiview.c
index 6822595..bde7aad 100644
---
src/intel/vulkan/anv_nir_lower_input_attachments.c | 31 +++---
src/intel/vulkan/anv_pipeline.c| 6 ++---
2 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/src/intel/vulkan/anv_nir_lower_input_attachments.c
This commit completely reworks function calls in NIR. Instead of having
a set of variables for the parameters and return value, nir_call_instr
now has simply has a number of sources which get mapped to load_param
intrinsics inside the functions. It's up to the client API to build an
ABI on top
nir_tex_instr_create uses rzalloc so it's already NULL
---
src/intel/blorp/blorp_blit.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index c3a093c..b144bdd 100644
--- a/src/intel/blorp/blorp_blit.c
+++
Now that pointers can be derefs and derefs just produce SSA values, we
can convert any pointer to/from SSA.
---
src/compiler/spirv/vtn_variables.c | 73 ++
1 file changed, 42 insertions(+), 31 deletions(-)
diff --git a/src/compiler/spirv/vtn_variables.c
---
src/compiler/spirv/vtn_cfg.c | 4 ++--
src/compiler/spirv/vtn_private.h | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compiler/spirv/vtn_cfg.c b/src/compiler/spirv/vtn_cfg.c
index 089420d..8b240a0 100644
--- a/src/compiler/spirv/vtn_cfg.c
+++
We were only initializing vtn_builder::func for the pre-walk where we
build the CFG. We were only initializing the nir_builder for the later
walk through the instructions even though were were setting b->cursor
for the pre-walk. Let's set both both places so that everything is
consistent. This
This commit removes most of the deref instruction lowering. Instead of
lowering early, we only lower textures and images and we only do so
right before any of the anv image lowering passes.
---
src/intel/vulkan/anv_pipeline.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
Push constants have been a weird edge-case for a while in that they have
explitic offsets but we've been internally building access chains for
them. This mostly works but it means that passing pointers to push
constants through as function arguments is broken. The easy thing to do
for now is to
Reviewed-by: Caio Marcelo de Oliveira Filho
---
src/intel/blorp/blorp.c | 2 --
src/intel/compiler/brw_nir.c| 2 ++
src/mesa/drivers/dri/i965/brw_program.c | 5 ++---
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/intel/blorp/blorp.c
1 - 100 of 285 matches
Mail list logo