Open GoogleCodeExporter opened 9 years ago
Apparently, anything that reads or writes directly to the front buffer
(lpDDS_Primary
in this case) or could potentially write pixels outside of the window will
immediately disable Aero.
Some of the blitters (I think the assembly-written ones and/or the plain 1x/2x
ones)
clearly violate this because I've noticed they spray pixels around the screen
outside
the window if any part of the window goes offscreen, which a proper blit to the
window region wouldn't allow. It's annoying enough to be worth fixing in its own
right, actually. This could also be caused by not having the window clippers
set up
properly, but I doubt that's the case since it works fine for some of the
render modes.
The screenshot function reads from the front buffer directly (but I don't think
it
should) so it probably has the same problem.
I'm guessing the main culprit is the function called Clear_Primary_Screen()...
it
should probably be changed to clear only the "letterbox" parts in the window
outside
of the game, and use GDI instead of a direct color fill to the primary buffer
to do it.
Failing that, if we were to add support for multiple render pipelines (you
know, like
in other emulators where you can select from GDI, DirectDraw, Direct3D or OpenGL
rendering) that would be a good workaround for people running Vista since they
could
choose a non-DirectDraw mode to avoid the problem.
Original comment by nitsuja-@hotmail.com
on 8 Aug 2008 at 8:51
Original issue reported on code.google.com by
farr...@bluetoaster.net
on 5 Aug 2008 at 5:26