Hi Steven,ssolie wrote:There is some bug in the PIP support but CygnusEd (the author) has not yet managed to contact any of us to record the bug so it remains unsolved. We need a simple test program at aminimum to reproduce the issue.
yes I know, I should have reported the bug already, but I was working on so much other things.
Maybe it is too late, but here is a short description of the problem:
In my display driver I open an overlay window with the desired pixel format "R5G6B5" this way (incomplete and simplified source):
screen = IIntuition->LockPubScreen("Workbench");
win = IP96->p96PIP_OpenTags(
P96PIP_SourceFormat, RGBFB_R5G6B5, /* Pixel format of overlay */
P96PIP_SourceWidth, 800, /* Width of overlay surface */
P96PIP_SourceHeight, 600, /* Height of overlay surface */
WA_Left, 10,
WA_Top, 10,
WA_CustomScreen, (LONG) screen,
WA_NoCareRefresh, TRUE,
WA_DragBar, TRUE,
WA_CloseGadget, TRUE,
WA_DepthGadget, TRUE,
WA_Activate, TRUE,
WA_Title, "AmiCygnix Window",
WA_NewLookMenus, TRUE,
TAG_DONE);
IP96->p96PIP_GetTags(win, P96PIP_SourceBitMap, (ULONG) &bitmap, TAG_END);
lockhandle = IP96->p96LockBitMap((struct BitMap *) bitmap, (UBYTE *) &rinfo, sizeof(struct RenderInfo));
videomem = rinfo.Memory;
Afterwards I write the gfx data in R5G6B5 format directly into the video memory. This worked in the first release of OS 4.1, but not in update 1 and 2.
I can write an example program an post a link to it here - if it makes sense.