On 01/24/2018 02:35 AM, Gert Wollny wrote:
Hello Brian,
thanks for the review, this is a resent of the full series with minor fixes.
Github mirror:
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_gerddie_mesa_tree_lifetime-2Dupdate-2Dv5&d=DwIDaQ&c=uilaK90D4TOVoH58JNXRgQ&r=Ie7_encNUsqxbSRbqbNgofw0ITcfE8JKfaUjIQhncGA&m=kZGNUF0NsLKbmFs-rS7txbzkKN7smYKfgjxDkKwtHIw&s=o7MInzErAh8M5Q7I9raUHJpwkACOPvc42A9H7H9bwDA&e=
So far patches 3 (was 1 in v3) and 8 (was 5 in v1)
Reviewed-by: Nicolai Hähnle <[email protected]>
Patches 1,2,3,6 (v4):
Reviewed-by: Brian Paul <[email protected]>
Changes w.r.t v4:
* patch 2 & 3: Correct some whitespace and empty line errors as pointed out
by Brian.
Changes w.r.t. v3:
* Add patch 1: mesa/program: Add missing file types to _mesa_register_file_name
* Ass patch 2: Add stream and equal operators and rewrite the debug output to
use the stream operator and _mesa_register_file_name instead of some
hand backed code and squeash former patch 5 into this.
* Move the Mock* classes and shared test code into a conveniance
library, and rename Mock* to Fake* since they are not really Mocks.
Changes w.r.t. v2:
* patch 9: make the creation of register description tuples explicit because
this is what in c++11 is actually required (This slipped before because it
seems that g++-7.2 handles tuple initialization like it was c++17, also with
its default setting -std=c++14).
v1:
* patches 2-4(new): As suggested by Nikolai, these patches unify the test
classes
with respect to the different register inputs (at this point: plain and with
swizzle). In addition, some comments are corrected and the used of white
spaces
in the test cases is made more consistent.
* patch 5: correct the debug output for indirect addressing. Nikolai suggested
that
another patch might be in order to properly propagate the information when
and
which address register is used, but since st_*_reg is passed through various
levels by value, I'd prefer to deal with that in another, dedicated patch
series.
* patch 6: Further improve the tracking algorithm, and, as requested by Nikolai,
rename some variables and add comments to make the algorithm clearer.
* patch 7: Add yet more tests.
* patch 9: Update the tests to adhere to the new, unified interface.
* patch 10 (new): remove the no longer needed assert for the 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,
I just posted a few more nit-pick comments. For the rest of the series,
Reviewed-by: Brian Paul <[email protected]>
If you want to fix those typos, etc. and mail me the series in a
zip/tarball I can push them for you.
-Brian
Gert
PS: I have no write access to mesa-git.
Gert Wollny (10):
mesa/program: Add missing file types to printout
mesa/st/glsl_to_tgsi: Add some operators for glsl_to_tgsi related
classes
mesa/st/tests: Fix zero-byte allocation leaks
mesa/st/tests: unify MockCodeLine* classes
mesa/st/tests: cleanup whitespace usage and correct some comments
mesa/st/glsl_to_tgsi: Add tracking of ifelse writes in register
merging
mesa/st/tests: Add tests for improved tracking of temporaries
mesa/st/glsl_to_tgsi: Add tracking of indirect addressing registers
mesa/st/tests: Add tests for lifetime tracking with indirect
addressing
mesa/st/glsl_to_tgsi: remove now unneeded assert.
src/mesa/program/prog_print.c | 16 +-
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 -
src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp | 166 +++
src/mesa/state_tracker/st_glsl_to_tgsi_private.h | 19 +
.../state_tracker/st_glsl_to_tgsi_temprename.cpp | 517 +++++--
src/mesa/state_tracker/tests/Makefile.am | 7 +
src/mesa/state_tracker/tests/st_tests_common.cpp | 486 +++++++
src/mesa/state_tracker/tests/st_tests_common.h | 173 +++
.../tests/test_glsl_to_tgsi_lifetime.cpp | 1419 +++++++++++---------
9 files changed, 2052 insertions(+), 752 deletions(-)
create mode 100644 src/mesa/state_tracker/tests/st_tests_common.cpp
create mode 100644 src/mesa/state_tracker/tests/st_tests_common.h
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev