st/mesa: disable EXT_separate_shader_objects

The extension disallows elimination of set-but-unused varyings.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Marek Olšák 2013-06-12 21:38:28 +02:00
parent b3d8b4c0b4
commit 74edd56927
2 changed files with 11 additions and 1 deletions

View File

@ -68,6 +68,9 @@ Note: some of the new features are only available with certain drivers.
2007.</li>
<li>Removed GL_MESA_resize_buffers because it was only really implemented by
the (unsupported) GDI driver.</li>
<li>GL_EXT_separate_shader_objects has been removed from all Gallium drivers,
because it disallows a critical GLSL shader optimization.
GL_ARB_separate_shader_objects doesn't have this issue.
</ul>
</div>

View File

@ -554,7 +554,14 @@ void st_init_extensions(struct st_context *st)
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
ctx->Extensions.EXT_point_parameters = GL_TRUE;
ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
ctx->Extensions.EXT_separate_shader_objects = GL_TRUE;
/* IMPORTANT:
* Don't enable EXT_separate_shader_objects. It disallows a certain
* optimization in the GLSL compiler and therefore is considered
* harmful.
*/
ctx->Extensions.EXT_separate_shader_objects = GL_FALSE;
ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE;
ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE;