<div dir="ltr"><div>Juha-Pekka,<br></div>I'll try and look at the actual patches here next week.  For now, a couple quick comments.<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 28, 2014 at 5:51 AM, Juha-Pekka Heikkila <span dir="ltr"><<a href="mailto:juhapekka.heikkila@gmail.com" target="_blank">juhapekka.heikkila@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Here is new version of my patch set for using Pixman in Mesa<br>
for texture format conversions, mostly complete rewrite after recent<br>
changes in src/mesa/main/texstore.c. This set does not cause<br>
regressions in Piglit quick set on SNB.<br>
<br>
Here are some timings I came up from with this set when running<br>
glTexImage2d in a loop (on SNB, IVB was comparable):<br></blockquote><div><br></div><div>Did you test this on HSW?  How did it look there?  Also, please provide the type, format, and internal format that you're using in your tests.  differences between format and internal format can make a huge difference on what path you hit.<br>
</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                      No Pixman       Pixman     %<br>
GL_UNSIGNED_INT_8_8_8_8,GL_BGRA     <a href="tel:2816.648926" value="+12816648926">2816.648926</a>  2148.145020  0.76<br>
GL_UNSIGNED_SHORT_5_6_5,GL_RGB     19560.732422  2062.745117  0.11<br>
GL_UNSIGNED_SHORT_5_6_5_REV,GL_RGB 19525.605469  4035.947998  0.21<br></blockquote><div><br></div><div>I'm a little skeptical of the 8888 numbers.  In my testing on my HSW laptop, the C path we have now was very close to the SSSE3 fast-path I cooked up to test against.  There could be a difference in memory bandwidth for certain instructions though.  That's why I'd like to see HSW, SNB, and IVB numbers side-by-side for that one.<br>
<br>For 565, I can believe it.  I think we're doing something colossally stupid inside mesa whenever the input is 565.  That said, this patch: <a href="http://lists.freedesktop.org/archives/mesa-dev/2014-August/066529.html">http://lists.freedesktop.org/archives/mesa-dev/2014-August/066529.html</a> may help with it some.  It should enable memcpy when you're doing a 565 upload to a 565 texture.  That said, the 565 to anything else path is probably still terrible.  It would be worth looking into what mesa is doing there (look in pack.c).  Given the 5x or 10x speedup, we're probably converting to float or something stupid like that.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
For these tests Mesa was compiled with "-march=native -O2". There were some<br>
formats which were clearly faster on current Mesa implementation than what<br>
Pixman gave me, for example RGB888 to RGBA8888 conversion took about twice<br>
the time of what current Mesa implementation does and r10g10b10a2 was even<br>
much slower. Generally 16 bit formats are much faster on Pixman but there<br>
are differences in formats and types which prevented from enabling some<br>
formats for now, most notable missing GL_UNSIGNED_SHORT_4_4_4_4<br>
<br>
/Juha-Pekka<br>
<br>
Juha-Pekka Heikkila (3):<br>
  mesa: Add Pixman library to <a href="http://configure.ac" target="_blank">configure.ac</a><br>
  mesa: Add Pixman usage to texstore.c<br>
  mesa: Pixman texture conversion for argb path<br>
<br>
 <a href="http://configure.ac" target="_blank">configure.ac</a>             |  30 ++++++++++<br>
 src/mesa/main/texstore.c | 149 +++++++++++++++++++++++++++++++++++++++++++++++<br>
 2 files changed, 179 insertions(+)<br>
<span class=""><font color="#888888"><br>
--<br>
1.8.5.1<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>