Skip to content

Support different GLSL versions #168

@revmischa

Description

@revmischa

Problem: different systems and drivers have support for different versions of GLSL. ProjectM will not run unless the shader language matches the supported driver version.

As an example, my raspberry pi outputs:

INFO: GL_VERSION: OpenGL ES 2.0 Mesa 13.0.6
INFO: GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 1.0.16
INFO: GL_VENDOR: Broadcom
Failed to compile shader 'Vertex: v2f_c4f'. Error: 0:2(1): error: syntax error, unexpected NEW_IDENTIFIER
Failed to compile shader 'Fragment: v2f_c4f'. Error: 0:3(1): error: `in' qualifier in declaration of `fragment_color' only valid for function parameters in GLSL ES 1.00
0:4(1): error: `out' qualifier in declaration of `color' only valid for function parameters in GLSL ES 1.00

And @servimo reports the error:
error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
And again in #101

How can we support multiple versions of GLSL, ES and non-ES?

Also important: detect if GLES is needed automatically in configure.ac so that users don't have to do --enable-gles manually. A decent number of issues on here are related to people not specifying that they need GLES.

More info: #115 #101

@deltaoscarmike could really use your help here

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions