On Mon, Feb 1, 2016 at 11:48 AM, Rob Clark wrote:
> On Mon, Feb 1, 2016 at 11:00 AM, Connor Abbott wrote:
>> On Sun, Jan 31, 2016 at 3:16 PM, Rob Clark wrote:
>>> From: Rob Clark
>>>
>>> Signed-off-by: Rob Clark
>>> ---
>>> src/com
On Tue, Feb 2, 2016 at 1:07 PM, Rob Clark wrote:
> From: Rob Clark
>
> Handled by tgsi_emulate for glsl->tgsi case.
>
> Signed-off-by: Rob Clark
> ---
> src/compiler/Makefile.sources| 1 +
> src/compiler/nir/nir.h | 1 +
> src/compiler/nir/nir_l
ock_index |
> + nir_metadata_dominance);
> +}
> +
> +void nir_lower_passthrough_edgeflags(nir_shader *shader)
> +{
> + lower_state state = {
> + .shader = shader,
> + };
> +
> + nir_foreach_function(shader, function) {
> good to push patch 1 and 2, that were reviewed but not pushed on master.
>
> BR
Whoops, sorry! I've pushed 1 and 2. It seems like I never responded to
Jason's comments :( so I'll go back and try to sort it out.
>
> On 15/11/15 03:59, Connor Abbott wrote
Reviewed-by: Connor Abbott
FWIW, in this area, another place where we unnecessarily introduce
dependencies between instructions is when multiple instructions write
to different parts of a virtual register, for example when setting up
message headers. Instead of tracking dependencies per-vgrf, we
Did you make sure the other drivers and ttn don't use this? Assming that,
Reviewed-by: Connor Abbott
I really should get to your other series, but I've been busy with
school stuff and whatnot and I've been too lazy -- sorry!
On Tue, Feb 9, 2016 at 8:08 PM, Jason Ekstrand wrote:
This seems a little ugly to me. Since these ops are just moving bits
around, maybe we should just convert the float64 src/dest to uint64?
We do this for other opcodes that just shuffle bits around.
On Mon, Mar 21, 2016 at 8:06 AM, Samuel Iglesias Gonsálvez
wrote:
> From: Iago Toral Quiroga
>
> S
On Fri, Apr 1, 2016 at 4:56 AM, Samuel Iglesias Gonsálvez
wrote:
> On 31/03/16 17:16, Connor Abbott wrote:
>> This seems a little ugly to me. Since these ops are just moving bits
>> around, maybe we should just convert the float64 src/dest to uint64?
>> We do this for ot
On Tue, Apr 12, 2016 at 11:39 AM, Jason Ekstrand wrote:
>
> On Apr 11, 2016 9:49 AM, "Ben Widawsky" wrote:
>>
>> This will fix the spurious error message: "Failed to query GPU
>> properties."
>> that was unintentionally added in cc01b63d730.
>>
>> This patch changes the function to return an int
I'm not sure I'm so comfortable with this. For one, this is the sort
of thing the backend can (and should) do. Why should be be adding
stuff at the NIR level to help the backend's copy propagation pass?
And perhaps more importantly, why should we be adding stuff at the NIR
level to workaround the l
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir.c | 42 ++
1 file changed, 14 insertions(+), 28 deletions(-)
diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c
index ea8aa88..95d644a 100644
--- a/src/compiler/nir/nir.c
+++ b/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_phis_to_scalar.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_lower_phis_to_scalar.c
b/src/compiler/nir/nir_lower_phis_to_scalar.c
index 026c866..38f3dda 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_alu_to_scalar.c | 18 ++
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/src/compiler/nir/nir_lower_alu_to_scalar.c
b/src/compiler/nir/nir_lower_alu_to_scalar.c
index e8ba640..f8e94c5 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_inline_functions.c | 53 ++---
1 file changed, 23 insertions(+), 30 deletions(-)
diff --git a/src/compiler/nir/nir_inline_functions.c
b/src/compiler/nir/nir_inline_functions.c
index 4a08dcc..85f0ff4 100644
--- a
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_gcm.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_opt_gcm.c b/src/compiler/nir/nir_opt_gcm.c
index a8779ce..bfc8763 100644
--- a/src/compiler/nir/nir_opt_gcm.c
+++ b/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_var_copies.c | 34 +++--
1 file changed, 15 insertions(+), 19 deletions(-)
diff --git a/src/compiler/nir/nir_lower_var_copies.c
b/src/compiler/nir/nir_lower_var_copies.c
index c994f0f..4feb54b 100644
--- a
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_clip.c | 50 ---
1 file changed, 21 insertions(+), 29 deletions(-)
diff --git a/src/compiler/nir/nir_lower_clip.c
b/src/compiler/nir/nir_lower_clip.c
index c711230..09a9022 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_peephole_select.c | 37 +++---
1 file changed, 14 insertions(+), 23 deletions(-)
diff --git a/src/compiler/nir/nir_opt_peephole_select.c
b/src/compiler/nir/nir_opt_peephole_select.c
index bad9dc4..41df4e4 100644
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_dce.c | 33 +
1 file changed, 13 insertions(+), 20 deletions(-)
diff --git a/src/compiler/nir/nir_opt_dce.c b/src/compiler/nir/nir_opt_dce.c
index 32436c1..f3da307 100644
--- a/src/compiler/nir
ly opt_select_peephole needs it.
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir.c | 186 +
src/compiler/nir/nir.h | 57 ---
2 files changed, 159 insertions(+), 84 deletions(-)
diff --git a/src/compiler/nir/nir.c b/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_indirect_derefs.c | 39
1 file changed, 17 insertions(+), 22 deletions(-)
diff --git a/src/compiler/nir/nir_lower_indirect_derefs.c
b/src/compiler/nir/nir_lower_indirect_derefs.c
index 62b8c84..e732986
done, but I'd like to get it in as soon as possible
to avoid rebase hell.
Piglit tested on i965, but only compile tested on vc4 and freedreno.
Finally, the series is also available at:
git://people.freedesktop.org/~cwabbott0/mesa nir-foreach-block-rewrite
Connor Abbott (47):
nir: rewrit
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_phi_builder.c | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/compiler/nir/nir_phi_builder.c
b/src/compiler/nir/nir_phi_builder.c
index a39e360..9a96f84 100644
--- a/src/compiler/nir/nir_phi_builder.c
Signed-off-by: Connor Abbott
---
.../nir/nir_lower_outputs_to_temporaries.c | 28 ++
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/src/compiler/nir/nir_lower_outputs_to_temporaries.c
b/src/compiler/nir/nir_lower_outputs_to_temporaries.c
index
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_tex.c | 58 +++-
1 file changed, 28 insertions(+), 30 deletions(-)
diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c
index 4999603..7eebd6b 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_move_vec_src_uses_to_dest.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/compiler/nir/nir_move_vec_src_uses_to_dest.c
b/src/compiler/nir/nir_move_vec_src_uses_to_dest.c
index b5186e6..ccf1082 100644
--- a
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_global_vars_to_local.c | 38 ++-
1 file changed, 16 insertions(+), 22 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 7b4cd4e
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_vars_to_ssa.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c
b/src/compiler/nir/nir_lower_vars_to_ssa.c
index 9f9e454..4967837 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/gallium/drivers/vc4/vc4_nir_lower_blend.c | 9 -
src/gallium/drivers/vc4/vc4_nir_lower_io.c | 20 +---
src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c | 24 +++-
src/gallium/drivers/vc4/vc4_program.c
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_algebraic.py | 34 ++
1 file changed, 14 insertions(+), 20 deletions(-)
diff --git a/src/compiler/nir/nir_algebraic.py
b/src/compiler/nir/nir_algebraic.py
index d05564f..ef07505 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_dominance.c | 160 +++
1 file changed, 59 insertions(+), 101 deletions(-)
diff --git a/src/compiler/nir/nir_dominance.c b/src/compiler/nir/nir_dominance.c
index d95f396..6b5e2c1 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
.../drivers/freedreno/ir3/ir3_nir_lower_if_else.c | 51 +-
1 file changed, 21 insertions(+), 30 deletions(-)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
b/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_remove_phis.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/compiler/nir/nir_opt_remove_phis.c
b/src/compiler/nir/nir_opt_remove_phis.c
index 6461837..4158ee4 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_two_sided_color.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_lower_two_sided_color.c
b/src/compiler/nir/nir_lower_two_sided_color.c
index c7fb67e..6494b5f 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_system_values.c | 27 +++
1 file changed, 11 insertions(+), 16 deletions(-)
diff --git a/src/compiler/nir/nir_lower_system_values.c
b/src/compiler/nir/nir_lower_system_values.c
index 2bd787d..77cc2a4d 100644
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_io.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index d9af8bf..ef6a6ae 100644
--- a/src/compiler/nir/nir_lower_io.c
+++ b/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_from_ssa.c | 57 ++---
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/src/compiler/nir/nir_from_ssa.c b/src/compiler/nir/nir_from_ssa.c
index 82317c2..7b27fda 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_undef.c | 23 ---
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/src/compiler/nir/nir_opt_undef.c b/src/compiler/nir/nir_opt_undef.c
index 374564d..3ceb120 100644
--- a/src/compiler/nir/nir_opt_undef.c
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_validate.c | 14 --
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c
index 9f18d1c..af126f8 100644
--- a/src/compiler/nir/nir_validate.c
+++ b/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_liveness.c | 24 ++--
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/src/compiler/nir/nir_liveness.c b/src/compiler/nir/nir_liveness.c
index 05f79d7..7952751 100644
--- a/src/compiler/nir/nir_liveness.c
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_to_source_mods.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/src/compiler/nir/nir_lower_to_source_mods.c
b/src/compiler/nir/nir_lower_to_source_mods.c
index 6c4e1f0..eafab4e 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_copy_propagate.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/compiler/nir/nir_opt_copy_propagate.c
b/src/compiler/nir/nir_opt_copy_propagate.c
index d99f78d..c1a84c2 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_constant_folding.c | 29 ++---
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/compiler/nir/nir_opt_constant_folding.c
b/src/compiler/nir/nir_opt_constant_folding.c
index e64ca36..983034b
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_load_const_to_scalar.c | 18 ++
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/src/compiler/nir/nir_lower_load_const_to_scalar.c
b/src/compiler/nir/nir_lower_load_const_to_scalar.c
index b5df464..feb5dfb
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_normalize_cubemap_coords.c | 26 +++--
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/src/compiler/nir/nir_normalize_cubemap_coords.c
b/src/compiler/nir/nir_normalize_cubemap_coords.c
index 9c15eb8
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_locals_to_regs.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_lower_locals_to_regs.c
b/src/compiler/nir/nir_lower_locals_to_regs.c
index 0438802..270e9fe 100644
--- a/src/compiler
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_copy_propagate.c | 28 ++--
1 file changed, 10 insertions(+), 18 deletions(-)
diff --git a/src/compiler/nir/nir_opt_copy_propagate.c
b/src/compiler/nir/nir_opt_copy_propagate.c
index c1a84c2..782a198 100644
--- a
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_atomics.c | 36 +++-
1 file changed, 11 insertions(+), 25 deletions(-)
diff --git a/src/compiler/nir/nir_lower_atomics.c
b/src/compiler/nir/nir_lower_atomics.c
index 70381a7..9079273 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_gs_intrinsics.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_lower_gs_intrinsics.c
b/src/compiler/nir/nir_lower_gs_intrinsics.c
index 14abfe3..68eec5d 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_idiv.c | 21 +++--
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/src/compiler/nir/nir_lower_idiv.c
b/src/compiler/nir/nir_lower_idiv.c
index a084ad9..a56b1f5 100644
--- a/src/compiler/nir
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_vec_to_movs.c | 24 ++--
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/src/compiler/nir/nir_lower_vec_to_movs.c
b/src/compiler/nir/nir_lower_vec_to_movs.c
index f51cede..dc90f35 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_worklist.c | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/compiler/nir/nir_worklist.c b/src/compiler/nir/nir_worklist.c
index 3087a1d..48aab77 100644
--- a/src/compiler/nir/nir_worklist.c
+++ b/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_split_var_copies.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/compiler/nir/nir_split_var_copies.c
b/src/compiler/nir/nir_split_var_copies.c
index 6fdaefa..09c37c0 100644
--- a/src/compiler/nir
Sorry, this should be a separate fixup before the first patch. I've
fixed this locally.
On Wed, Apr 13, 2016 at 12:35 AM, Connor Abbott wrote:
> Signed-off-by: Connor Abbott
> ---
> src/compiler/nir/nir_opt_copy_propagate.c | 12
> 1 file changed, 4 insertion
Signed-off-by: Connor Abbott
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 7 +-
src/mesa/drivers/dri/i965/brw_nir.c| 90 ++
.../dri/i965/brw_nir_analyze_boolean_resolves.c| 6 +-
.../dri/i965/brw_nir_attribute_workarounds.c | 7
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_remove_dead_variables.c | 48
1 file changed, 20 insertions(+), 28 deletions(-)
diff --git a/src/compiler/nir/nir_remove_dead_variables.c
b/src/compiler/nir/nir_remove_dead_variables.c
index 6519268..4f03cbd
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_lower_samplers.c | 40 ++-
1 file changed, 11 insertions(+), 29 deletions(-)
diff --git a/src/compiler/nir/nir_lower_samplers.c
b/src/compiler/nir/nir_lower_samplers.c
index f5d3e59..457fd01 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_opt_dead_cf.c | 43 +++---
1 file changed, 21 insertions(+), 22 deletions(-)
diff --git a/src/compiler/nir/nir_opt_dead_cf.c
b/src/compiler/nir/nir_opt_dead_cf.c
index 4658b23..169d3d7 100644
--- a/src
Signed-off-by: Connor Abbott
---
src/compiler/nir/nir_repair_ssa.c | 16 +---
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/src/compiler/nir/nir_repair_ssa.c
b/src/compiler/nir/nir_repair_ssa.c
index 96c791c..f11d458 100644
--- a/src/compiler/nir/nir_repair_ssa.c
On Wed, Apr 13, 2016 at 3:24 AM, Iago Toral wrote:
> On Tue, 2016-04-12 at 13:16 -0400, Connor Abbott wrote:
>> I'm not sure I'm so comfortable with this. For one, this is the sort
>> of thing the backend can (and should) do. Why should be be adding
>> stuff at the
On Wed, Apr 13, 2016 at 11:15 AM, Jason Ekstrand wrote:
>
> On Apr 13, 2016 4:57 AM, "Rob Clark" wrote:
>>
[...]
>>
>> so, I like the new iterator macros, but this is one giant massive
>> unbisectable flag-day change :-(
>>
>> I'd prefer an approach that kept the old fxns implemented in terms of
On Wed, Apr 13, 2016 at 2:49 PM, Jason Ekstrand wrote:
>
>
> On Wed, Apr 13, 2016 at 8:15 AM, Jason Ekstrand
> wrote:
>>
>>
>> On Apr 13, 2016 4:57 AM, "Rob Clark" wrote:
>> >
>> > On Wed, Apr 13, 2016 at 12:34 AM, Connor Abbott
>&g
On Wed, Apr 13, 2016 at 3:20 PM, Jason Ekstrand wrote:
>
>
> On Wed, Apr 13, 2016 at 12:15 PM, Connor Abbott wrote:
>>
>> On Wed, Apr 13, 2016 at 2:49 PM, Jason Ekstrand
>> wrote:
>> >
>> >
>> > On Wed, Apr 13, 2016 at 8:15 AM, Jason Ekstra
On Thu, Apr 14, 2016 at 6:10 PM, Rob Clark wrote:
> From: Rob Clark
>
> Signed-off-by: Rob Clark
> Reviewed-by: Connor Abbott
> ---
> src/compiler/Makefile.sources | 1 +
> src/compiler/nir/nir.h | 7 ++
> src/compiler/nir/
This looks much better :) both patches LGTM.
On Thu, Apr 14, 2016 at 6:44 PM, Rob Clark wrote:
> From: Rob Clark
>
> Signed-off-by: Rob Clark
> Reviewed-by: Connor Abbott
> ---
> src/compiler/Makefile.sources | 1 +
> src/compiler/nir/nir.h | 7 +
On Wed, Apr 13, 2016 at 7:45 PM, Jason Ekstrand wrote:
>
>
> On Wed, Apr 13, 2016 at 2:06 PM, Connor Abbott wrote:
>>
>> On Wed, Apr 13, 2016 at 3:20 PM, Jason Ekstrand
>> wrote:
>> >
>> >
>> > On Wed, Apr 13, 2016 at 12:15 PM, Connor Abbott
On Tue, Apr 12, 2016 at 4:05 AM, Samuel Iglesias Gonsálvez
wrote:
> From: Connor Abbott
>
> v2: Move to compiler/nir (Iago)
>
> Signed-off-by: Iago Toral Quiroga
> ---
> src/compiler/Makefile.sources | 1 +
> src/compiler/nir/nir.h |
When you push this, can you make sure there are users for it so it
isn't just dead code? Either in your driver, or there are probably
several places in core NIR where we currently open-code this.
Otherwise,
Reviewed-by: Connor Abbott
On Mon, Apr 27, 2015 at 3:05 PM, Rob Clark wrote:
&
On Fri, Apr 24, 2015 at 7:32 PM, Jason Ekstrand wrote:
> This commit switches us from the current setup of using hash sets for
> use/def sets to using linked lists. Doing so should save us quite a bit of
> memory because we aren't carrying around 3 hash sets per register and 2 per
> SSA value. I
On Mon, Apr 27, 2015 at 5:25 PM, Jason Ekstrand wrote:
> On Mon, Apr 27, 2015 at 1:35 PM, Connor Abbott wrote:
>> On Fri, Apr 24, 2015 at 7:32 PM, Jason Ekstrand wrote:
>>> +struct nir_if;
>>> +
>>> typedef struct nir_src {
>>> union {
>>
On Tue, Apr 28, 2015 at 12:03 AM, Jason Ekstrand wrote:
> This commit switches us from the current setup of using hash sets for
> use/def sets to using linked lists. Doing so should save us quite a bit of
> memory because we aren't carrying around 3 hash sets per register and 2 per
> SSA value.
>> > typedef struct nir_src {
>> > union {
>> > + nir_instr *parent_instr;
>> > + struct nir_if *parent_if;
>> > + };
>> > +
>> > + struct list_head use_link;
>>
>> So I was thinking about this, and I realized that putting the list
>> link here would mean that having SSA-only sou
Typo in the subject line.
On Tue, Apr 28, 2015 at 12:03 AM, Jason Ekstrand wrote:
> ---
> src/glsl/nir/nir_validate.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/glsl/nir/nir_validate.c b/src/glsl/nir/nir_validate.c
> index a7aa798..35a853d 100644
> --- a/src/glsl/nir/nir_vali
On Tue, Apr 28, 2015 at 12:03 AM, Jason Ekstrand wrote:
> ---
> src/glsl/nir/nir_from_ssa.c | 11 +--
> src/glsl/nir/nir_lower_locals_to_regs.c | 14 ++
> src/glsl/nir/nir_lower_to_source_mods.c | 20
> src/glsl/nir/nir_lower_vars_to_ssa.c|
Based on the testing you did, it sounds like switching to linked lists
gives us some pretty good performance gains, but before we go ahead
with this you should collect some numbers using
http://anholt.net/compare-perf/ and put them on this commit message.
Comparing list vs. no-list as well as NIR v
I can't seem to find the cover email, so I'll respond to this one.
Aside from my comments on patches 11 and 13, patches 1-5 and 11-13 are
Reviewed-by: Connor Abbott
and FWIW 6-10 are
Acked-by: Connor Abbott
although what's important there are other people testing those and
On Tue, May 5, 2015 at 4:29 PM, Francisco Jerez wrote:
> ---
> src/glsl/nir/glsl_to_nir.cpp | 125
> +++
> 1 file changed, 114 insertions(+), 11 deletions(-)
>
> diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
> index f6b8331..a01a
ses the
pointer.
I don't have a preference one way or the other, and I guess we could
always refactor it later if we wanted to, so assuming Ken is OK with
this, then besides one minor comment on patch 4 the series is
Reviewed-by: Connor Abbott
On Tue, May 5, 2015 at 4:29 PM, Francisco Jerez
On Fri, May 8, 2015 at 10:30 AM, Francisco Jerez wrote:
> Connor Abbott writes:
>
>> On Tue, May 5, 2015 at 4:29 PM, Francisco Jerez
>> wrote:
>>> ---
>>> src/glsl/nir/glsl_to_nir.cpp | 125
>>> +++
>>
Makes sense.
Reviewed-by: Connor Abbott
On Fri, May 8, 2015 at 11:38 AM, Jason Ekstrand wrote:
> Previously, this case was being handled in match_expression prior to
> calling match_value. However, there is really no good reason for this
> given that match_value has all of the infor
Update the comment in patch 1, and the entire thing is
Reviewed-by: Connor Abbott
On Fri, May 8, 2015 at 12:40 PM, Francisco Jerez wrote:
> v2: Undefine coordinate components not applicable to the target.
>
> ---
> src/glsl/nir/glsl_to_n
restore it prior to matching in the commutative case below. */
Puth the */ on the next line, and this is
Reviewed-by: Connor Abbott
> + unsigned variables_seen_stash = state->variables_seen;
> +
> bool matched = true;
> for (unsigned i = 0; i < nir_op_infos[instr-&
Reviewed-by: Connor Abbott
On Fri, May 8, 2015 at 3:13 PM, Jason Ekstrand wrote:
> ---
> src/glsl/nir/nir_search.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/glsl/nir/nir_search.c b/src/glsl/nir/nir_search.c
> index 5ba0160..d86655b 100644
> --- a/src/
I found this useful while debugging some control flow bugs while working
on the dead control flow pass.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_validate.c | 21 +
1 file changed, 21 insertions(+)
diff --git a/src/glsl/nir/nir_validate.c b/src/glsl/nir
We were already doing this internally for iterating over a function
implementation, so just expose it directly.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 7 +++
src/glsl/nir/nir.h | 2 ++
2 files changed, 9 insertions(+)
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
hat the changes required were pretty minimal.
The series is also available at:
git://people.freedesktop.org/~cwabbott0/mesa nir-dead-cf-v3
Connor Abbott (9):
nir/vars_to_ssa: don't rewrite removed instructions
nir: insert ssa_undef instructions when cleanup up defs/uses
nir: add
We were rewriting the uses of the intrinsic instruction to point to
something else after removing it, which only happened to work since we
were lax about having dangling uses when removing instructions. Fix that
up.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_lower_vars_to_ssa.c | 3
e. In that case, the value that any uses get
is undefined since the instruction never actually executes, so we can
just replace the instruction with an ssa_undef_instr.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 47 ++-
1 file changed, 34 inser
Doesn't do anything on the public shader-db.
Signed-off-by: Connor Abbott
---
src/glsl/Makefile.sources | 1 +
src/mesa/drivers/dri/i965/brw_nir.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
index d784a81..7bdd895 1
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 16
src/glsl/nir/nir.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index efc3f01..e3c37dd 100644
--- a/src/glsl/nir/nir.c
+++ b/src/glsl/nir/nir.c
@@ -2097,6 +2097,22
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_opt_dead_cf.c | 96 --
1 file changed, 84 insertions(+), 12 deletions(-)
diff --git a/src/glsl/nir/nir_opt_dead_cf.c b/src/glsl/nir/nir_opt_dead_cf.c
index 17eadbd..f96bf63 100644
--- a/src/glsl/nir
) that I'd rather not expose publically.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 26 +++
src/glsl/nir/nir.h | 8 +++
src/glsl/nir/nir_opt_dead_cf.c | 150 +
3 files changed, 184 insertions(+)
create mode 1006
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_opt_dead_cf.c | 126 ++---
1 file changed, 118 insertions(+), 8 deletions(-)
diff --git a/src/glsl/nir/nir_opt_dead_cf.c b/src/glsl/nir/nir_opt_dead_cf.c
index 3fbb794..17eadbd 100644
--- a/src/glsl/nir
On Sat, May 9, 2015 at 1:52 AM, Jason Ekstrand wrote:
> On Fri, May 8, 2015 at 10:03 PM, Connor Abbott wrote:
>> The point of cleanup_defs_uses() is to make an instruction safe to
>> remove by removing any references that the rest of the shader may have
>> to it. Previo
(load_##name, extra_srcs, ARR(1), true, 0, 0, 2, flags) \
> + INTRINSIC(load_##name, extra_srcs, ARR(1), true, 0, 0, 1, flags) \
> INTRINSIC(load_##name##_indirect, extra_srcs + 1, ARR(1, 1), \
> - true, 0, 0, 2, flags)
> + true, 0, 0, 1, flags)
>
> LOAD(u
from previous commit
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index 704553f..a2b5e7c 100644
--- a/src/glsl/nir/nir.c
+++ b/src/glsl/nir/nir.c
@@ -1253,6 +1253,8 @@ nir_cf_node_r
I found this useful while debugging some control flow bugs while working
on the dead control flow pass.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_validate.c | 21 +
1 file changed, 21 insertions(+)
diff --git a/src/glsl/nir/nir_validate.c b/src/glsl/nir
ader-db doesn't crash with this series (including the last
patch), and manually tested some of the tricker cases, although it would
be a good idea to run the entire thing through the private shader-db
too.
This series is also available at
git://people.freedesktop.org/~cwabbott0/mesa nir-dead-
We were rewriting the uses of the intrinsic instruction to point to
something else after removing it, which only happened to work since we
were lax about having dangling uses when removing instructions. Fix that
up.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir_lower_vars_to_ssa.c | 3
This will be used in deleting unreachable control flow.
Signed-off-by: Connor Abbott
---
src/glsl/nir/nir.c | 45 +
src/glsl/nir/nir.h | 3 +++
2 files changed, 48 insertions(+)
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index bd4f6cc
601 - 700 of 1264 matches
Mail list logo