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-ext No even nearly working 410-texture-barrier-nv 410-sampler-fetch-dsa-ext 410-program-varying gl_PerVertex redeclaration involves compiler errors... 410-program-separate gl_PerVertex redeclaration involves compiler errors... 410-program-binary Will crash after enough load and save instead of returning GL_FALSE. 410-program-64 410-primitive-tessellation-5 Geometry explosion Lot of error C5041: cannot locate suitable resource to bind paramter "null atom" 410-primitive-tessellation-2 Geometry explosion Lot 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-layered Unexpected warning Unexpected warning 410-debug-output-arb AMD_debug_output support only AMD_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-blocks Unexpected warning / gl_in.length() not fully supported Unexpected warning / gl_in.length() not fully supported 400-program-subroutine 400-program-64 400-primitive-tessellation Unexpected warning Unexpected warning 400-primitive-smooth-shading Unexpected warning Unexpected warning 400-primitive-instanced Unexpected warning Unexpected warning 400-fbo-rtt-texture-array 400-fbo-rtt 400-fbo-multisample 400-fbo-layered 400-draw-indirect 400-buffer-uniform Unsupported uniform block array Unsupported uniform block array 400-blend-rtt 330-texture-array Required glTexParameteri to setup filtering, sampler unsupported 330-sampler-object Sampler object doesn't always oversede texture parameters Doesn't handle more than one slot 330-fbo-srgb Drivers high on drugs with "optimizations" 330-fbo-multisample Require to set the filtering to the texture object instead of the sampler object 330-fbo-multisample-custom-resolve Scissor test not disable when requested Drivers high on drugs with "optimizations" 330-fbo-mipmaps Scissor test ignored by glClearBuffer Scissor 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-fetch AMD doesn't support the GLSL extension mechanisum AMD doesn't support the GLSL extension mechanisum 330-error-vao A VAO isn't required by nVidia implementation A VAO isn't required by nVidia implementation 330-error-sampler-offset GLSL compiler crash GLSL compiler crash 330-error-sampler-gather AMD doesn't support the GLSL version mechanisum AMD 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-gtc A specification fix would be great A specification fix would be great A specification fix would be great error: unknown buildin varying parameter (named gl_PerVertex.gl_Position) encountered 410-program-separate-dsa-gtc A debug output warning would be nice A debug output warning would be nice A debug output warning would be nice A debug output warning would be nice 410-fbo-multisample-dsa-gtc glTextureImage2DMultisample 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-gtc Not supported as OpenGL specify... Not supported as OpenGL specify... A GLSL compiler warning would be nice A GLSL compiler warning would be nice 400-buffer-uniform-shared-gtc Not supported as OpenGL specify... Not supported as OpenGL specify... A GLSL compiler warning would be nice A GLSL compiler warning would be nice 330-draw-instanced-array-dsa-gtc Not 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...