Skip to content
  • Lukas F. Hartmann's avatar
    glamor_init: clamp GLSL to 120 if platform doesn't have instanced arrays · 7437b6db
    Lukas F. Hartmann authored and Adam Jackson's avatar Adam Jackson committed
    
    
    Hi,
    
    I upgraded Xwayland and the assorted libraries from git masters today,
    and noticed that glamor wouldn't work anymore on i.MX6/etnaviv. The
    error was:
    
    No provider of glVertexAttribDivisor found.  Requires one of:
        Desktop OpenGL 3.3
        OpenGL ES 3.0
        GL extension "GL_ANGLE_instanced_arrays"
        GL extension "GL_ARB_instanced_arrays"
        GL extension "GL_EXT_instanced_arrays"
        GL extension "GL_NV_instanced_arrays"
    
    The problem is that etnaviv offers GLSL 140 on GL 2.1 and glamor
    rendering assumes that glVertexAttribDivisor() is always available on
    GLSL>=130, which is not the case here. Forcing GLSL 120 makes glamor
    work fine again on this platform. After chatting with ajax in
    #xorg-devel, the following solution was proposed.
    
    This is my first time of submitting a patch, so please excuse me and
    advise if I'm doing it wrong ;)
    
    Cheers
    Lukas (mntmn)
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    7437b6db