On Thu, 24 May 2001, Brian S. Julin wrote:

> 
> On 23 May 2001, Tijs van Bakel wrote:
> > #1 implementing all drawops is near impossible, given that there are
> >  so many bitdepths to support and perhaps there will be new drawops
> >  for, say, libggi2d.  Perhaps batchops will solve this problem?
> 
> Well, more accurately, having blt ops will help solve the problem, and
> we'll be using batchops to access blt ops.

Exactly. IMO a pseude-target for libblt is the right way to do that.
It works the same way as libggi's sub-target with the difference
that libblt's scale-target provides scaling instead of a "sub-window"
on another visual.

> >  Obviously it would be faster if the do_blit had access to src_buf and
> >  dest_buf directly, without having to do a GetHLine or PutHLine.  It
> >  seems reasonable that dest_buf can be both directbuffered or not, so
> >  I would have to support both cases here.  However, can I be sure that
> >  the source buffer is always a memory visual?  Or are there specific
> >  cases in which one would have a non-directbuffered source target
> >  here?
> 
> Check the db struct in the visual, that should say whether directbuffer
> access is there.  The problem, though is that you have more than a 
> simple bitdepth conversion; you also have a conversion between different
> pixelformats (RGB, BGR, 565, 555).  Palemu had a very narrow purpose,
> so it did not have to deal with so many variables.

Inside the scale-target from above, you can ask libgalloc for the
storage and the _exact_ layout of each buffer.
 
> > #3 the input mouse events have to be translated.  Now I noticed that
> >  ggiReadEvent() can not be overloaded.  Do I have to build a special
> >  input target or filter in libgii as well?  If so, should this be a
> >  filter or a target?
> 
> I think filter, which now is just another name for an input.  Altering
> the filter-mouse to take simple translations via load-time options,
> instead of loading from a config file, would allow display-scale to
> open it as an input and get it to do what it needs.

Agree fully here.
 
> > #4 (less important for now) What would eventually be a good way to
> >  combine targets for optimization?  I.e., the palemu and scale target
> >  could be combined to do a 320x200x8bpp to 640x400x16bpp conversion in
> >  one pass.

Yes. We can add a BLT_DISPLAY env variable for libblt. Then you can
do BLT_DISPLAY="scale", which forces libblt to "render" on a default
visual through the scale-target or you can do BLT_DISPLAY="scale:X",
which forces libblt to "render" to the X-target through the
scale-target.
 
> All I'll say on this for now is that I'm keeping in mind stuff like
> this with the batchop/super-renderer stuff we talked a bit about on IRC.

Agree. We can start working on it as soon as libblt has a stable
API...
 
> > #5 (also somewhat less important) What would be a good way to make the
> >  zoom functions available to library functions as well?  Should the
> >  target use library functions?  Should these go in the default/
> >  directory, or does this still belong in the display/ directory?
> 
> I'm unclear as to what you mean here.

Me too.
 
> > #6 anyone interested in a rotozoom target? :-)
                              ^^^^
What does "roto" mean? "ROTatiOn"?
 
> I sure someone would think it neat.

If I guess right, then it should be a pseude-target, too.


CU,

Christoph Egger
E-Mail: [EMAIL PROTECTED]

Reply via email to