Index: [thread] [date] [subject] [author]
  From: Alexander Larsson <alla@lysator.liu.se>
  To  : ggi-develop@eskimo.com
  Date: Mon, 13 Jul 1998 14:43:29 +0200

Re: Frames...

> It was decided that ggi_info_fb should be removed, and the directbuffer
> stuff should be used instead.  So yeah the LIBGGI_FB_* macros will need
> replacing.
 Ok, this sounds smart to me.

> 
> Here's what could be done :
> 
>     1. Add the following to ggi_info:
>           
>           ggi_directbuffer *read_db;
>           ggi_directbuffer *write_db;
> 
>        (Remember each frame has it's own directbuffer).  
>        
>        These two fields would be updated by ggiSetReadFrame() and
>        ggiSetWriteFrame() respectively -- by scanning through the
>        directbuffer list (ggi_info.db) and finding frame N.

 Ok, this list (ggi_info.db) isn't very well documented... Does it contain 
only one db for each frame in order 0 upto numframes-1 or can it also contain 
other buffers (like z-buffers and so)? If so, how do i scan it and find frame 
N?

Another related question: which buffer does ggiDBGetBuffer return? I suppose 
it returns the first frame (0) and you have to follow the next pointer to get 
to the next frame. Also these are guaranteed to be of the same size and layout?

>     2. LIBGGI_FB_LINEAR is replaced with:
> 
>           #define LIBGGI_PLB_READ_FRAME(vis)  \
>                   (vis->info.read_db->buffer.pixellinearbuffer.read)
>           #define LIBGGI_PLB_WRITE_FRAME(vis)  \
>                   (vis->info.write_db->buffer.pixellinearbuffer.write)
>    
>        (with other defines for non PLB buffers)

 Ok, seems ok.

>     3. LIBGGI_FB_WIDTH & LIBGGI_FB_HEIGHT are replaced with:
> 
>           #define LIBGGI_PLB_WIDTH(vis)  \
>                   (vis->info.write_db->buffer.pixellinearbuffer.size.x)
>           #define LIBGGI_PLB_HEIGHT(vis)  \
>                   (vis->info.write_db->buffer.pixellinearbuffer.size.y)
> 
>        (with other defines for non PLB buffers)
> 
>     4. Similiar changes for LIBGGI_FB_BPP et al.
> 
 Good.

> So folks, how does this sound ?
 I'm still a bit unsure about the exact definition of these different 
directbuffers... Please enlighten me.

> >  This will mean binary incompatibility...
> 
> LibGGI binary compatibility is something we *definitely* shouldn't worry
> about right now IMHO.  It is still very much a moving target (both
> externally and internally).
> 
 I Agree, but if we start breaking things now we should 'break it all' as soon 
as possible to have fewer problems later.
 
/ Alex



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