GNOME Bugzilla – Bug 753295
Gets unknown enumeration value warnings when running the Nvidia proprietary driver
Last modified: 2015-08-06 15:16:14 UTC
When running gnome-maps using clutter from recent git master, you get warnings like these: (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1078: GL error (1280): Invalid enumeration value (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1079: GL error (1280): Invalid enumeration value (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1080: GL error (1280): Invalid enumeration value (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1081: GL error (1280): Invalid enumeration value (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1082: GL error (1280): Invalid enumeration value (org.gnome.Maps:1236): Cogl-WARNING **: ./driver/gl/cogl-framebuffer-gl.c:1083: GL error (1280): Invalid enumeration value The champlain (map view) widget becomes unresponsive, the rest of the GTK+ interface continues to function, though.
Created attachment 308818 [details] [review] gl3: Don't use deprecated constants glGetIntegerv (GL_DEPTH_BITS, ... and friends are deprecated in GL3, we have to use glGetFramebufferAttachmentParameteriv instead. --- Seems to be fallout from the GL3 change, I sent Marcus that patch yesterday and it seemed to fix the issue for him.
Re-assigning to the right product/component.
Created attachment 308845 [details] [review] gl: Do not use deprecated constants with the GL3 driver glGetIntegerv (GL_DEPTH_BITS, ... and friends are deprecated in GL3, we have to use glGetFramebufferAttachmentParameteriv instead, like we do for offscreen framebuffers. Based on a patch by: Adel Gadllah <adel.gadllah@gmail.com> Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
Review of attachment 308818 [details] [review]: Thanks for the patch. ::: cogl/driver/gl/cogl-framebuffer-gl.c @@ +1073,3 @@ } } + else if (ctx->driver == COGL_DRIVER_GL3) I don't think it's a good idea to add a separate branch copying the same code that we use for the offscreen framebuffers. I'd just add a condition to the existing branch: if (ctx->driver == COGL_DRIVER_GL3 || (...)) { } and change the value of the attachment field depending on whether we're querying an FBO or the default framebuffer.
Review of attachment 308845 [details] [review]: OK this looks indeed cleaner.
Thanks for the review. Pushed to the cogl-1.20 and cogl-1.22 branches. Attachment 308845 [details] pushed as 236efb7 - gl: Do not use deprecated constants with the GL3 driver