[Mesa-dev] [PATCH v2 00/10] glsl_to_tgsi: Further improvement of lifetime tracking for register merge

Gert Wollny gw.fossdev at gmail.com
Tue Oct 17 12:49:05 UTC 2017

Dear all, 

this is the updated 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. 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, 

Submitter has no write access to mesa-git 

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           | 1276 +++++++++++++++-----
 3 files changed, 1399 insertions(+), 418 deletions(-)


More information about the mesa-dev mailing list