Bug 90927 - GLSL extensions are not routed from X-Server to client app
Summary: GLSL extensions are not routed from X-Server to client app
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: 10.5
Hardware: All All
: medium enhancement
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-10 18:48 UTC by m.sokalski
Modified: 2019-09-18 17:45 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description m.sokalski 2015-06-10 18:48:05 UTC
X-Server receives glGetString(GL_EXTENSIONS) request and it replies with:
"GL_ARB_fragment_shader GL_ARB_vertex_shader GL_ARB_shader_objects".

Client process is started with LIBGL_ALWAYS_INDIRECT=1 but it doesn't receive extensions sent by X-Server, instead it gets "GL_ARB_transpose_matrix GL_EXT_draw_range_elements GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays".


Extra hints:

- Other extensions (like: GL_ARB_occlusion_query) are correctly delivered from server to client.

- Without LIBGL_ALWAYS_INDIRECT, mesa reports it is capable of GLSL extensions.


Does it mean libGL's GLX encoder is missing something?
Comment 1 Ian Romanick 2015-06-10 21:47:30 UTC
Extensions need to have GLX protocol supported on the client and on the server.  For some extensions this just means they need to be added to the known_gl_extensions in src/glx/glxextensions.c in Mesa.  However, all of the GLSL related extensions need protocol implemented (e.g., glShaderSource).  It's mostly just a lot of typing and testing.

Patches welcome.
Comment 2 GitLab Migration User 2019-09-18 17:45:08 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/100.


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.