nanogui: Patch for Shared Memory Pixmaps
Subject:
Patch for Shared Memory Pixmaps
From:
"David T Eger" ####@####.####
Date:
9 Aug 2001 15:45:54 -0000
Message-Id: <OF290A2E8B.6BC65C16-ON85256AA3.00559065@raleigh.ibm.com>
I've made a modification to nano-X to support the following mode of
interaction:
+ User program shmget()s and shmat()s a portion of shared memory to use as
a pixmap in the same format as the screen (i.e. if the screen is 16bpp,
this buffer is 16bpp)
+ User program sends GrNewPixmap the shm id of this region.
+ nano-X shmat()s the region, and uses it later on with Pixmap functions
One problem is that to support this patch, the format of GrNewPixmap
changes, possibly breaking a number of programs. It goes from:
< GR_WINDOW_ID GrNewPixmap(GR_SIZE width, GR_SIZE height, void * addr);
----
> GR_WINDOW_ID GrNewPixmap(GR_SIZE width, GR_SIZE height, int shmid);
and the default of "No, this isn't shared memory, just a regular old Pixmap
request" goes from addr=0 to shmid=-1, since shmget() specifies -1 as the
invalid value for the id of a System V shared memory region.
Is this useful? Is it the same intent as the FIXME comments for shared
memory? Should I clean it up and post it somewhere?
-David