Am Freitag, den 11.01.2019, 17:28 -0500 schrieb Ilia Mirkin:
> On Fri, Jan 11, 2019 at 5:12 PM Matt Turner
> wrote:
> >
> [sorry Gert, not sure how to classify you]
>
> I think the vmware team (which largely maintains llvmpipe and svga)
> is probably worth hearing from -- I believe they've large
Hello,
I'm trying to get soft-fp64 working with my experimental r600-nir
backend, and thanks to Dave's contribution it is already tied in,
some instructions are not yet supported by the backend, but when
running the piglits I have already 24 tests passing. However, there are
also 1099 test crash
Hello Matt,
Am Mittwoch, den 16.01.2019, 10:17 -0800 schrieb Matt Turner:
> any idea how to quell this would be very welcome.
>
> It's required to scalarize fp64 operations before this lowering code
> will work. It looks to me like it's trying to call __fadd64 with a
> dvec4 argument, when the a
Dear all,
I'd like to push this series [1] to enable the extension
EXT_sRGB_write control by the end of this week if there are no
objections.
I ran it trough the intel-ci [2] with only some unrelated unstable
tests.
many thanks for any reviews,
Gert
[1] https://gitlab.freedesktop.org/
Am Donnerstag, den 24.01.2019, 22:25 -0800 schrieb Stéphane Marchesin:
>
> Yes, it's for running virgl on top of GLES. To emulate fp64 in GL on
> the guest side, we need fp64 on the host...
BTW: we could also get it emulated from the guest side. When Elie (in
CC) initially proposed the fp64 emul
Hello Eric or Tapani (or anybody else working on the Intel driver),
I wonder whether one of you could give me an R-B for the Intel patch
[1] in this MR [2]. As far as I can see your CI [3] shows only
unrelated changes.
many thanks,
Gert
[1] https://gitlab.freedesktop.org/mesa/mesa/merge_req
EXT_sRGB_write_control and EXT_texture_sRGB_R8 are now supported
on all drivers that support sRGB.
Signed-off-by: Gert Wollny
CC:
---
docs/relnotes/19.0.0.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/relnotes/19.0.0.html b/docs/relnotes/19.0.0.html
index 1b4edd7ce76
> > > On Wed, Feb 13, 2019 at 11:09 AM Elie Tournier <
> > > tournier.e...@gmail.com> wrote:
> > > >
[...]
> > > > A solution would be to inline the
> > > > function in GLSL but I'm scared than the following shader will
> > > > be huge.
From my adventures in R600 Evergreen NIR land I can say tha
Hello all,
Hardware; Radeon 6850HD,
Mesa: mesa 17.0.1 and git (sha 531887),
llvm:
4.0.0
Playing a bit around with the Unreal Editor I was confronted with the
same error message reported in #99349, i.e. "Failed to build shader
(translation from TGSI).
After some digging though the code I fou
using mesa.
Many thanks for any comments,
Gert Wollny (1):
r600g: work around shaders allocating too many superflous temporaries
src/gallium/drivers/r600/r600_shader.c | 52 +++---
1 file changed, 42 insertions(+), 10 deletions(-)
--
2.13.0
___
Related bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=99349
https://bugs.freedesktop.org/show_bug.cgi?id=50338
1. Allocate ctx.temp_reg and a limited number of registers
(R600_TEMP_REG_RESERVED=10) that are given out via r600_get_temp() before
the temporaries of the TGSI are allocated. That m
Hello,
I should probably add that I don't have write access to the mesa-git.
Best,
Gert
Am Dienstag, den 30.05.2017, 14:14 +0200 schrieb Gert Wollny:
> Dear all,
>
> like I pointed out yesterday I've got a workaround for shaders that
> allocate
> too many tempor
Dear all,
(and specifically to Dave Arlie),
when looking at the TGSI code of shaders that fail on r600g because of
too many temporaries used, I notes that often their lifetime is very
short, like just assigned in one line and read the only time in the
next line.
Looking on the register-renam
m new to mesa this I have no commit rights.
many thanks,
Gert
[1] http://www.geeks3d.com/gputest/
Gert Wollny (3):
mesa/st: glsl_to_tgsi move some helper classes to extra files
mesa/st: glsl_to_tgsi Implement a new lifetime tracker for temporaries
mesa/st: glsl_to_tgsi: tie in the new regist
This patch replaces the old register livetime estimation with the
new approach.
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src/mesa/state_tracker/st_glsl_to_tgsi
/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
new file mode 100644
index 00..389a4b6b5f
--- /dev/null
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
@@ -0,0 +1,551 @@
+/*
+ * Copyright © 2017 Gert Wollny
+ *
+ * Permission is hereby granted, free of charge, to any person
->op) ?
- op->info->num_src - 1 : op->info->num_src;
-}
glsl_to_tgsi_instruction *
glsl_to_tgsi_visitor::emit_asm(ir_instruction *ir, unsigned op,
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp
b/src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp
new file mode
.
Best,
Gert
> >
> > Marek
> >
> > On Sat, Jun 10, 2017 at 1:15 AM, Gert Wollny
> > wrote:
> > > Dear all,
> > >
> > > as I wrote before, I was looking into the temporary register
> > > renaming.
> > >
> > >
Am Sonntag, den 11.06.2017, 19:21 +0200 schrieb Gert Wollny:
>
> > >
> > > Have you measured the CPU overhead of the new code?
>
> So far no, I guess one would do that with the shader-db to get
> reasonable complex shaders, but I only have a r600 based card so I&
Am Montag, den 12.06.2017, 15:44 +0900 schrieb Michel Dänzer:
> On 10/06/17 08:15 AM, Gert Wollny wrote:
> >
> > Piglit shows 7 fixes and 6 regressions compared to git 8fac894f,
> > but they don't
> > seem to be related to shaders.
>
> Which tests regress
Am Montag, den 12.06.2017, 12:28 +0200 schrieb Nicolai Hähnle:
> On 10.06.2017 01:15, Gert Wollny wrote:
> >
> Plenty of style issues aside, can you explain where and why you get
> tighter lifetimes?
In the original code if a temporary is used within a loop it gets the
whole l
Hello Nicolai,
Am Montag, den 12.06.2017, 12:17 +0200 schrieb Nicolai Hähnle:
> > spec/arb_shader_bit_encoding/execution/and-clamp: fail fail pass
> > fail
> >
> >
> >
> It's disconcerting that you have tests here whose pass status is
> unstable. Those tests really should be deterministic.
Am Montag, den 12.06.2017, 21:00 +0200 schrieb Nicolai Hähnle:
Thanks for you comments, although I do not agree with most of them.
>
> > Okay. I think you should seriously re-think your algorithm in a way
> > that makes it a more natural evolution from the algorithm that's
> > already there.
Am Dienstag, den 13.06.2017, 11:07 +0200 schrieb Nicolai Hähnle:
>
>
> I'm curious what you'd suggest for getting rid of allocations anyway.
As the refactoring goes I think I will end up with a hybrid approach:
In the temporaries I will not keep the full time line, but the
important read/write
Am Montag, den 16.10.2017, 10:31 -0400 schrieb Chuck Atkins:
> Hi Gert, Emil,
>
> > I think that using the -std=c++11 check should be good,
>
> A few things to consider, neither of which is a deal breaker, I just
> want to make sure they're not forgotten about:
> #1 -std=c++ will cover many case
problem by signalling this failure so that the
optimizers bails out and the un-optimized shader is used.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103142
Signed-off-by: Gert Wollny
---
Change w.r.t. v1:
- In schedule_alu() if pending.count() == 0 then don't expect that
this val
* Merge the classes MockCodeLine and MockCodelineWithSwizzle into
one and refactor tests accordingly.
* Change memory allocations to use ralloc* interface.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 481 ++---
1 file changed, 234
Don't allocate a zero-sized array, when no texture offsets are given.
Reviewed-by: Nicolai Hähnle
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 23 +++---
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/mesa/state_tr
address register loading instruction will be printed like:
MOV ADDR[0].x, TEMP[2].
MOV TEMP[3], ARRAY(2)[TEMP[2]. + 10]
The reason for this is, that there is currently no indication in the src
register on whether the address instruction was or must be emitted.
Signed-off-by: Gert Wollny
he use of address
registers
in register_merge (I was considering to add this to 8, but since that one was
already
reviewed ...)
many thanks for any comments,
Gert
--
Submitter has no write access to mesa-git
Gert Wollny (10):
mesa/st/tests: Fix zero-byte allocation leaks
mesa/st/tes
-estimation of the
lifetime in the cases when the load to the address register was emitted.
Reviewed-by: Nicolai Hähnle
Signed-off-by: Gert Wollny
---
.../state_tracker/st_glsl_to_tgsi_temprename.cpp | 108 ++---
1 file changed, 74 insertions(+), 34 deletions(-)
diff --git a/src
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 127 ++---
1 file changed, 63 insertions(+), 64 deletions(-)
diff --git a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
b/src/mesa/state_tracker/tests
With the implementation of the tracking of the registers used in reladdr
asserting that a driver calling merge_register() uses the address register
is no longer needed.
Signed-off-by: Gert Wollny
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a
Add a code line type that accepts one layer of indirect addressing and
add tests to check that temporary register access used for indirect
addressing is accounted for in the lifetime estimation.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 184
* Test number of operands by using num_inst_src_regs/num_inst_dst_regs
and fix tests accordingly.
Signed-off-by: Gert Wollny
---
src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/state_tracker/tests
Improve the life-time evaluation of temporary registers by also tracking
writes in both if and else branches and in up to 32 nested scopes.
As a result the estimated required register life-times can be further
reduced enabling more registers to be merged.
Signed-off-by: Gert Wollny
Additional tests are added that check the tracking of access to temporaries
in if-else branches.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 493 -
1 file changed, 486 insertions(+), 7 deletions(-)
diff --git a/src/mesa/state_tracker
By testing my own patches I saw that the meson/vulcan specific build
failed on travis:
https://travis-ci.org/gerddie/mesa/builds/288995180
To check that it is not related to my changes I also did that specific
build with the latest git master (35c66f3e4017) that failed.
https://travis-ci.org/
Can't comment much on style, but it fixes the build, so
Tested-by: Gert Wollny
Am Dienstag, den 17.10.2017, 12:00 +0100 schrieb Eric Engestrom:
> Signed-off-by: Eric Engestrom
> ---
> src/amd/vulkan/meson.build | 10 +-
> 1 file changed, 9 insertions(+), 1 deletion(-
dded a build with g++4.4 because in the end
it only tested whether someone had force-set -std=c++11 somewhere.
best regards,
Gert
--
Submitter has no mesa-git write access.
Gert Wollny (3):
configure+mesa/st: check for -std=c++11 support and enable
mesa/st/test accordingly
swr: Replace the
So far clover based its test for compiler support on the version of gcc,
while in reality support for c++11 is required. This patch replaces the
version check by the check unified for all modules that require c++11.
---
configure.ac | 4 ++--
src/gallium/state_trac
---
configure.ac| 7 +++
src/gallium/drivers/swr/Makefile.am | 4 ++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index b828a45310..2f6809a5f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2583,10 +2583,9 @@ if test -n
Add a check that tests whether the c++ compiler supports c++11, either by
default,
by adding the compiler flag -std=c++11, or by adding a compiler flag that the
user
has specified via the environment variable CXX11_CXXFLAGS.
The test only does a very shallow check of c++11 support, i.e. it tests
Am Dienstag, den 24.10.2017, 16:44 +0200 schrieb Erik Faye-Lund:
>
> dep_unwind = dependency('libunwind', required : false)
> -if dep_unwind.found()
> +if dep_unwind.found() and with_libunwind
> pre_args += '-DHAVE_LIBUNWIND'
> endif
Wouldn't it be better to do something like
<<<
if with_l
Am Dienstag, den 24.10.2017, 18:21 +0100 schrieb Emil Velikov:
>
> > Right on both counts, as I don't really have a way of testing on
> > Windows.
> >
>
> There's an Appveyour integration similar to Travis. One should be
> able to select the MSVC/toolchain version, but I'm not versed enough
> fo
Don't allocate a zero-sized array, when no texture offsets are given.
Reviewed-by: Nicolai Hähnle
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 23 +++---
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/mesa/state_tr
f address
registers
in register_merge (I was considering to add this to 8, but since that one was
already
reviewed ...)
many thanks for any comments,
Gert
Gert Wollny (10):
mesa/st/tests: Fix zero-byte allocation leaks
mesa/st/tests: unify MockCodeLine* classes
mesa/st/tests: base check
* Test number of operands by using num_inst_src_regs/num_inst_dst_regs
and fix tests accordingly.
Signed-off-by: Gert Wollny
---
src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/state_tracker/tests
* Merge the classes MockCodeLine and MockCodelineWithSwizzle into
one and refactor tests accordingly.
* Change memory allocations to use ralloc* interface.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 481 ++---
1 file changed, 234
With the implementation of the tracking of the registers used in reladdr
asserting that a driver calling merge_register() uses the address register
is no longer needed.
Signed-off-by: Gert Wollny
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a
address register loading instruction will be printed like:
MOV ADDR[0].x, TEMP[2].
MOV TEMP[3], ARRAY(2)[TEMP[2]. + 10]
The reason for this is, that there is currently no indication in the src
register on whether the address instruction was or must be emitted.
Signed-off-by: Gert Wollny
Improve the life-time evaluation of temporary registers by also tracking
writes in both if and else branches and in up to 32 nested scopes.
As a result the estimated required register life-times can be further
reduced enabling more registers to be merged.
Signed-off-by: Gert Wollny
Add a code line type that accepts one layer of indirect addressing and
add tests to check that temporary register access used for indirect
addressing is accounted for in the lifetime estimation.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 186
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 127 ++---
1 file changed, 63 insertions(+), 64 deletions(-)
diff --git a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
b/src/mesa/state_tracker/tests
Additional teste are added that check the tracking of access to temporaries
in if-else branches.
Signed-off-by: Gert Wollny
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 493 -
1 file changed, 486 insertions(+), 7 deletions(-)
diff --git a/src/mesa/state_tracker
lifetime in the cases when the load to the address register was emitted.
Reviewed-by: Nicolai Hähnle
Signed-off-by: Gert Wollny
---
.../state_tracker/st_glsl_to_tgsi_temprename.cpp | 108 ++---
1 file changed, 74 insertions(+), 34 deletions(-)
diff --git a/src/mesa
Am Donnerstag, den 26.10.2017, 13:55 +0900 schrieb Jose Fonseca:
>
>
> If there's doubt, I suggest testing Visual Studio with AppVeyor by
> pushing the changes as a feature branch to FDO's git -- I believe
> that should trigger an AppVeyor build. (Push to a github repos
> hooked into Appveyor,
Commit 16cfbef44cf0 (plus some unrelated patch that I actually wanted
to test) fails to build:
log snippet:
<<<
[81/409] Compiling C object 'src/egl/wayland/wayland-egl/wayland-egl@sh
a/wayland-egl.c.o'.
...
../src/egl/wayland/wayland-egl/wayland-egl.c:33:25: fatal error:
wayland-egl.h: No s
This patch fixes the build error that can currently (=16cfbef44cf0) be
seen with meson, so
Tested-by: Gert Wollny
Am Dienstag, den 03.10.2017, 15:34 +0200 schrieb Tobias Klausmann:
> Starting with commit ab0589c6ed ("wayland-egl: remove no longer
> needed wayland-client depen
Am Mittwoch, den 25.10.2017, 10:24 +0200 schrieb Erik Faye-Lund:
> If we don't want to use these deps, there's no good reason to search
> for them in the first place. This should shave a bit of time for the
> initial build.
> ---
>
> This would be a way of dealing with Gert's suggestion. Goes on
t functions so that a more C++ like deep copy of pointers to
classes can be used.
Signed-off-by: Gert Wollny
---
Submitter has no write access to mesa-git.
src/util/ralloc.c | 14 +++---
src/util/ralloc.h | 15 ---
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git
Am Donnerstag, den 26.10.2017, 17:28 +0100 schrieb Emil Velikov:
>
> > .../tests/test_glsl_to_tgsi_lifetime.cpp | 1278
> > +++-
>
> JFYI you'd want to explicitly undef NDEBUG in the test.
> git grep -10 "#undef NDEBUG" - for examples
>
> Otherwise the asserts will not
Am Freitag, den 03.11.2017, 17:24 +1000 schrieb Dave Airlie:
> From: Dave Airlie
>
[...]
> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c
> b/src/gallium/drivers/radeonsi/si_pipe.c
> index 875aff6..39f7b7b 100644
> --- a/src/gallium/drivers/radeonsi/si_pipe.c
> +++ b/src/gallium/drivers/rad
Am Freitag, den 03.11.2017, 17:24 +1000 schrieb Dave Airlie:
>
> diff --git a/src/gallium/drivers/r600/r600_pipe.c
> b/src/gallium/drivers/r600/r600_pipe.c
> index d67a22b..434596b 100644
> --- a/src/gallium/drivers/r600/r600_pipe.c
> +++ b/src/gallium/drivers/r600/r600_pipe.c
> @@ -74,6 +74,8 @@
Am Dienstag, den 07.11.2017, 16:30 +1000 schrieb Dave Airlie:
> This is the 3rd submission of the gallium/r600 hw atomic counter
> support.
>
> This is fixes some rebase artifacts, removes the BUFFER decls from
> the TGSI, and fixes some indirect crashes in the r600 backend,
Well, I still get som
x27;ve run the patch series with the additional fix for patch 7 on the
pilit shader subset and don't see any crashes related to this anymore.
No regressions and all newly enabled piglits pass, hence for the
series:
Tested-By: Gert Wollny
Thanks,
Gert
Just a few comments while updating the patch:
> One more comment about the debug_log: as written, it will getenv
> every time. It would be better to use the approach taken by e.g.
> should_clone_nir() in compiler/nir/nir.h. There's no reason to have
> a whole class for this.
Actually, debug_l
/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
new file mode 100644
index 00..46a707ec74
--- /dev/null
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
@@ -0,0 +1,881 @@
+/*
+ * Copyright © 2017 Gert Wollny
+ *
+ * Permission is hereby granted, free of charge, to any person
ay that is used for the evaluation.
Best,
Gert
Gert Wollny (6):
mesa/st: glsl_to_tgsi move some helper classes to extra files
mesa/st: glsl_to_tgsi: implement new temporary register lifetime tracker
mesa/st: glsl_to_tgsi: add tests for the new temporary lifetime tracker
mesa/st: gl
The patch adds tests for the register rename mapping evaluation and
combined life time estimation and renaming.
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 192 +
1 file changed, 192 insertions(+)
diff --git a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetim
ction *op)
-{
- return op->info->is_tex || is_resource_instruction(op->op) ?
- op->info->num_src - 1 : op->info->num_src;
-}
glsl_to_tgsi_instruction *
glsl_to_tgsi_visitor::emit_asm(ir_instruction *ir, unsigned op,
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp
b/src/m
This patch replaces the old register lifetime estiamtion and
rename mapping evaluation with the new one.
Performance to compare between the current and the new implementation
were measured by running the shader-db in one thread.
---
The remapping evaluator first sorts the temporary registers ascending
based on their first life time instruction, and then uses a binary search
to find merge canidates.
For the initial sorting it uses std::sort because qsort is quite slow in
comparison. By removing the define USE_STL_SORT in
src/
/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
b/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
new file mode 100644
index 00..b9dadcc03d
--- /dev/null
+++ b/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
@@ -0,0 +1,1405 @@
+/*
+ * Copyright © 2017 Gert Wollny
Hi,
the patch no longer applies to mesa master. I've pushed the rebased
patch set to my github mirror (see below), but should I also send the
corrected patches here?
Best,
Gert
Am Montag, den 17.07.2017, 17:47 +0200 schrieb Gert Wollny:
> Hello Nicolai,
>
> many thanks
Am Dienstag, den 01.08.2017, 09:32 +1000 schrieb Dave Airlie:
> From: Dave Airlie
>
> This reverts commit 3008161d28e38336ba39aba4769a2deaf9732f55,
> which caused a regression for VMWare.
>
> The initial code had some recursion in it, that I removed by accident
> trying to add back the recursion
> The original code has a loop over num_renames, so if two renames
> were in the list in order like
>
> 8 renames to 4 and 4 renames to 2, then 8 would rename to 2.
> however if 4 renamed to 2 then 8 renamed to 4 (not sure if this could
> happen), it was different.
>
> My initial patch fails bec
eviews,
Gert
Dave Airlie (1):
st_glsl_to_tgsi: rewrite rename registers to use array fully.
Gert Wollny (6):
mesa/st: glsl_to_tgsi move some helper classes to extra files
mesa/st: glsl_to_tgsi: implement new temporary register lifetime tracker
mesa/st: glsl_to_tgsi: add tests for the
This patch replaces the old register lifetime estiamtion and
rename mapping evaluation with the new one.
Performance to compare between the current and the new implementation
were measured by running the shader-db in one thread.
---
2017 Gert Wollny
+ *
+ * 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,including without limitation
+ * the rights to use, copy, mod
The remapping evaluator first sorts the temporary registers ascending
based on their first life time instruction, and then uses a binary search
to find merge canidates.
For the initial sorting it uses std::sort because qsort is quite slow in
comparison. By removing the define USE_STL_SORT in
src/
The patch adds tests for the register rename mapping evaluation and
combined life time estimation and renaming.
---
.../tests/test_glsl_to_tgsi_lifetime.cpp | 192 +
1 file changed, 192 insertions(+)
diff --git a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetim
From: Dave Airlie
Instead of having to search the whole array, just use the whole
thing and store a valid bit in there with the rename.
Removes this from the profile on some of the fp64 tests
Reviewed-by: Timothy Arceri
Signed-off-by: Dave Airlie
---
src/mesa/state_tracker/st_glsl_to_tgsi.cp
instruction *op)
-{
- return op->info->is_tex || is_resource_instruction(op->op) ?
- op->info->num_src - 1 : op->info->num_src;
-}
glsl_to_tgsi_instruction *
glsl_to_tgsi_visitor::emit_asm(ir_instruction *ir, unsigned op,
diff --git a/src/mesa/state_tracker/st_glsl_to
/st_glsl_to_tgsi_temprename.cpp
new file mode 100644
index 00..46a707ec74
--- /dev/null
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
@@ -0,0 +1,881 @@
+/*
+ * Copyright © 2017 Gert Wollny
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and
many thanks for any comments and best regards,
Gert
--
Submitter has no write access to mesa git.
Gert Wollny (23):
gallium/aux/util/u_blitter.c: Silence some warnings
gallium/aux/util/u_debug_describe.c: Silence an -Wunused-param warning
gallium/aux/util/u_debug_stack.c: Silence -Wunused-resu
asprintf is decorated with the attrbute "warn_unused_result", and if the
function call fails, the pointer "temp" will be undefined, but since it is
used later it should contain some usable value.
Test return value of asprintf and assign some save value to "temp" if
the call failed.
---
src/gallium
Decorate the parameters accordingly with "UNUSED".
---
src/gallium/auxiliary/util/u_format_etc.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_format_etc.c
b/src/gallium/auxiliary/util/u_format_etc.c
index 63e03ff5cc..8da933cf3d 100644
--
* Annotate three parameters that are not used in release mode.
* explicitely convert an int to unsigned in an ?: construct.
---
src/gallium/auxiliary/util/u_blitter.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_blitter.c
b/src/galliu
u_bit_scan may return -1 that then may be interpreted as (unsigned)-1 in
the following comparison, since num_names is unsigned. Convert the latter to
be int as well.
---
src/gallium/auxiliary/util/u_dump_defines.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/auxi
Decorate the unused params with "UNUSED".
---
src/gallium/auxiliary/util/u_format_latc.c | 24 +---
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_format_latc.c
b/src/gallium/auxiliary/util/u_format_latc.c
index 31d72b5a0a..ce693713
* Annotate the unused parameter.
---
src/gallium/auxiliary/util/u_debug_describe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/util/u_debug_describe.c
b/src/gallium/auxiliary/util/u_debug_describe.c
index f428d22d20..9a8e0cc392 100644
--- a/src/galliu
---
src/gallium/auxiliary/util/u_dump_state.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_dump_state.c
b/src/gallium/auxiliary/util/u_dump_state.c
index 2725d50cd9..512fb677d3 100644
--- a/src/gallium/auxiliary/util/u_dump_state.c
+++ b/src
This warning was issued only in release mode. Fix it by fake-using the
parameter.
---
src/gallium/auxiliary/util/u_format.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_format.c
b/src/gallium/auxiliary/util/u_format.c
index 0fc3231654..369b4c3126 100644
--- a
Decorate the unused params with "UNUSED".
---
src/gallium/auxiliary/util/u_format_other.c | 34 ++---
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_format_other.c
b/src/gallium/auxiliary/util/u_format_other.c
index c53bf55
Silence the warning by making the conversion to int explicit.
---
src/gallium/auxiliary/util/u_pstipple.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/util/u_pstipple.c
b/src/gallium/auxiliary/util/u_pstipple.c
index ae4cfa1d76..77b0458dc0 100644
--- a
Decorate the params accordingly with "UNUSED".
---
src/gallium/auxiliary/util/u_format_rgtc.c | 26 ++
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_format_rgtc.c
b/src/gallium/auxiliary/util/u_format_rgtc.c
index 1596917435..8
Decorate the params accordingly with "UNUSED".
---
src/gallium/auxiliary/util/u_format_yuv.c | 232 +++---
1 file changed, 116 insertions(+), 116 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_format_yuv.c
b/src/gallium/auxiliary/util/u_format_yuv.c
index 55f8ad68
Decorate the parameters accordingly with "UNUSED" or "MAYBE_UNUSED" (for
the param that is used in debug mode, but not in release mode).
---
src/util/simple_mtx.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/simple_mtx.h b/src/util/simple_mtx.h
index cd24b6f9eb.
Explicitely convert on value to the target type.
---
src/mesa/main/framebuffer.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h
index bc6e7bc31a..bffa21dcea 100644
--- a/src/mesa/main/framebuffer.h
+++ b/src/mesa/main/f
1 - 100 of 827 matches
Mail list logo