30/03/2011 March 2011 OpenGL drivers status

We are reaching the end of the month and it's at that point that both AMD and nVidia decided to release new drivers. On the AMD side, I have tested the Catalyst 11.3 and Catalyst 11.4 preview 2 but the results were exactly the same. On the nVidia side, I have initially tested the Forceware 267.91 which had actually the same results than last month Forceware 266.77 but the Forceware 270.51 released today force me to do a last minute update.

  • White: Unsupported or untested.
  • Blue: The sample works but it doesn't follow the OpenGL specification.
  • Green: The sample works following the OpenGL specification.
  • Orange: The sample doesn't work correctly but a workaround is possible.
  • Red: The sample does't work and I haven't found any workaround.
  • Black: Really distubing problem!
Drivers: AMD Catalyst 11.2 (15/02/2011)AMD Catalyst 11.4 preview 2 (23/03/2011)nVidia Forceware 266.77 (17/02/2011)nVidia Forceware 270.51 (30/03/2011)
410-texture-image-extNo even nearly working
410-texture-barrier-nv
410-sampler-fetch-dsa-ext
410-program-varyinggl_PerVertex redeclaration involves compiler errors...
410-program-separategl_PerVertex redeclaration involves compiler errors...
410-program-binaryWill crash after enough load and save instead of returning GL_FALSE.
410-program-64
410-primitive-tessellation-5Geometry explosionLot of error C5041: cannot locate suitable resource to bind paramter "null atom"
410-primitive-tessellation-2Geometry explosionLot of error C5041: cannot locate suitable resource to bind paramter "null atom"
410-primitive-bindless-nv
410-fbo-rtt-dsa-ext
410-fbo-multisample-dsa-ext
410-fbo-layeredUnexpected warningUnexpected warning
410-debug-output-arbAMD_debug_output support onlyAMD_debug_output support only
400-transform-feedback-object
400-texture-compression-arb
400-texture-buffer-rgb
400-sampler-gather
400-sampler-fetch
400-sampler-array
400-program-varying-structs
400-program-varying-blocksUnexpected warning / gl_in.length() not fully supportedUnexpected warning / gl_in.length() not fully supported
400-program-subroutine
400-program-64
400-primitive-tessellationUnexpected warningUnexpected warning
400-primitive-smooth-shadingUnexpected warningUnexpected warning
400-primitive-instancedUnexpected warningUnexpected warning
400-fbo-rtt-texture-array
400-fbo-rtt
400-fbo-multisample
400-fbo-layered
400-draw-indirect
400-buffer-uniformUnsupported uniform block arrayUnsupported uniform block array
400-blend-rtt
330-texture-arrayRequired glTexParameteri to setup filtering, sampler unsupported
330-sampler-objectSampler object doesn't always oversede texture parametersDoesn't handle more than one slot
330-fbo-srgbDrivers high on drugs with "optimizations"
330-fbo-multisampleRequire to set the filtering to the texture object instead of the sampler object
330-fbo-multisample-custom-resolveScissor test not disable when requestedDrivers high on drugs with "optimizations"
330-fbo-mipmapsScissor test ignored by glClearBufferScissor test ignored by glClearBuffer

AMD implementation has been messing around for months on sampler object and scissor test and March drivers are not an exception. Some issues on the sampler object has been fixed but it remains basically unusable because only the slot 0 is available. More than a year after the official release of OpenGL 3.3 specification and AMD drivers suposed to support it... On the regard of the scissor test, the situation got worse with this release. Finally, even these samples doesn't show it, AMD GLSL compiler is a field of crashes I experience many time and there is nothing more annoying than having the feeling that we must do the compiler job.

On nVidia side the new drivers show an evolution on the implementation fixed pipeline variable when using a program pipeline object. However 2 samples return some errors... It's possible that my implementations are not correct and I would not be suprized to recieve nVidia feedback on that topic.

In a conclusion, these days we can't expect using OpenGL 3.3 - 4.1 with either sampler object, program pipeline object, scissor tests... and even direct state access (DSA)

Drivers: AMD Catalyst 11.2 (15/02/2011)AMD Catalyst 11.4 preview 2 (23/03/2011)nVidia Forceware 266.77 (17/02/2011)nVidia Forceware 270.51 (30/03/2011)
400-error-sampler-fetchAMD doesn't support the GLSL extension mechanisumAMD doesn't support the GLSL extension mechanisum
330-error-vaoA VAO isn't required by nVidia implementationA VAO isn't required by nVidia implementation
330-error-sampler-offsetGLSL compiler crashGLSL compiler crash
330-error-sampler-gatherAMD doesn't support the GLSL version mechanisumAMD doesn't support the GLSL version mechanisum

No changes this month on error related samples.

Drivers: AMD Catalyst 11.2 (15/02/2011)AMD Catalyst 11.4 preview 2 (23/03/2011)nVidia Forceware 266.77 (17/02/2011)nVidia Forceware 270.51 (30/03/2011)
410-program-varying-gtcA specification fix would be greatA specification fix would be greatA specification fix would be greaterror: unknown buildin varying parameter (named gl_PerVertex.gl_Position) encountered
410-program-separate-dsa-gtcA debug output warning would be niceA debug output warning would be niceA debug output warning would be niceA debug output warning would be nice
410-fbo-multisample-dsa-gtcglTextureImage2DMultisample not available as specify by OpenGL...glTextureImage2DMultisample not available as specify by OpenGL... Supported through GL_NV_texture_multisample Supported through GL_NV_texture_multisample
400-sampler-array-gtcNot supported as OpenGL specify...Not supported as OpenGL specify...A GLSL compiler warning would be niceA GLSL compiler warning would be nice
400-buffer-uniform-shared-gtcNot supported as OpenGL specify...Not supported as OpenGL specify...A GLSL compiler warning would be niceA GLSL compiler warning would be nice
330-draw-instanced-array-dsa-gtcNot supported as OpenGL specify...Not supported as OpenGL specify...

I received an email from Piers Daniell last month about the 410-fbo-multisample-dsa-gtc sample to inform me that the DSA version of glTexImage2DMultisample is supported by nVidia through the extension GL_NV_texture_multisample. This is a great think, an edge for sure on DSA but many more problematic cases remains as listed in a previous post about DSA.

The new fixed function varying variable implementation of nVidia drivers involve a regression here as seperated GLSL programs and uniformed GLSL programs can't be implemented the same way anymore...

GLI 0.3.0.3 released >
< OpenGL Samples Pack 4.1.5.1 released
Copyright Christophe Riccio 2002-2013 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5