Created attachment 137134 [details] GLFW sample testing shading language version queries In GL4.3 the spec added new glGetStringi() query GL_SHADING_LANGUAGE_VERSION, which allows an application to query a list of supported versions (rather than just the latest, which glGetString() returns). I don't believe this ever existed in an extension, only in this new core version. There are two queries relevant - the GL_SHADING_LANGUAGE_VERSION passed to glGetStringi(), and then the index ranges from 0 to whatever glGetIntegerv(GL_NUM_SHADING_LANGUAGE_VERSIONS) returns, which is the other query. I've attached a simple program (using glfw for conciseness/clarity) that exhibits the problem in an isolated run. The important bit though is: printf("Shading language version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION)); glGetIntegerv(GL_NUM_SHADING_LANGUAGE_VERSIONS, &numLanguages); printf("%d total languages\n", numLanguages); for(i = 0; i < numLanguages; i++) printf("language %d: %s\n", i, glGetStringi(GL_SHADING_LANGUAGE_VERSION, i)); Actual output: Shading language version: 4.50 0 total languages Expected output (something along these lines): Shading language version: 4.50 10 total languages language 0: 450 core language 1: 450 compatibility language 2: 440 core language 3: 440 compatibility language 4: 430 core language 5: 430 compatibility language 6: 420 core language 7: 420 compatibility language 8: 410 core language 9: 410 compatibility
Fixed in Mesa master. Thanks for top quality bug report! --- 8< --- commit a553c54abf92533daf442073dd3408c35f57d8ba Author: Vadym Shovkoplias <vadim.shovkoplias@gmail.com> Date: Tue Feb 13 11:38:22 2018 -0700 mesa: add glsl version query (v4) Add support for GL_NUM_SHADING_LANGUAGE_VERSIONS and glGetStringi for GL_SHADING_LANGUAGE_VERSION v2: - Combine similar functionality into _mesa_get_shading_language_version() function. - Change GLSL version return mechanism. v3: - Add return of empty string for GLSL ver 1.10. - Move _mesa_get_shading_language_version() function to src/mesa/main/version.c. v4: - Add OpenGL version check. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104915 Signed-off-by: Andriy Khulap <andriy.khulap@globallogic.com> Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com> Reviewed-by: Brian Paul <brianp@vmware.com>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.