Re: [AD] minor fix

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


On Thu, 2004-07-01 at 15:06 +0200, Evert Glebbeek wrote:

> General (Platform independent) todos:
> ---------------------------------------------------------------------------
> - make the library thread-safe

I wonder how far it should be thread-safe. Like, should it be allowed
that two threads draw to the screen at the same time? Should Allegro
block one in that case? Or should all drawing functions have a return
value telling if the target bitmap is currently locked by another
thread? But I guess, this todo item is more for things like the string
functions. Or maybe just specify in the docs what may be done at the
same time from different threads, which functions are reentrant, where
the user should do their own locking, and what should maybe only be done
in the main thread (guess this last one isn't relevant with Allegro).

> - fix use of 32-bit 'long' on 64-bit platforms
> 

I wonder how far the state of this is. I remember some report that
Allegro works on 64-bit platforms with only some minor problems..


> - fix fb 24-bit scrolling (allegro presuming padding?)
> (maybe less important with newer hardware becoming the norm)

Hm, I never got fb working..

> - memory leaks in ljoy.c (search for malloc)

That should be checked.

> - make spec file work with older rpms, e.g. from RedHat 6.0
>   They don't like lines in %files section starting with non-`/'.

This item can be removed I guess.

> (also maybe less important nowadays)
> - ALSA driver should try different parameters when it cannot set the
>   parameters it wants the first time, ie. because the sound card is crap
> (fixed by now?)

I think this can also be removed, unless we get a bug report about it.
The problems Tomasu is having with Alsa apparently are not that
something can not be set, but that Allegro's polling approach doesn't
work very well with Alsa. But we might put a threaded Alsa driver on the
wishlist - like the SGI one.

> 
> X11 todos:
> ---------------------------------------------------------------------------
> 
> - remove `dga_mouse' config var when appropriate (newer servers have fixed
>   the bug this works around).  Wait until XF86 4.0 propagated..

Guess we can safely remove it.

> - speed up X11 driver (use asm colour conversion routines, for one)

That one is done, and with a nice 20% speedup in the program I tested
with. Further speedup could be added to the wishlist.

> - key[] should not be internationalised (e.g. KEY_S should always be set
>   for the key two to the right of CapsLock).  If we can't solve this in
>   time, include bukinm's xkeymap program.

That's also done (xkeymap is included). And the wishlist should get: A
sane X11 keyboard driver, following the model of the unix console and
Mac OSX ports, not using pckeys stuff.

> - play nice with WindowMaker (there's no appicon, for one)
> - ufixicon (generate src file that when linked, automatically sets icon)

I guess, your latest patch takes care of those two.

> - problem with mouse and keyboard events [fixed?]

Hm, anyone remember this one?

> - add an option to use the current palette in 8-bit mode

Hm, I think this could as well be marked as wishlist. I'd be really
surprised if we find anyone who would use this feature.

> 
> Anyway, that's quite a list. Not all of it needs to be done, but I feel 
> that a reasonable portion of those things should be for 4.2, in particular 
> with respect to multi threading.

Yeah, I agree. I attached a patch how I think the TODO could be updated
right now, given my comments above. Things like removing dga_mouse would
need to be done first of course.

-- 
Elias Pschernig
Index: todo.txt
===================================================================
RCS file: /cvsroot/alleg/allegro/todo.txt,v
retrieving revision 1.177
diff -u -p -r1.177 todo.txt
--- todo.txt	16 May 2004 06:02:35 -0000	1.177
+++ todo.txt	5 Jul 2004 11:26:41 -0000
@@ -33,27 +33,16 @@ Linux todos:
 ---------------------------------------------------------------------------
 
 - fix fb 24-bit scrolling (allegro presuming padding?)
-- make spec file work with older rpms, e.g. from RedHat 6.0
-  They don't like lines in %files section starting with non-`/'.
 - awaiting svgalib folks to provide an atexit-free vga_init
 - some problems with display switching
   [see AD thread "fbcon backgrounding" 2001-11-28 for symptoms]
-- ALSA driver should try different parameters when it cannot set the
-  parameters it wants the first time, ie. because the sound card is crap
 
 X11 todos:
 ---------------------------------------------------------------------------
 
-- remove `dga_mouse' config var when appropriate (newer servers have fixed
-  the bug this works around).  Wait until XF86 4.0 propagated..
-- speed up X11 driver (use asm colour conversion routines, for one)
-- key[] should not be internationalised (e.g. KEY_S should always be set
-  for the key two to the right of CapsLock).  If we can't solve this in
-  time, include bukinm's xkeymap program.
-- play nice with WindowMaker (there's no appicon, for one)
-- ufixicon (generate src file that when linked, automatically sets icon)
-- problem with mouse and keyboard events [fixed?]
-- add an option to use the current palette in 8-bit mode
+- Rewrite the X11 keyboard driver, following the model of the unix console
+  driver and the Mac OSX driver. Currently, we expect application users to
+  fiddle with xkeymap.
 
 Unix todos:
 ---------------------------------------------------------------------------
@@ -104,5 +93,9 @@ Wishlist:
 - XVideo driver under XFree86
 - simplify linux input subsystem (it's much more complicated than necessary)
 - Add support for more versatile sub-bitmap objects
+- Threaded Alsa driver, since the current one doesn't work properly for at
+  least one person.
+- Speed up the X11 driver, so it is comparable to SDL in performance.
+- Add an option to use the current palette in 8-bit mode.
 
 ---------------------------------------------------------------------------


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