nanogui: pixmap buffer patch!
Subject:
Re: [nanogui] Re: pixmap buffer patch!
From:
"Greg Haerr" ####@####.####
Date:
27 Aug 2002 15:05:35 -0000
Message-Id: <004b01c24dd9$ce470cc0$3aba46a6@xmission.com>
: * As I mentioned before, the hardest problem to solve cleanly with this,
: and which you don't seem to have attempted to solve, is the problem of
: what to do if something draws to the window that you are currently
: dragging. You need to either throw away the buffer or draw to both the
: buffer and the window (the former is probably easier).
I have exactly this problem with the multi-threaded
SMPEG using direct client framebuffer access (which
now works with GR*() locks.)
One solution is a known-named global semaphore, which
clients wanting to draw directly (either through direct
fb or above through shared memory) grab, and nanowm
grabs as well. Basically, we would require that
the client/nanowm grab the semaphore for the duration
of the draw/move.
An issue here is which type semaphore to use, I don't
want to code it as a Gr*() call, since that would
involve a client->server->client return trip, and defeat
the purpose of speed for mpeg displays...
Regards,
Greg