Hello Gert,
starting with short log from 'git am ...'
/opt/mesa> git am
~/Dokumente/Software/DRI-Mesa/Radeon/Mesa/mesa-st-glsl_to_tgsi-improved-temp-reg-lifetime-estimation.mbox
Wende an: mesa/st: glsl_to_tgsi move some helper classes to extra files
.git/rebase-apply/patch:561: new blank line at EOF.
+
.git/rebase-apply/patch:733: new blank line at EOF.
+
warning: 2 Zeilen fügen Whitespace-Fehler hinzu.
Wende an: mesa: Propagate c++11 CXXFLAGS from LLVM_CXXFLAGS to mesa/
Wende an: mesa/st: glsl_to_tgsi: implement new temporary register
lifetime tracker
Wende an: mesa/st: glsl_to_tgsi: add tests for the new temporary
lifetime tracker
.git/rebase-apply/patch:81: new blank line at EOF.
+
warning: 1 Zeile fügt Whitespace-Fehler hinzu.
Wende an: mesa/st: glsl_to_tgsi: add register renamame mapping evaluator
Wende an: mesa/st: glsl_to_tgsi: Add test set for evaluation of rename
mapping
.git/rebase-apply/patch:106: new blank line at EOF.
+
warning: 1 Zeile fügt Whitespace-Fehler hinzu.
Wende an: mesa/st: glsl_to_tgsi: tie in new temporary register merge
approach
.git/rebase-apply/patch:118: new blank line at EOF.
+
warning: 1 Zeile fügt Whitespace-Fehler hinzu.
More after switching RX580 with Turks XT (6670) 2 GB.
Dieter
Am 18.06.2017 19:42, schrieb Gert Wollny:
Dear all,
following the comments of Emil and Nicolai I've updated the patch set.
Changes with respect to the old version are:
- split the changes into more patches
- correct formatting errors
- remove the use of the STL with one exception though:
since in st_glsl_to_tgsi.cpp std::sort is already used and its
run-time
performance is significantly better than qsort. It is used in the
register
rename mapping evaluation. It can be disabled by commenting out the
define
USE_STL_SORT in st_glsl_to_tgsi_temprename.cpp.
- add more tests and improve the life-time evaluation accordingly
- further reduce memory allocations
The algorithms is the same as described before, with the little
exception that
now initially a dry run over the instructions is used to count the
numbers of
scopes. The run-time overhead of this operation can be neglected.
In order to make it easier to transition to the new code and test it I
tied it
in parallel to the old code. It can be enabled by setting the
environment
variable MESA_GLSL_TO_TGSI_NEW_MERGE.
piglit run on the "shader" test set doesn't show any changes. The
additional
passing test of I reported for v2 no longer passes, probably because of
the
more conservative life-time estimation required to make the new (valid)
tests
pass, but as I wrote before, the problem with this shader
spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec2-index-rd
(and its sister *vec3*) is, IMHO not solvable by better
register-renaming.
The performance numbers estimated by running the shader-db are given in
the
commit message of the last patch, the trend is the same like reported
before.
Many thanks for any commenst,
Gert
Gert Wollny (7):
mesa/st: glsl_to_tgsi move some helper classes to extra files
mesa: Propagate c++11 CXXFLAGS from LLVM_CXXFLAGS to mesa/
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: glsl_to_tgsi: add register renamame mapping evaluator
mesa/st: glsl_to_tgsi: Add test set for evaluation of rename mapping
mesa/st: glsl_to_tgsi: tie in new temporary register merge approach
configure.ac | 1 +
src/mesa/Makefile.am | 4 +-
src/mesa/Makefile.sources | 4 +
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 319 +-----
src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp | 207 ++++
src/mesa/state_tracker/st_glsl_to_tgsi_private.h | 165 ++++
.../state_tracker/st_glsl_to_tgsi_temprename.cpp | 752
++++++++++++++
.../state_tracker/st_glsl_to_tgsi_temprename.h | 36 +
src/mesa/state_tracker/tests/Makefile.am | 41 +
.../tests/test_glsl_to_tgsi_lifetime.cpp | 1042
++++++++++++++++++++
10 files changed, 2277 insertions(+), 294 deletions(-)
create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp
create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_private.h
create mode 100644
src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h
create mode 100644 src/mesa/state_tracker/tests/Makefile.am
create mode 100644
src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev