Microsoft to wrap OGL over D3D in Vista

My opinion from http://www.gamedev.net/community/forums/topic.asp?topic_id=337097

But what about my point of shipping OGL games on a Linux boot disk? If only as an option for higher performance. If people start doing it now, while Linux drivers are still pretty good, then we can beat MicroShaft's monopoly. Soon the IHVs will be coerced to make better drivers, performance will keep going up, and MS will be left in the dust in every way. You also, via the game engine, get a nice HW accelerated GUI basically free. You can hook this into Linux, and allow the user a full Linuk desktop experance as an option, further eroding the MS mindshare. It's the perfect plan, well mostly.
 
it would be nice.... with Vista coming i am will prolly switch to Linux anyway. only thing keeping me away is that some software i need doesnt have Linux versions.....
 
I am confussed.

The new WDK (Windows Driver Kit) contains more information about writeing an OpenGL ICD than ever before.

The wrapper is only use if the graphics driver don't have an own ICD for OpenGL. This is better than the current 1.1 softwaresupport that we have with Windows XP.

It is right that every new OpenGL ICD need to use the new graphics kernelfunctions. This is nessary to make sure that shareing the memory and GPU between more than one API and process will work in a way that not one can block all others. Maybe the names of this kernel functions (some contains D3D) have confused some persons.

As the current nVidia driver for Vista don't contains an OpenGL ICD it loks like sonebody have try a Windows XP driver. You can use Windows XP drivers but this will disable Aero.
 
as it seems the real issue is that even a longhorn-compatible OpenGL-ICD cannot use Aero with the current architecture, only the MS-provided driver (which is only version 1.4/no extensions/layered on top of DX) can do this. but lets hear from someone who should have firsthand experience:
OpenGL.org Discussion said:
[font=Verdana, Helvetica, sans-serif]This information came from the OpenGL BOF held at Siggraph 2005 in LA this last Wednesday evening. This was confirmed at the BOF by NVIDIA, ATI and us (3Dlabs).

As soon as an ICD is loaded the composited desktop is turned off on Windows Vista. If you want the composited desktop Aeroglass experience, you will need to make your application go through Microsoft's OpenGL implementation, which is layered on top of DirectX. As pointed out earlier, this layering can have performance implications. Their implementation supports OpenGL version 1.4 only, without extension support.

We believe it possible to provide an ICD with full composited desktop support while adhering to the stability and security requirements in Windows Vista. But we need Microsoft's help in doing so.

Therefore, as mentioned before, please let your contact in the ISV or IHV or OEM community know how you feel about this and spread the word.

For some more information, you can browse these Microsoft Winhec slides:

"Windows Graphics Overview [WinHEC 2005; 171 KB]" http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWPR05007_WinHEC05.ppt

"Advances in Display and Composition Architecture for Windows [WinHEC 2005; 422 KB]" http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWPR05005_WinHEC05.ppt

Regards,
Barthold
3Dlabs
[/font]
 
The main problem is likely to be the Aero desktop using different shaders (DX), and it being hard to mix OGL and DX shaders at the same time. And you cannot support extensions when they have to run on top of DX, instead of going directly to the hardware driver.

Add in the resource management and the whole .NET stuff, and it's not surprising. The limitations are probably mostly a very nice bonus to MS.
 
DiGuru said:
The main problem is likely to be the Aero desktop using different shaders (DX), and it being hard to mix OGL and DX shaders at the same time. And you cannot support extensions when they have to run on top of DX, instead of going directly to the hardware driver.

The shaders could not be the problem. The composition engine from Aero don't know anything about the shaders that are used to render the child area of the windows. The composition engine have only access to the memory block that contains the "frontbuffer" for a window. This means that every app have a full state maschine.

DiGuru said:
Add in the resource management and the whole .NET stuff, and it's not surprising. The limitations are probably mostly a very nice bonus to MS.

.Net ist not at this level. Avalon use .Net but this is ar a more higher level in the software stack.

It is right that every app have to use the resource managment. But this is part of they kernel graphics system. This is below the direct3D driver. The WDK contains all the information that is need to use the kernel graphics api to write an OpenGL ICD.

This is the reason why I am confused. As all graphic APIs use the same kernel API to get a memory block for the frontbuffer the composition engine should not care about the API that is used to fill this memory block.

As I don't see this BOF session at Siggraph I am not sure what excatly is confirmed. They only thing I know for sure is that if you install a windows XP driver with a full OpenGL ICD Aero stops working. As the current Vista driver for my 6800 GT don't contains an OpenGL ICD it use the wrapper. This means

No Vista driver = no Aero
Vista driver = no OpenGL ICD

I am not sure at the moment if the ATI vista driver already contains an Vista OpenGL ICD.
 
So it's not nearly as bad at the initial information might make one believe? As long as the driver contains its own ICD, things will basically remain as they are with existing versions of Windows?
 
The WDK contains a better graphics to show how it should work.
 

Attachments

  • VistaGraphicsSubsystem.PNG
    VistaGraphicsSubsystem.PNG
    15.3 KB · Views: 187
Back
Top