Issues with DirectDraw of DirectX3?

Discussion in 'Parallels Desktop for Mac' started by Parallels User, Apr 11, 2006.

  1. Issues with IDirectDraw - full screen drawing

    I have an emulator that runs fine under XP and 2000 but within Parallels, almost immediately makes Parallels display the spinning beach ball, occasionally coming back for several seconds and then going bad again. It eventually affects all of OS X this way and can cause a kernel panic message/crash under OS X.

    This app uses DirectDraw of DirectX3 extensively to transfer to the primary surface buffer. Are there any known issues with this usage at this time?
     
    Last edited by a moderator: Apr 19, 2006
  2. Just verified that this is still a problem in Beta 4.
    MacBook Pro 2.0G, 1G memory
    OS X 10.4.6, fully updated
    Windows XP Pro SP 2, fully updated

    The application basically takes over the screen and does direct writes to the reserved memory on the primary surface. It works fine in Windowed mode in Parallels and in full screen on a native PC or under Virtual PC.

    Here is a snippet of the code that sets this up:

    IDirectDraw_SetCooperativeLevel(lpdd, hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
    IDirectDraw_SetDisplayMode(lpdd, RealX, RealY, BPP);

    ZeroMemory(&ddsd, sizeof(ddsd));
    ddsd.dwSize = sizeof(ddsd);
    ddsd.dwFlags = DDSD_CAPS;
    ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
    IDirectDraw_CreateSurface(lpdd, &ddsd, &DDSPrimary, NULL);

    I also ran a test with some example code from one of the Windows toolkits that does the same thing and then flips the frame buffers or something like that (the app doesn't need the flips). The code runs and writes status to the upper left hand corner of the screen but the image on the flipped screen (in the middle) does not display at all - same as the problem I am having. The code is the DDEX1.cpp/.exe which I can supply if Parallels doesn't have it.

    Is this a known bug or something not yet (but hopefully soon) implemented?
     
  3. DirectX3 support response

    I received a response from Parallels that this should be supported in the final release of 2.1. I have asked for a clarification but it sounds like this will be working.
     

Share This Page