glamor_init: clamp GLSL to 120 if platform doesn't have instanced arrays

Dave Airlie airlied at gmail.com
Tue May 15 23:05:15 UTC 2018


On 16 May 2018 at 05:51, Lukas F. Hartmann <lukas at mntmn.com> wrote:
> 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.

I'm not sure it's legal to expose GLSL 1.40 on GL 2.1.

Dave.


More information about the xorg-devel mailing list