[Mesa-dev] [PATCH v3 00/10] glsl_to_tgsi: Further improvement of lifetime tracking for register merge
emil.l.velikov at gmail.com
Thu Oct 26 16:28:40 UTC 2017
On 25 October 2017 at 10:51, Gert Wollny <gw.fossdev at gmail.com> wrote:
> Dear all,
> this is a minor update to the patch set that adds enhanced tracking of IF/ELSE
> branches and tracking of reladdr* registers for the register_merge step.
> So far patches 1 & 5 (now 8) are
> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
> 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).
> * 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,
> Gert Wollny (10):
> mesa/st/tests: Fix zero-byte allocation leaks
> mesa/st/tests: unify MockCodeLine* classes
> mesa/st/tests: base check of number of registers on opcode info
> mesa/st/tests: cleanup whitespace usage and correct some comments
> mesa/st/glsl_to_tgsi: Correct debug output for indirect access
> mesa/st/glsl_to_tgsi: Add tracking of ifelse writes in register
> 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
> mesa/st/glsl_to_tgsi: remove now unneeded assert.
> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 -
> .../state_tracker/st_glsl_to_tgsi_temprename.cpp | 540 +++++++--
> .../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 trigger since they're not around ;-)
More information about the mesa-dev