run: Add separate shader objects support.
With this patch, if a .shader_test file contains [require] ... SSO ENABLED then we'll set GL_PROGRAM_SEPARABLE to compile the shaders into separate shader objects. This prevents the linker from removing unused inputs and outputs. Drivers may also choose to lay out interfaces of SSO programs differently, resulting in different code. v2: - Actually initialize use_separate_shader_objects - Fix memcmp length parameter (thanks to Matt) v3: - Search for "SSO ENABLED" instead of "GL_ARB_separate_shader_objects", to match what Timothy did in shader_runner. - Use GL_PROGRAM_SEPARABLE (suggested by Tapani). This allows multi-stage SSO programs to optimize internal interfaces, while still making the end-stages separable.
Showing with 12 additions and 0 deletions