Index: [thread] [date] [subject] [author]
  From: becka@rz.uni-duesseldorf.de
  To  : Carsten Schmidt <y0011145@ws.rz.tu-bs.de>
  Date: Thu, 22 Apr 1999 20:24:18 +0200 (MEST)

Re: libggi and direct buffers

Hi !

> i want to port allegro a game programming library for to linux using
> ggi. 

This is good news. Thanks ! I've been pondering that for quite a while
now, and I'm glad someone else takes it, as I have limited time.

> however some things seem to be impossible to port to linux without
> losing some of allegro's functionality.

You know, that Linux ports for Allegro exist - or ? Though none for GGI,
and I'd really like to see one.

> 1) is it possible sync up with the vertical retrace of the pc's monitor?

Yes. This is in the ggimisc extension which comes with LibGGI as a
demo-extension.

> i know there is function called ggiAddFlags. 

No - SYNC/ASYNC is something completely different. It is related to _when_
stuff gets _drawn_ on targets that are not directly connected to some
hardware, but e.g. have to push data through a network connection like X.

> this would be extremely
> useful for setting the pallete, because setting the palette during
> vertical retrace reduces flicker on the screen.

Hmm - cards that have palette-snow should be off the market for a while I
hoped ...

Well - whatever. The functions you want are:

int ggiGetRayPos (ggi_visual_t vis,sint32 *x,sint32 *y);
int ggiWaitRayPos(ggi_visual_t vis,sint32 *x,sint32 *y);

They are in the "misc" extension, so remember to use

int ggiMiscInit(void);
int ggiMiscExit(void);

and 

int ggiMiscAttach(ggi_visual_t vis);
int ggiMiscDetach(ggi_visual_t vis);

and include <ggi/misc.h>

> 2) allegro also gives transparent access to linear/paged graphic boards.
> it therefore requires the granularity of a memory page to be mapped into
> a single segment. however this value semms to be missing in ggi's direct
> buffer struct. or is ggi_pixelplanarbuffer.next_page equal to such a
> value? can you give me a deeper look of what paged buffers in ggi mean?

GGI - on it's preferred targets - avoids paged modes altogether. KGI used to
linearize paged framebuffers in kernel using the MMU. You would always get
a linear buffer, even if the card itself is paged.

Hmm - SVGAlib might have such paged buffers exported. Marcus - any comments ?

CU, Andy

-- 
= Andreas Beck                    |  Email :  <andreas.beck@ggi-project.org> =

Index: [thread] [date] [subject] [author]