[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> I've examined a little the DX windowed driver (your code), and it
> seems to me
> it updates the window during the bitmap release only, updating the
> whole
> screen, and not just the modified lines (correct me if I'm wrong!
> I've not
> examined it very well)
Initially I coded the functions in update.s to update the whole screen,
but just tweaking some parameters in DDSURFACEDESC, this functions can
update just a portion of the screen, so they are used also in line
switching routines to update a line, or in accelerated functions to
update a rectangle
> BeOS windowed driver currently works similar to the X one, except
> it has one
> updating method only (direct memory writes).
> What do you suggest?
> A possible solution would be to code a set of routines that take
> two pointers
> of the source and dest bitmaps data, and the x, y, width and
> height of the
> rectangle to update. This is exactly how current X and Be color
> conversion
> routines work; something like:
>
> void update_bpp_to_bpp(void *source, void *dest, int x, int y, int
> w, int h);
I agree, I could change a bit the functions to support this interface
> This set of routines could then be used by all the windowed
> drivers that need
> them. But the problem is that you have to change the current way
> the DX
> windowed driver work; can you convert the routines in update.s to
> support the
> given parameters (and not to update the whole screen)? Your asm
> routines
> could then be used also in X and Be, with a great benefit.
No problem
> Of course we'd also need to discuss the paletted conversion
> problem; I've
> seen Windows driver doesn't support conversion from true/hicolor
> to 8bit,
> while X does.
Right, who has a 8 bit depth desktop??? :)
___________________________________________________________________
Consigue tu e-mail gratuito TERRA.ES
Haz click en http://www.terra.es/correo/