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 ]


Peter Wang wrote:

Done. You can download a test program here:
http://ufo2000.sourceforge.net/files/spritelib.zip

A crash can be reproduced by running "test-asm.exe 24" (test program
linked with assembly optimized version of allegro), "test-c.exe 24" runs
fine (using C-version of allegro library). All the sources are included.

I can confirm the crash on linux.  Thanks for the report and test case,
though I don't know who will be up to fix it.

I see, I'll try to fix it myself, though I'm not familiar with AT&T
assembly style. The whole RLE sprites for 24bpp seem to be broken,
though this mode is not very widely used, fixing this code is only
needed for the completeness sake.

Is it possible to replace 24bpp RLE sprites code with C equivalent
without breaking ABI? I'm just getting familiar with that code. What is
the difference between ASM and C ABI in a few words?

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, also these prefixes are what
prevents valgrind from working.

Is there any tentative shedule for allegro 4.4 release?





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