Re: [AD] Asm optimized version of _linear_draw_trans_rgba_rle_sprite24 is buggy?

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


On Thursday 10 November 2005 10:10, Serge Semashko wrote:
> I see, I'll try to fix it myself, though I'm not familiar with AT&T
> assembly style.

Brave man!

> Is it possible to replace 24bpp RLE sprites code with C equivalent
> without breaking ABI?

I don't think so. But... here's an evil thought, wouldn't it be possible to 
change the ASM code to call the C code? This will require some trickery 
and dirty hacks because we can't add symbols to the DLL in Windows but we 
could then use the C version through the ASM ABI.

> I'm just getting familiar with that code. What is 
> the difference between ASM and C ABI in a few words?

The way some of the values are passed. I think the ASM code passes some 
data in registers rather than on the stack. Someone else might be able to 
explain better than me.

> As I see, asm code uses segments prefixes extensively (es: segment for
> example). On modern CPUs, the instructions using segment override
> prefixes suffer performance penalty,

Aha, that might be why the performance appears to have gone down recently.

> Is there any tentative shedule for allegro 4.4 release?

I daren't guess right now. ;)
Let's see about getting 4.3.0 WIP out of the door first.

Evert




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