Hi,
> Shared memory Xlib works now!
Great! :-)
> The main window isn't a shared pixmap yet; but I'll tackle that next.
> All of the back buffers are though..
I don't think the main window needs to be shared; we only instruct the X
Server to copy the front buffer to it anyway.
(Clarification: (Yes, I WILL write gfx subsystem docs...)
Static buffer: Background pic(s)
Back buffer: The buffer where most of the work is done; data is
propagated here from the static buffer, cels are added
(as are text and- if emulated- pointers)
Front buffer: The "visible" buffer
The Xlib driver has the front window as an additional buffer; that buffer
may be destroyed by various means, so it is restored from the front buffer
whenever exposure events occur).
> I'm interested to hear what kind of speed improvements this stuff makes
> for everyone else... give it a shot, please!
Can't comment on performance from my work box, as I'm not used to
checking for that here; I'll try it at home.
We need benchmarks for those kinds of things...
BTW:
GFX-XLIB 163:X11 error: BadPixmap (invalid Pixmap parameter)
right after the sound server finished initializing.
> Also -- A "new" bug:
>
> QFG1: The dragon's firey breath in the intro sticks near the top of the
> screen; it looks like recent gfx changes broke it differently than it
> was already broken. :)
brrect <= nsrect_clip(nsrect, priority), and we clip against
nsrect_clip(nsrect, priority) now, so that's not really surprising.
Interesting. Somehow CanBeHere() acknowledges that views with signal &
0xc000 should always be allowed to be there, but it doesn't return... fix
incoming.
llap,
Christoph