[QUOTE=Dan Bartlett;1244456]How about without PFD_GENERIC_ACCELERATED specified in pfd.dwFlags?
Asking for a pixel format that supports a software implementation of OpenGL, and then creating an OpenGL 4.2 context may be the cause of the problem.[/QUOTE]
Removing that did not change anything.
Also the MSDN docs say next to PFD_GENERIC_ACCELERATED:
The pixel format is supported by a device driver that accelerates the generic implementation. If this flag is clear and the PFD_GENERIC_FORMAT flag is set, the pixel format is supported by the generic implementation only.
Which indicates that it is the opposite of what you think, it looks for a non-generic implementation.
I am running this on my HP latop which comes with two GPUs - an integrated one in the CPU/APU, and a dedicated GPU. AMD calls this Radeon Dual Graphics.
In the AMD driver control panel I can control whether a program runs in power saving mode - which means it only runs on the APU, or high performance mode - which runs it on both GPUs using CrossFire.
When I run it in high performance I get the corruption, but when I run it in power saving it correctly renders solid red.
So it must be a bug in the CrossFire driver.
EDIT: Just checked the current Catalyst driver versions, I was running Catalyst 12.11 Beta 3, which is about 1 month old, the current version 12.11 Beta 7.
I will test to see if the bug is still in Beta 7 - when it finishes downloading…