if (instr->type != nir_instr_type_intrinsic) continue;
> +
> +nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
> +if (intr->intrinsic != nir_intrinsic_store_deref) continue;
> +
> +nir_variable *var = nir_intrinsic_get_var(intr, 0);
This patch is:
Reviewed-by: Thomas Helland
Den ons. 20. feb. 2019 kl. 04:04 skrev Timothy Arceri :
>
> This reduces the time spent in nir_opt_cse() by almost a half.
> ---
> src/compiler/nir/nir_opt_cse.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
eref_instr_parent(d);
> + assert(glsl_type_is_array(parent->type) ||
> + glsl_type_is_matrix(parent->type));
Maybe use glsl_type_is_array_or_matrix() ?
With (or without) that this patchs looks good and is:
Reviewed-by: Thomas Helland
> +
> + return glsl_get_l
remap_table =
>_mesa_hash_table_create(NULL, _mesa_hash_pointer,
>_mesa_key_pointer_equal);
>
> - /* Set unroll_loc to the loop as we will insert the unrolled loop before
> it
> -*/
> - nir_cf_node *unroll_loc = >
op->cf_node.parent,
> + nir_before_cf_node(>cf_node),
> + remap_table);
>
> /* Clone loop header and append to the loop body */
^ Leftover comment?
Apart from that, patches 1 to 4 are
Reviewed-by: Thomas H
I've done a couple passes over the patches now.
Neatly implemented and look correct to me.
With the two small nitpicks below correct this whole series is:
Reviewed-by: Thomas Helland
Den ons. 28. nov. 2018 kl. 04:26 skrev Timothy Arceri :
>
> This adds allows loop analysis to detect indu
Den ons. 28. nov. 2018 kl. 10:23 skrev Timothy Arceri :
>
> On 28/11/18 6:52 pm, Thomas Helland wrote:
> > Den ons. 28. nov. 2018 kl. 04:26 skrev Timothy Arceri
> > :
> >>
> >> This adds allows loop analysis to detect inductions varibales that
> >> are
Den ons. 28. nov. 2018 kl. 04:26 skrev Timothy Arceri :
>
> This adds allows loop analysis to detect inductions varibales that
> are incremented in both branches of an if rather than in a main
> loop block. For example:
>
>loop {
> block block_1:
> /* preds: block_0 block_7 */
>
This patch is:
Reviewed-by: Thomas Helland
Den tir. 27. nov. 2018 kl. 06:32 skrev Timothy Arceri :
>
> This will also be used by the if merge pass in the following commit.
> ---
> src/compiler/nir/nir_opt_if.c | 45 ++-
> 1 file changed, 28 in
It seems this patch is not based on current master?
However, it is trivial enough and I like the change,
so with a rebase on current master this patch is:
Reviewed-by: Thomas Helland
Den man. 19. nov. 2018 kl. 19:33 skrev Jason Ekstrand :
>
> This makes some of the code more clear.
> -
I really like this one; its very readable =)
Reviewed-by: Thomas Helland
Den tor. 30. aug. 2018 kl. 07:37 skrev Ian Romanick :
>
> From: Ian Romanick
>
> Signed-off-by: Ian Romanick
> ---
> src/compiler/nir/meson.build| 12 +
> s
rect_load_ok,
> expensive_alu_ok))
> +#endif
Leftover testing stuff?
I like the idea of hiding expensive instructions in a branch.
However, I'm wondering if it might be an idea to let drivers
provide a callback with what instructions they want to allow?
If no other driver plan on doing somethi
Den tir. 11. sep. 2018 kl. 01:30 skrev Ian Romanick :
>
> This series implements a code-generation optimization for sign(x)*y. In
> GLSL, sign(x) is defined as:
>
> Returns 1.0 if x > 0, 0.0 if x = 0, or -1.0 if x < 0.
>
> It is silent on the NaN behavior, so I have taken it as "undefined."
Den tir. 11. sep. 2018 kl. 01:30 skrev Ian Romanick :
>
> From: Ian Romanick
>
Reviewed-by: Thomas Helland
> Signed-off-by: Ian Romanick
> ---
> src/compiler/nir/nir.h | 23 +++
> 1 file changed, 23 insertions(+)
>
> diff --git a/src/compiler/n
Den tir. 11. sep. 2018 kl. 01:30 skrev Ian Romanick :
>
> From: Ian Romanick
>
> No shader-db or CI changes on any Intel platform.
>
I'm no expert on the intel backend, but this seems trivial enough.
Reviewed-by: Thomas Helland
> Signed-off-by: Ian Romanick
> ---
to how this would impact other platforms
than intel, but I've settled on it being a wash.
Reviewed-by: Thomas Helland
> Signed-off-by: Ian Romanick
> ---
> src/compiler/nir/nir_opt_algebraic.py | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/compiler/nir/
Den tir. 11. sep. 2018 kl. 01:30 skrev Ian Romanick :
>
> From: Ian Romanick
>
Reviewed-by: Thomas Helland
> shader-db results:
>
> All Gen7+ platforms had similar results. (Skylake shown)
> total instructions in shared programs: 15106023 -> 15105981 (<.01%)
> ins
Hi Ian,
Do you have these in a branch somewhere?
Do you also have a branch somewhere of the PRE for compares?
I'll try to have a look at these, and the sign(x)*y series this evening.
I will probably only be able to review the simplest patches,
but something is probably better than nothing, I
mem_ctx a void *.
Apart from that this patch is:
Reviewed-by: Thomas Helland
> +struct util_dynarray *from_buf)
> +{
> + util_dynarray_init(buf, mem_ctx);
> + util_dynarray_resize(buf, from_buf->size);
> + memcpy(buf->data, from_buf->data, from_buf-
With the correction of the fmin/fmax pattern in this one and patch 10,
and the inot version of the pattern in patch 9 and 11,
patch 7, and 9-11 are:
Reviewed-by: Thomas Helland
I think that should be the whole series.
2018-08-03 1:38 GMT+02:00 Ian Romanick :
> On 08/02/2018 02:10 PM, Tho
2018-08-02 23:05 GMT+02:00 Thomas Helland :
> 2018-08-02 20:19 GMT+02:00 Ian Romanick :
>> From: Ian Romanick
>>
>> Unlike the much older -abs(a) >= 0.0 transformation, this is not
>> precise. The behavior changes if a is NaN.
>>
>> All Gen platforms
Patches 12 and 13 are:
Reviewed-by: Thomas Helland
2018-08-02 20:19 GMT+02:00 Ian Romanick :
> From: Ian Romanick
>
> All Gen7+ platforms had similar results. (Skylake shown)
> total instructions in shared programs: 14276886 -> 14276838 (<.01%)
> instructions in affected
This patch is:
Reviewed-by: Thomas Helland
2018-08-02 20:19 GMT+02:00 Ian Romanick :
> From: Ian Romanick
>
> All Gen platforms had pretty similar results. (Skylake shown)
> total instructions in shared programs: 14276964 -> 14276961 (<.01%)
> instructions in affected
2018-08-02 20:19 GMT+02:00 Ian Romanick :
> From: Ian Romanick
>
> All Gen6+ platforms had pretty similar results. (Skylake shown)
> total instructions in shared programs: 14277184 -> 14276964 (<.01%)
> instructions in affected programs: 10082 -> 9862 (-2.18%)
> helped: 37
> HURT: 1
> helped
@@ optimizations = [
> # a != 0.0
> (('~flt', 0.0, ('fabs', a)), ('fne', a, 0.0)),
>
> + # -fabs(a) < 0.0
> + # fabs(a) > 0.0
> + (('~flt', ('fneg', ('fabs', a)), 0.0), ('fne', a, 0.0)),
> +
I'm not sure if the machinery behind the algebraic opts
sees the
Since we're always going top-down through the
program there should be no need to "walk backwards",
so this approach should be enough to get the whole chain
of assignments in one pass. Neat.
Reviewed-by: Thomas Helland
2018-07-25 3:03 GMT+02:00 Caio Marcelo de Oliveira Filho
:
>
This is:
Reviewed-by: Thomas Helland
2018-07-25 3:03 GMT+02:00 Caio Marcelo de Oliveira Filho
:
> Now that the elements version handles both cases, remove the
> non-elements version.
>
> Reviewed-by: Eric Anholt
> ---
> src/compiler/Makefile.sources | 1 -
&g
{
> + for (int i = 0; i < 4; i++) {
> +lhs_entry->rhs_element[i] = rhs;
> +lhs_entry->rhs_channel[i] = i;
> + }
> + }
> + }
> +
> void remove_unused_var_from_dsts(acp_entry *lhs_entry, ir_variable *lhs,
> ir
2018-07-26 18:00 GMT+02:00 Jason Ekstrand :
> ---
> src/compiler/Makefile.sources | 1 +
> src/compiler/nir/meson.build | 1 +
> src/compiler/nir/nir.h| 1 +
> src/compiler/nir/nir_split_vars.c | 271 ++
> 4 files changed, 274 insertions(+)
>
This patch is:
Reviewed-by: Thomas Helland
2018-07-26 18:00 GMT+02:00 Jason Ekstrand :
> ---
> src/compiler/nir_types.cpp | 15 +++
> src/compiler/nir_types.h | 2 ++
> 2 files changed, 17 insertions(+)
>
> diff --git a/src/compiler/nir_types.cpp b/src/comp
This is already fixed in master it seems
2018-07-26 17:59 GMT+02:00 Jason Ekstrand :
> In 1beef89ad85c47fb6, we made a bunch of changes to NIR to allow for
> more than four components. This assert was added to trigger if we ever
> saw a vec16 input variable. However, it didn't take into account
This is:
Reviewed-by: Thomas Helland
2018-07-26 18:00 GMT+02:00 Jason Ekstrand :
> We weren't returning at the end of the nir_isntr_type_deref case in
> nir_instrs_equal and it was falling through to the default of false.
> While we're at it, make the default unreachable because all s
This is:
Reviewed-by: Thomas Helland
26. jul. 2018 18.04 skrev "Jason Ekstrand" :
They're all just querying things about the list and not mutating
anything.
---
src/util/list.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/util/list.h b/src/util/li
This patch is
Reviewed-by: Thomas Helland
Den tir. 17. jul. 2018, 01:40 skrev Caio Marcelo de Oliveira Filho <
caio.olive...@intel.com>:
> And also specify the maximum size when writing to static buffers. The
> warning below refers to the case where "str5" could be larg
ntry since it is not used in an
> exec_list anymore.
>
> Remove the 'var' from kill_entry since it is now redundant with the
> key of the hash table.
>
> Suggested by Eric Anholt.
These are both:
Reviewed-by: Thomas Helland
> ---
> src/compiler/glsl/opt_constant_propagation.cpp |
; GLmatrix elements and its inverse contiguously
> To: Thomas Helland <thomashellan...@gmail.com>
>
>
> 2018-04-17 8:55 GMT+03:00 Thomas Helland <thomashellan...@gmail.com>:
>> Hi, and thanks for the patch =)
>>
>> Have you done any performance testing on th
Hi, and thanks for the patch =)
Have you done any performance testing on this to verify it
gives us a speedup of any kind? I'm asking because it seems like
this might be something that a decent compiler should be able to do.
Performance related patches, at least in core mesa, usually have
some
2018-04-12 20:07 GMT+02:00 Eric Anholt <e...@anholt.net>:
> Erik Faye-Lund <kusmab...@gmail.com> writes:
>
>> On Wed, Apr 11, 2018 at 8:48 PM, Thomas Helland
>> <thomashellan...@gmail.com> wrote:
>>> This series came about when I saw a talk online
Meant for testing. Defeats some of the benefits of the implementation,
however it still seems to be better than the current hash table,
and the complexity is undeniably very low.
---
src/util/pointer_map.c | 99 +-
src/util/pointer_map.h | 1 -
2
---
src/compiler/nir/nir_lower_vars_to_ssa.c | 35
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c
b/src/compiler/nir/nir_lower_vars_to_ssa.c
index 3dfe48d6d3..988936ece8 100644
---
---
src/compiler/glsl/linker.cpp | 40 +++-
1 file changed, 19 insertions(+), 21 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index af09b7d03e..c549cac4b5 100644
--- a/src/compiler/glsl/linker.cpp
+++
---
src/compiler/nir/nir_from_ssa.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/compiler/nir/nir_from_ssa.c b/src/compiler/nir/nir_from_ssa.c
index 1aa35509b1..e38c4fafd6 100644
--- a/src/compiler/nir/nir_from_ssa.c
+++
---
src/compiler/glsl/opt_copy_propagation.cpp | 47 +-
1 file changed, 21 insertions(+), 26 deletions(-)
diff --git a/src/compiler/glsl/opt_copy_propagation.cpp
b/src/compiler/glsl/opt_copy_propagation.cpp
index 7bcd8a090b..0195dc4e40 100644
---
Should cut memory consumption approximately in half, while giving
us better cache locality and a simpler implementation.
---
src/compiler/nir/nir_propagate_invariant.c | 33 +++---
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git
new file mode 100644
index 00..8d8eff4541
--- /dev/null
+++ b/src/util/pointer_set.c
@@ -0,0 +1,266 @@
+/*
+ * Copyright © 2017 Thomas Helland
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files
---
src/compiler/nir/nir_lower_vars_to_ssa.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c
b/src/compiler/nir/nir_lower_vars_to_ssa.c
index e8cfe308d2..3dfe48d6d3 100644
--- a/src/compiler/nir/nir_lower_vars_to_ssa.c
---
src/compiler/glsl/glsl_to_nir.cpp | 31 +++
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
index 80eb15f1ab..310b678680 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++
This should simplify things, and cut the memory consumption of the
set effectively in half. Cache locality should also be better.
---
src/compiler/nir/nir_remove_dead_variables.c | 37 ++--
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git
---
src/util/pointer_map.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/src/util/pointer_map.h b/src/util/pointer_map.h
index 4bfc306a5f..f92e67d40d 100644
--- a/src/util/pointer_map.h
+++ b/src/util/pointer_map.h
@@ -91,6 +91,19 @@ _mesa_pointer_map_next_entry(struct
---
src/compiler/glsl/opt_copy_propagation.cpp | 48 ++
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/src/compiler/glsl/opt_copy_propagation.cpp
b/src/compiler/glsl/opt_copy_propagation.cpp
index 6220aa86da..7bcd8a090b 100644
---
---
src/compiler/glsl/opt_constant_variable.cpp | 34 ++---
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/compiler/glsl/opt_constant_variable.cpp
b/src/compiler/glsl/opt_constant_variable.cpp
index 914b46004c..d1d315af7a 100644
---
---
src/util/pointer_map.c | 23 +++
src/util/pointer_map.h | 3 +++
2 files changed, 26 insertions(+)
diff --git a/src/util/pointer_map.c b/src/util/pointer_map.c
index 8076bd827f..463fa19282 100644
--- a/src/util/pointer_map.c
+++ b/src/util/pointer_map.c
@@ -102,6 +102,29
a/src/util/pointer_map.c b/src/util/pointer_map.c
new file mode 100644
index 00..8076bd827f
--- /dev/null
+++ b/src/util/pointer_map.c
@@ -0,0 +1,323 @@
+/*
+ * Copyright © 2017 Thomas Helland
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of thi
---
src/compiler/glsl/ir_variable_refcount.cpp | 13 ++---
src/compiler/glsl/ir_variable_refcount.h | 4 ++--
src/compiler/glsl/opt_dead_code.cpp| 6 +++---
3 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/src/compiler/glsl/ir_variable_refcount.cpp
---
src/compiler/glsl/opt_constant_propagation.cpp | 47 --
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git a/src/compiler/glsl/opt_constant_propagation.cpp
b/src/compiler/glsl/opt_constant_propagation.cpp
index 05dc71efb7..8072bf4811 100644
---
utils,
but the patch series is simple enough, and complete enough,
that I thought I could share it for some inital comments.
CC: Timothy Arceri <tarc...@itsqueeze.com>
Thomas Helland (18):
util: Add initial pointer map implementation
glsl: Use pointer map in constant propagation
uti
---
.../glsl/opt_copy_propagation_elements.cpp | 96 +++---
1 file changed, 47 insertions(+), 49 deletions(-)
diff --git a/src/compiler/glsl/opt_copy_propagation_elements.cpp
b/src/compiler/glsl/opt_copy_propagation_elements.cpp
index 8bae424a1d..8737fe27a5 100644
---
Sorry about that. It doesn't hurt to check.
Reviewed-by: Thomas Helland <thomashellan...@gmail.com>
2018-04-05 9:35 GMT+02:00 Topi Pohjolainen <topi.pohjolai...@gmail.com>:
> However, it only fails when running out of memory. Now, if we
> are about to check that, we sh
Make a simple worklist by basically just wrapping u_vector.
This is intended used in nir_opt_dce to reduce the number of calls
to ralloc, as we are currenlty spamming ralloc quite bad. It should
also give better cache locality and much lower memory usage.
---
src/compiler/nir/nir_worklist.h | 69
Shader-db runtime change avarage of five runs:
Before 125,77 seconds (+/- 0,09%)
After 124,48 seconds (+/- 0,07%)
---
src/compiler/nir/nir_opt_dce.c | 53 ++---
src/compiler/nir/nir_worklist.h | 1 +
2 files changed, 19 insertions(+), 35 deletions(-)
net>
Thomas Helland (2):
nir: Initial implementation of a nir_instr_worklist
nir: Migrate nir_dce to instr worklist
src/compiler/nir/nir_opt_dce.c | 53 +++
src/compiler/nir/nir_worklist.h | 70 +
2 files changed, 88 inse
running both together with Dave's '[Mesa-dev] [PATCH] radv/winsys:
> replace bo list searchs with a hash table.' patch.
>
> Dieter
>
>
> Am 24.01.2018 08:33, schrieb Thomas Helland:
>>
>> 2018-01-21 23:58 GMT+01:00 Eric Anholt <e...@anholt.net>:
>>>
2018-03-14 8:13 GMT+01:00 Dave Airlie <airl...@gmail.com>:
> On 14 March 2018 at 09:22, Thomas Helland <thomashellan...@gmail.com> wrote:
>> Sending out a v2 just in case someone has any more comments.
>> If not I'll probably push these tomorrow, or thursday.
>>
V2: Don't rzalloc; we are about to rewrite the whole thing (Vladislav)
Reviewed-by: Eric Anholt
---
src/util/hash_table.c | 22 ++
src/util/hash_table.h | 2 ++
2 files changed, 24 insertions(+)
diff --git a/src/util/hash_table.c b/src/util/hash_table.c
.
Thomas Helland (2):
util: Implement a hash table cloning function
glsl: Use hash table cloning in copy propagation
src/compiler/glsl/opt_copy_propagation.cpp | 17 -
.../glsl/opt_copy_propagation_elements.cpp | 29 --
src/util/hash_table.c
Walking the whole hash table, inserting entries by hashing them first
is just a really bad idea. We can simply memcpy the whole thing.
While this does not have a major performance impact on average,
as it only helps shaders with a lot of branches, it might help
individual shaders quite a lot. For
2018-03-12 19:48 GMT+01:00 Emil Velikov <emil.l.veli...@gmail.com>:
> Hi Thomas,
>
> On 12 March 2018 at 17:55, Thomas Helland <thomashellan...@gmail.com> wrote:
>> V2: Don't rzalloc; we are about to rewrite the whole thing (Vladislav)
>> -
]: https://github.com/thohel/mesa/commits/hash-table-clone
[2]: https://github.com/thohel/mesa/commits/pointer_map
2018-03-12 18:55 GMT+01:00 Thomas Helland <thomashellan...@gmail.com>:
> This is a revival of some old patches I had around to improve
> the compile times in the g
Walking the whole hash table, inserting entries by hashing them first
is just a really bad idea. We can simply memcpy the whole thing.
---
src/compiler/glsl/opt_copy_propagation.cpp | 13 --
.../glsl/opt_copy_propagation_elements.cpp | 29 --
2 files
V2: Don't rzalloc; we are about to rewrite the whole thing (Vladislav)
---
src/util/hash_table.c | 22 ++
src/util/hash_table.h | 2 ++
2 files changed, 24 insertions(+)
diff --git a/src/util/hash_table.c b/src/util/hash_table.c
index b7421a0144..f8d5d0f88a 100644
---
if it was thoroughly
tested, so that will have to be done. Sending it out as Dave
might be interested in this to mitigate some of the overhead
his soft-dobule implementation incurs.
CC: Dave Airlie <airl...@gmail.com>
Thomas Helland (2):
util: Implement a hash table cloning function
glsl: Us
2018-03-12 5:23 GMT+01:00 Dave Airlie :
> Did anything ever comes of this series, trying some soft fp64 shaders,
> and glsl copy opt is taking 2-3 seconds on the big ones.
>
> Nearly all spent in hash table insertions.
>
> Dave.
I still have the patches around. I also have a
2018-01-31 3:38 GMT+01:00 Dave Airlie :
> On 31 January 2018 at 12:27, Dieter Nützel wrote:
>> Ping!
>
> I'm not sure this was much of a win, and if it makes things worse in some
> cases,
> then it needs a lot more investigation, so probably consider it
2018-01-21 23:58 GMT+01:00 Eric Anholt <e...@anholt.net>:
> Thomas Helland <thomashellan...@gmail.com> writes:
>
>> Also, allocate worklist_elem in groups of 20, to reduce the burden of
>> allocation. Do not use rzalloc, as there is no need. This lets us drop
>>
2017-12-02 15:49 GMT+01:00 Thomas Helland <thomashellan...@gmail.com>:
> This patch tries to reduce the number of calls to ralloc in nir_opt_dce.
> Especially with scalarized shaders we have a bunch of calls to ralloc
> in this pass, hurting us quite bad. See the commit mess
if we could allocate groups at a time also here. I'm not sure
how we can deal with that though, as it does not allocate the same
number of items each time. I'm also working on a similar approach for
the symbol table, but that is not quite ready yet.
Thomas Helland (1):
nir: Use a freelist
Also, allocate worklist_elem in groups of 20, to reduce the burden of
allocation. Do not use rzalloc, as there is no need. This lets us drop
the number of calls to ralloc from aproximately 10% of all calls to
ralloc(130 000 calls), down to a mere 2000 calls to ralloc_array_size.
This cuts the
Patches 6-10 are:
Reviewed-by: Thomas Helland <thomashellan...@gmail.com>
2017-11-02 21:25 GMT+01:00 Ian Romanick <i...@freedesktop.org>:
> From: Ian Romanick <ian.d.roman...@intel.com>
>
> I think it's more clear to only call emit_access once. The only
> di
Changes all look really good, and some performance numbers
I have for a similar patch I've written shows a marginal benefit
in compiler runtime performance (perf-stat -> cycles executed)
For patches 4 and 5.
Reviewed-by:
2. nov. 2017 21.26 skrev "Ian Romanick"
radeonsi/RX580
>>>
>>> Unigine_Heaven-4.0, Unigine_Valley-1.0, Unigine_Superposition-1.0,
>>> LS2015 (Wine-staging), Mesa-demos (objviewer)
>>>
>>> Dieter
>>>
>>> Am 22.05.2017 20:55, schrieb Thomas Helland:
>>>>
>>>>
string_buffer_test.cpp:43: error: ISO C++ forbids initialization of
member ‘str1’
string_buffer_test.cpp:43: error: making ‘str1’ static
string_buffer_test.cpp:43: error: invalid in-class initialization of
static data member of non-integral type ‘const char*’
Bugzilla:
t; rather rebase before I send them out for review. :)
>
> On 09/14/2017 03:39 PM, Thomas Helland wrote:
>> Length of the token was already calculated by flex and stored in yyleng,
>> no need to implicitly call strlen() via linear_strdup().
>>
>> Reviewed-by: Nicolai H
2017-09-21 16:34 GMT+02:00 Ian Romanick <i...@freedesktop.org>:
> From: "\"Ian Romanick\"" <i...@freedesktop.org>
>
^ Something weird going on here? Apart from that, patches 1 - 7 are:
Reviewed-by: Thomas Helland <thomashellan...@gmail.com>
The
Fixed the missing newline at the end of this cpp file locally.
This is the only patch left in the series without an RB.
If there's no objections I plan on pushing this once I get an RB on this.
Someone mind having a look at it?
2017-09-11 22:21 GMT+02:00 Thomas Helland <thomashellan...@gmail.
I've only skimmed this, but it looks trivial and correct.
This patch series is:
Reviewed-by: Thomas Helland <thomashellan...@gmail.com>
I like the idea of getting rid of some of the walks over the IR,
and have a set of patches sitting locally doing just that.
I think I got most of them re
This patch is:
Reviewed-by: Thomas Helland <thomashellan...@gmail.com>
2017-09-15 19:09 GMT+02:00 Eric Engestrom <eric.engest...@imgtec.com>:
> Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com>
> ---
> docs/submittingpatches.html | 12
>
/src/util/string_buffer.c
@@ -0,0 +1,148 @@
+/*
+ * Copyright © 2017 Thomas Helland
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction
Length of the token was already calculated by flex and stored in yyleng,
no need to implicitly call strlen() via linear_strdup().
Reviewed-by: Nicolai Hähnle
Reviewed-by: Timothy Arceri
V2: Also convert this pattern in glsl_lexer.ll
V3: Remove a misplaced comment
V4:
2017-09-14 3:29 GMT+02:00 Ian Romanick <i...@freedesktop.org>:
> On 09/11/2017 01:21 PM, Thomas Helland wrote:
>> Length of the token was already calculated by flex and stored in yyleng,
>> no need to implicitly call strlen() via linear_strdup().
>>
>> Reviewe
2017-09-14 3:32 GMT+02:00 Ian Romanick <i...@freedesktop.org>:
> On 09/11/2017 01:21 PM, Thomas Helland wrote:
>> @@ -621,12 +636,17 @@ u64vec4 KEYWORD_WITH_ALT(0, 0, 0, 0,
>> yyextra->ARB_gpu_shader_int64_enable, U64V
>> [_a-zA-Z][_a-zA-Z0-9]* {
>&
I'll look into fixing the last review comments, get me an fd-o account
and git access, and get these merged sooner rather than later.
> Dieter
>
>
> Am 11.09.2017 22:21, schrieb Thomas Helland:
>>
>> I think I should have addressed all review feedback pointed out
>> to
e8b135
--- /dev/null
+++ b/src/util/tests/string_buffer/string_buffer_test.cpp
@@ -0,0 +1,119 @@
+/*
+ * Copyright © 2017 Thomas Helland
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"
til/string_buffer.c
new file mode 100644
index 00..e43824948f
--- /dev/null
+++ b/src/util/string_buffer.c
@@ -0,0 +1,147 @@
+/*
+ * Copyright © 2017 Thomas Helland
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associa
rov...@gmail.com>
Reviewed-by: Nicolai Hähnle
V2: Adapt to different API of string buffer (Thomas Helland)
---
src/compiler/glsl/glcpp/pp.c | 25 ++---
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/src/compiler/glsl/glcpp/pp.c b/src/compiler/glsl/glcpp/pp.c
to make comments clearer
and more precise, and variable names better explaining their intet
in a couple of places. Details of changes in each patch. A big thanks
to those who have helped review this series =)
Thomas Helland (5):
util: Add a string buffer implementation
util: Add tests for the string
Length of the token was already calculated by flex and stored in yyleng,
no need to implicitly call strlen() via linear_strdup().
Reviewed-by: Nicolai Hähnle
Reviewed-by: Timothy Arceri
V2: Also convert this pattern in glsl_lexer.ll
V3: Remove a misplaced comment
Reviewed-by: Nicolai Hähnle
V2: Pointed out by Timothy
- Fix pp.c reralloc size issue and comment
V3 - Use vprintf instead of printf where we should
- Fixes failing make-check tests
V4 - Use buffer_append_char in a couple more places
---
src/compiler/glsl/glcpp/glcpp-parse.y | 195
23.00 skrev "Dieter Nützel" <die...@nuetzel-hh.de>:
For the series:
Tested-by: Dieter Nützel <die...@nuetzel-hh.de>
But do NOT apply on current git any longer.
With Nicolai's comments addressed new version underway? ;-)
Dieter
Am 29.08.2017 21:56, schrieb Thomas Hellan
2017-09-03 13:39 GMT+02:00 Dave Airlie <airl...@gmail.com>:
> On 3 September 2017 at 21:22, Thomas Helland <thomashellan...@gmail.com>
> wrote:
>> 2017-09-03 13:18 GMT+02:00 Dave Airlie <airl...@gmail.com>:
>>> From: Dave Airlie <airl...@redhat.c
Reviewed-by: Thomas Helland<thomashellan...@gmail.com>
2017-09-03 13:21 GMT+02:00 Dave Airlie <airl...@gmail.com>:
> From: Dave Airlie <airl...@redhat.com>
>
> 160->152.
>
> Signed-off-by: Dave Airlie <airl...@redhat.com>
> ---
> src/mesa/main/mtyp
1 - 100 of 516 matches
Mail list logo