Index: [thread] [date] [subject] [author]
  From: Andreas Beck <becka@rz.uni-duesseldorf.de>
  To  : ggi-develop@eskimo.com
  Date: Thu, 17 Jun 1999 20:31:17 +0200

Re: Sucking the marrow out of hardware (Re: libGGI on matroxfb with Mystique)

> Which targets donīt support blitting from offscreen space?
> Are they emulated then? (sysmem or vidmem, does not matter)

You can always crossblit from a memvisual. Note, that the memory target has
a tricky mode that might help you:

# memory-target
#
# Emulates a linear framebuffer in main memory. This memory area can be
# a shared memory segemnt, an area specified by the application, or be
# malloc()ed by the memory-target itself.
#
# Arguments
#
# [-input:][shmid:<sid>|keyfile:<;size>:<id>:<fname>|pointer]
#         * shmid         - use existing shmid <sid>
#         * keyfile       - create a new shm segment with id ftok(<fname>,<id>)
#                of size <size> (preferred method !)
#         * pointer       - use the memory pointed to by argptr.

You could thus create a memvisual that contains your internal backbuffer and
use LibGGI drawing functions on it.

> This means: Can I do the following steps with every target?
> 1. Create a visual with virtual height greater than visible height.

No. Some targets cannot do that. All video cards, when they are out of RAM.

> 2. ggiPutBox into the resulting "dead" area.
> 3. ggiCopyBox from them.

That wouldn't gain much. You could as well directly put to the final
destination. Only advantage I see is when CopyBoxing is much faster than
PutBoxing, as then you will have less flicker.

CU, Andy

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

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