19/06/2010 OpenGL 4.0 drivers status (updated)

Both AMD and nVidia have just released 'official' OpenGL 4.0 drivers in their 'stable' drivers. The OpenGL Samples Pack is far from exhaustive but explores lot of the new OpenGL 3.3 and 4.0 features which makes it a good start to test the drivers. Consequently, I decide to give them a try but I also made my test with the early preview/beta drivers to see the progress of the implementations.

  • Green: the sample work just like expected.
  • Orange: The sample doesn't work correctly but with a workaround is works.
  • Red: The sample does't work and I haven't found any workaround.
  • Black: Really distubing problem!

If it does matter, the tests have been done on a Radeon 5850 and a GeForce GTX 470.

The following table gives you the results I got which brings several conclusions. The drivers haven't progress at all from the beta to the official version neither on AMD nor nVidia side. Currently the state of the nVidia drivers is better than AMD drivers as most nVidia problems have work form solutions. Beside few things at the big feature level doesn't work on nVidia drivers. On AMD side I quite find it hard to call it OpenGL 4.0 drivers... The AMD OpenGL team have been really willing to fix most of the problems I reported so that I expect the drivers to step up soon. Actually the main problem on AMD drivers is the conditional rendering (an OpenGL 3.0 feature!). Sometime it works but sometime it just freeze the computer which implies a hard reset... My programming experience would say that it looks like a multithreading issue which might be terribly awful to fix. (It might be something else, I don't have any clue!) Both AMD and nVidia have some really weird texture parameters behaviors so that if default min mag parameters are used sometime it works sometime is doesn't. Actually, it has been a long time problem however we don't need those to set most of texture parameters anymore... as there are part of the sampler object!

Do you want to start working with OpenGL 4.0? At least you are warned now. :p For the OpenGL Samples Pack 4.0.1.x, I expect to build some more exigent samples.

Drivers: AMD Catalyst 10.3 previewAMD Catalyst 10.6nVidia Forceware 197.44nVidia Forceware 257.21
400-transform-feedback-objectglDrawTransformFeedback doesn't workglDrawTransformFeedback doesn't work
400-sampler-gather
400-sampler-fetch Require textureQueryLOD instead of Lod Require textureQueryLOD instead of Lod
400-program-subroutineDoesn't select subroutineDoesn't select subroutine
400-program-tessellationNo glPolygonModeNo glPolygonMode
400-primitive-instanced
400-draw-indirect
400-buffer-texture-rgbTBO fetch not correctTBO fetch not correct
400-blend-mrtARB functions instead of coreARB functions instead of coreMin/mag tex param requiredMin/mag tex param required
330-vao
330-transform-feedback
330-test-scissor
330-sampler-wrap
330-sampler-swizzle
330-sampler-object
330-sampler-filter
330-sampler-fetch
330-sampler-anisotropy-ext
330-rasterizer-viewport
330-query-timerAccuracy issue?Accuracy issue?
330-query-occlusion
330-query-conditionalFreeze computer!Freeze computer!
330-primitive-shader
330-image-rectMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-image-arrayMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-image-2d-compressedMin/mag tex param requiredMin/mag tex param required
330-image-2dMin/mag tex param requiredMin/mag tex param required
330-fbo-texture-multisampleMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-fbo-srgbMin/mag tex param requiredMin/mag tex param required
330-fbo-multisampleMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-fbo-mrtMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-fbo-mipmaps
330-fbo-blit
330-draw-range
330-draw-multiple
330-draw-instanced-array
330-draw-instanced
330-draw-elements
330-draw-base-vertex
330-buffer-update
330-buffer-uniform
330-buffer-type
330-buffer-textureUnexpected warningsUnexpected warnings
330-blend-mrtMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param requiredMin/mag tex param required
330-blend-index

And this was the 300th post on G-Truc Creation!

UPDATED: Thanks to some feedbacks by nVidia, I have updated the samples and the results.

GLM 0.9.0.1 released >
< OpenGL Samples Pack 4.0.0.0 released
Copyright © Christophe Riccio 2002-2016 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5