This final series finishes up GL_ARB_separate_shader_objects for desktop OpenGL, and it implements GL_EXT_separate_shader_objects for OpenGL ES. It also removes GL_EXT_separate_shader_objects from desktop OpenGL. Note that the two EXT extensions are completely different.
Currently none of the piglit tests exercise SSO on OpenGL ES, so I don't plan to push the last two patches until there are some ES tests. src/glsl/Makefile.am | 3 +- src/glsl/ast_to_hir.cpp | 2 + src/glsl/glcpp/glcpp-parse.y | 5 +- src/glsl/glsl_parser_extras.cpp | 55 ++-- src/glsl/glsl_parser_extras.h | 103 +++--- src/glsl/ir.cpp | 1 + src/glsl/ir.h | 8 + src/glsl/link_varyings.cpp | 338 +++++++++++++++---- src/glsl/linker.cpp | 58 +++- src/glsl/linker.h | 2 +- src/glsl/opt_dead_builtin_varyings.cpp | 7 +- src/glsl/tests/invalidate_locations_test.cpp | 12 +- src/glsl/tests/varyings_test.cpp | 358 +++++++++++++++++++++ src/mapi/glapi/gen/EXT_separate_shader_objects.xml | 279 +++++++++++++++- src/mesa/drivers/common/meta.c | 27 +- src/mesa/drivers/common/meta.h | 1 - src/mesa/drivers/dri/i915/intel_extensions.c | 1 - src/mesa/drivers/dri/i965/intel_extensions.c | 1 - src/mesa/main/dlist.c | 45 --- src/mesa/main/extensions.c | 5 +- src/mesa/main/ff_fragment_shader.cpp | 2 +- src/mesa/main/get.c | 1 - src/mesa/main/get_hash_params.py | 2 +- src/mesa/main/mtypes.h | 17 +- src/mesa/main/pipelineobj.c | 13 +- src/mesa/main/pipelineobj.h | 4 + src/mesa/main/shaderapi.c | 152 +-------- src/mesa/main/tests/dispatch_sanity.cpp | 50 ++- src/mesa/state_tracker/st_extensions.c | 7 - 29 files changed, 1154 insertions(+), 405 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev