30/07/2011 July 2011 OpenGL drivers status: OpenGL 4.1 for NVIDIA

Congratulation to NVIDIA which new drivers 280.19 run all the OpenGL 4.1 samples successfully. The last bug on the shader interface matching has been fix to archive this result.

I am not going to say that everything is perfect, it would be the duty of a conformance test suite but as far as this one hundred samples goes, NVIDIA OpenGL 4.1 drivers works and I believe ready for production.

There is maybe one hiccup regarding the way NVIDIA drivers clip point sprites. According to the specification the point pritimitive must be clipped at vertex position but this approach leads to disturbing popping artefact when the size of the point is higher than one pixel. An easy workaround is to take into account the derived size of the point for the clipping using the value output in gl_PointSize. I don't if it'a what NVIDIA does but their rendering is pop free which is a feature to me. It might be useful to have a glPointParameter*(GL_CLIPPING, value="") where values could be either GL_VERTEX_POSITION or GL_POINT_SIZE or something like that.

On AMD OpenGL drivers side, no change this month beside a new bug detected on point sprite rendering. A lot of improvements are to be released but until then this is all we got.

OpenGL Samples Pack 4.1.7.2: ogl-330-primitive-point-sprite rendering on Forceware 280.19. No scissor test enabled for the points clipping. An embodiment of perfection!
OpenGL Samples Pack 4.1.7.2: ogl-330-primitive-point-sprite rendering on Forceware 280.19. No scissor test enabled for the points clipping. An embodiment of perfection!
  • 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!

These tests built in 64 bits and ran on Windows Seven 64 using the OpenGL Samples Pack 4.1.7.2, minor update to be release soon.

OpenGL Samples Pack 4.1.7.2, OpenGL specification testsAMD Catalyst 11.7 preview (29/06/2011)AMD Catalyst 11.8 preview (26/07/2011)NVIDIA Forceware 275.50 (21/06/2011)NVIDIA Forceware 280.19 (27/07/2011)
410-texture-image-extBlack screenBlack screen
410-sampler-fetch-dsa-ext
410-program-separate-dsa-ext
410-program-binary
410-program-64
410-primitive-tessellation-5Block member not active with linked sperated programBlock member not active with linked sperated program
410-primitive-tessellation-2Rendezvous by location not supported on structures
410-primitive-instancedlayout(location = 0) flat out vec4 Color; generates a parsing error.layout(location = 0) flat out vec4 Color; generates a parsing error.
410-fbo-rtt-dsa-ext
410-fbo-multisample-dsa-ext
410-fbo-layered
410-debug-output-arbProvide a nice and explicit error messageProvide a nice and explicit error message
400-transform-feedback-streamlayout(location = 0, stream = 0) result in error: layout location can only set once. Only half of the geometry renderedlayout(location = 0, stream = 0) result in error: layout location can only set once. Only half of the geometry rendered
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
400-program-subroutine
400-program-64
400-primitive-tessellation
400-primitive-smooth-shading
400-primitive-instanced
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-pixel-store
330-transform-feedback-separatedGetTransformFeedbackVarying returns the wrong value for the size parameterGetTransformFeedbackVarying returns the wrong value for the size parameter
330-transform-feedback-interleavedGetTransformFeedbackVarying returns the wrong value for the size parameterGetTransformFeedbackVarying returns the wrong value for the size parameter
330-fbo-srgbA scissor test optimizations introduce a rendering bugA scissor test optimizations introduce a rendering bug
330-error-sampler-offsetGLSL compiler crashGLSL compiler crash
330-draw-emptyLocation 0 must be boundLocation 0 must be bound
OpenGL Samples Pack 4.1.7.2, proprietary featuresAMD Catalyst 11.7 preview (29/06/2011)AMD Catalyst 11.8 preview (26/07/2011)NVIDIA Forceware 275.50 (21/06/2011)NVIDIA Forceware 280.19 (27/07/2011)
410-texture-copy-nvNV_copy_image not supportedNV_copy_image not supported
410-texture-barrier-nv
410-primitive-bindless-nvNV_shader_buffer_load not supportedNV_shader_buffer_load not supported
410-fbo-multisample-amdAMD_sample_positions not supportedAMD_sample_positions not supported
410-fbo-multisample-dsa-nvNV_texture_multisample not supportedNV_texture_multisample not supported
410-draw-instanced-amdRender only 1 primitive over 2Render only 1 primitive over 2AMD_multi_draw_indirect not supportedAMD_multi_draw_indirect not supported
OpenGL Samples Pack 4.1.7.2, specification bugs workaroundAMD Catalyst 11.7 preview (29/06/2011)AMD Catalyst 11.8 preview (26/07/2011)NVIDIA Forceware 275.50 (21/06/2011)NVIDIA Forceware 280.19 (27/07/2011)
400-sampler-array-gtcNo workaround for this specification bugNo workaround for this specification bugAllows dynamic indexing of the sampler arrayAllows dynamic indexing of the sampler array
400-buffer-uniform-shared-gtcNo workaround for this specification bugNo workaround for this specification bugProvide a workaround for this specification bugProvide a workaround for this specification bug
330-primitive-point-sprite-gtcglPointParameteri (GL_POINT_SPRITE_COORD_ORIGIN, ...) ignoredglPointParameteri (GL_POINT_SPRITE_COORD_ORIGIN, ...) ignoredPop free clippingPop free clipping
330-draw-instanced-array-dsa-gtcNo workaround for this specification bugNo workaround for this specification bugNo workaround for this specification bugNo workaround for this specification bug
OpenGL Samples Pack 4.1.7.2 released >
< MacOS X 10.7 released with OpenGL 3.2 support
Copyright Christophe Riccio 2002-2016 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5