<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt">Rico, <br><br>can you give a try to this patch?<br>If it is slightly slower than native, we could at first merge it.<br><br><br>Anyway, if the application is well coded, this function should not be called often. Usually an application uses transformations matrices that are a lot easier to inverse<br><br>Nozomi<br><div><span><br></span></div><div><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">De :</span></b> Henri Verbeet <hverbeet@gmail.com><br> <b><span style="font-weight: bold;">� :</span></b> Rico Sch�ller <kgbricola@web.de> <br><b><span style="font-weight:
 bold;">Cc :</span></b> wine-devel@winehq.org; Nozomi Kodama <nozomi.kodama@yahoo.com> <br> <b><span style="font-weight: bold;">Envoy� le :</span></b> Lundi 25 f�vrier 2013 0h08<br> <b><span style="font-weight: bold;">Objet :</span></b> Re: d3dx9: Avoid expensive computations<br> </font> </div> <br>On 25 February 2013 10:24, Rico Sch�ller <<a ymailto="mailto:kgbricola@web.de" href="mailto:kgbricola@web.de">kgbricola@web.de</a>> wrote:<br>> I did some small tests for speed with the following results. You may also<br>> avoid such a lot of variable assignments like *pout = out and you may use 4<br>> vecs instead. This should save ~48 assignments and it should also improve<br>> the speed a bit more (~10%). Though, native is still 40% faster than that.<br>><br>I'd somewhat expect native to use SSE versions of this kind of thing<br>when the CPU supports those instructions. You also generally want to<br>pay attention to
 the order in which you access memory, although<br>perhaps it doesn't matter so much here because an entire matrix should<br>be able to fit in a single cacheline, provided it's properly aligned.<br><br><br> </div> </div>  </div></body></html>