First post, by BlackDoomer
- Rank
- Newbie
Well, this one might be quite obscure, but let's try, why not.
Many people know that OpenGL in Windows has always used DirectDraw (and previously DCI) to manage video memory. But far fewer know that WGL could also create contexts based on such surfaces, implying IDirectDrawSurface::GetDC() to retrieve a GDI-compatible handle. Here, for example, is just one of the mentions: https://www.gamedev.net/forums/topic/17640-op … ngl-directdraw/
I suspect that such contexts may have had certain limitations. Page flipping and layering almost certainly had to be done differently, since DirectDraw had its own support for both. But at the same time, there is an assumption that this approach could allow two things to be done that were never available in WGL itself: video device selection for OpenGL and exclusive full-screen mode.
According to the official gldrv.h header donated by Microsoft to the Mesa3D project, this feature appeared in Windows 2000 and was associated with the newly introduced DrvCreateDirectDrawContext() function in Installable Client Driver API. However, oddly enough, I couldn't find any video drivers that had an ICD DLL with this feature - neither new nor old. Although I saw a random claim on some Russian website (right on 9/11, oh Lord :o) that at least Riva TNT was supposedly able to do this.
I also found two logs mentioning this function call in the stack trace, but unfortunately without any hardware configuration details. Just as a proof of existence.
https://forums.ogre3d.org/viewtopic.php?t=360 … =249507#p249507
https://forum.gdevelop.io/t/game-develop-1-5-9979/6571/44
I hope there are enough dark wizards of old technology on VOGONS who still remember such video cards and could help me with this. Thanks anyway, though.
my English is broken beyond any repair, and I'm really sorry for that.