<div class="gmail_quote">On Tue, Oct 2, 2012 at 1:32 PM, Dmitry Kazakov <span dir="ltr"><<a href="mailto:dimula73@gmail.com" target="_blank">dimula73@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br><br><div class="gmail_quote"><div>On Mon, Oct 1, 2012 at 2:05 AM, Sven Langkamp <span dir="ltr"><<a href="mailto:sven.langkamp@gmail.com" target="_blank">sven.langkamp@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div><br></div><div>Really interesting solution. My idea was to shuffle the alpha (that would require less converts, but more other instructions) from the loaded pixel but this looks better. Unfortunately I don't have a cpu that has avx, so I can't test it. Would be interesting how this performs with SSE and integers instead of floats.</div>


</div></blockquote></div><div><br>Actually I initially wanted to do the integer solution, but I couldn't find the instruction for integer streamed division. Probably, you know one?<br></div></div></blockquote><div><br>

</div><div>There is no instruction for that.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>We have one (and the only one) division in the composite over: it scales the result by the new alpha value (srcBlend), so it looks like it cannot be transformed to multiplication. This single division takes about 20% of composing time.<br>
</div></div></blockquote><div><br></div><div>There should be solution, other applications did it too. In the worst case you need to convert to float, do the division and convert back. That shouldn't require more conversions and still has the advantage that everything else is still done in integer. The other alternative is to take it out of the register and do it scalar.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>Although, I guess, the integer solution should be a bit faster than the floating point one.<br>
</div></div></blockquote><div><br></div><div>It should be.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div></div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote">
<div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2) We still need to decide what to do with grayscale selections.<br>
</blockquote><div><br></div></div><div>My favorite is still the composite op solution. </div></div></blockquote></div></div><br>+1 ;)<span><font color="#888888"><br><br clear="all"><br>-- <br>Dmitry Kazakov<br>

</font></span><br>_______________________________________________<br>
kimageshop mailing list<br>
<a href="mailto:kimageshop@kde.org" target="_blank">kimageshop@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kimageshop" target="_blank">https://mail.kde.org/mailman/listinfo/kimageshop</a><br>
<br></blockquote></div><br>