Re: [AD] Color convertors

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Eric Botcazou wrote:
[snip]

You're right, there was still an off-by-one-pixel error after I had fixed
the off-by-one-scanline error. As I am a purist, I will probably touch again
the non-MMX code because your fix breaks the instruction pairing on Pentium
(and the non-MMX code was primarily targeted to it).

Heh, allright.



Moreover, I see you replaced the 'movl $0, reg' by 'xorl reg, reg'. Why ?
I'm not sure that's the way to go on Pentium.

Yes it's the way to go. Even Intel recommends it! xorl executes in 1 cycle and is fully pairable. movl executes in 1 cycle but can only be placed in the U pipe if it involves another register than %eax, since it's longer than 6 bytes. xorl is also shorter (2 or 3 bytes), which reduces the pressure on the instruction cache.


Great work !
However, the 16->15 and 15->16 convertors can't be enabled under Windows for
the time being (see the latest docs for the explanation).


Allegro.txt?
The 15->16 one works under Windows (for me at least)


There are also dummy 15->15, 16->16, 24->24, 32->32 "convertors" which are
implemented via a super fast memcpy :)


What are they for ? They won't be used under Windows for example.

So under Windows, if the window has the same depth as the screen, then the screen -is- the window? or does it still pass via a second buffer like the other depths?



I'm going to update the Windows windowed driver.
Btw, could you upload somewhere your big diff and let us know the address ?


Already on CVS :)


--
- Robert J Ohannessian
"Microsoft code is probably O(n^20)" (my CS prof)
http://pages.infinit.net/voidstar/



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/