diff --git a/src/modules/graphics/opengl/OpenGL.h b/src/modules/graphics/opengl/OpenGL.h index 8ad9907c6..8bcf90ade 100644 --- a/src/modules/graphics/opengl/OpenGL.h +++ b/src/modules/graphics/opengl/OpenGL.h @@ -171,16 +171,36 @@ public: struct Bugs { - // On AMD's Windows (and probably Linux) drivers, - // glBindFramebuffer + glClear + glBindFramebuffer + draw(fbo_tex) won't - // work unless there's some kind of draw or state change which causes - // the texture's contents to update (just drawing the texture won't - // always do it). - // Activating shader program 0 and then activating the actual program - // seems to always 'fix' it for me. - // Bug observed January 2016 with multiple AMD GPUs and driver versions. - // https://love2d.org/forums/viewtopic.php?f=4&t=81496 + /** + * On AMD's Windows (and probably Linux) drivers, + * glBindFramebuffer + glClear + glBindFramebuffer + draw(fbo_tex) won't + * work unless there's some kind of draw or state change which causes + * the texture's contents to update (just drawing the texture won't + * always do it). + * Activating shader program 0 and then activating the actual program + * seems to always 'fix' it for me. + * Bug observed January 2016 with multiple AMD GPUs and driver versions. + * https://love2d.org/forums/viewtopic.php?f=4&t=81496 + **/ bool clearRequiresDriverTextureStateUpdate; + + /** + * Other bugs which have workarounds that don't use conditional code at + * the moment: + * + * Kepler nvidia GPUs in at least OS X 10.10 and 10.11 fail to render + * geometry with glDrawElements if index data comes from a Buffer + * Object but and vertex data doesn't. One workaround is to use a + * CPU-side index array when there's also a CPU-side vertex array. + * https://love2d.org/forums/viewtopic.php?f=4&t=81401&start=10 + * + * Some android drivers don't seem to initialize the sampler index + * values of sampler uniforms in shaders to 0 (which is required by the + * GLSL ES specification) when linking the shader program. One + * workaround is to always set the values of said sampler uniforms to 0 + * just after linking the shader program. + * https://love2d.org/forums/viewtopic.php?f=4&t=81458 + **/ } bugs; OpenGL();