<p dir="ltr">Would it be better to have is_interstage=0 rather than a double negative?</p>
<br><div class="gmail_quote"><div dir="ltr">On Sat, 3 Oct 2015 10:32 am Gregory Hainaut <<a href="mailto:gregory.hainaut@gmail.com">gregory.hainaut@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> In short, SSO allow to match by name but you can't make any hypothesis on the<br>
> previous/next stage. Therefore you must consider all inputs and output as<br>
> actives.<br>
<br>
New version based on Ian's feedbacks.<br>
* Real interstage variables of the program are still optimized<br>
* Both output and input of the program remains active<br>
* An old bug still remains if name and explicit location rendezvous are mixed<br>
<br>
Commits decription:<br>
1/ add a not_interstage parameter that will be 1 when variable is either an<br>
   input of output of the program. I didn't know where to put the ir_set_not_interstage_io<br>
   function. Maybe it can be moved in linker.cpp.<br>
2/ Set the interstage parameter based on the shader position in the pipeline<br>
   program. Potentially can be squased with the previous one.<br>
3/ Don't do deadcode removal of not_interstage variable with the exception<br>
   of the built-in varyings because they don't impact location of others variables<br>
<br>
Gregory Hainaut (4):<br>
  glsl IR: add not_interstage attribute to ir_variable<br>
  glsl link: annotate not_interstage attribute of the ir_var after link<br>
    phase<br>
  glsl IR: only allow optimization of interstage variable<br>
  allow compilation on my system<br>
<br>
 <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>               |  6 ++++--<br>
 src/glsl/ir.h              |  6 ++++++<br>
 src/glsl/ir_optimization.h |  2 ++<br>
 src/glsl/linker.cpp        | 47 ++++++++++++++++++++++++++++++++++++++++++++++<br>
 src/glsl/opt_dead_code.cpp | 37 ++++++++++++++++++++++++++++++++++++<br>
 5 files changed, 96 insertions(+), 2 deletions(-)<br>
<br>
--<br>
2.1.4<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>