mesa: Eliminate gl_shader_program::InternalSeparateShader

This was a work-around to allow linking a program with only a fragment
shader in a GLES context.  Now that we have GL_EXT_separate_shader_objects
in GLES contexts, we can just use that.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Ian Romanick 2014-03-27 10:29:30 -07:00
parent 7d9adef340
commit f64bfb2e39
3 changed files with 2 additions and 14 deletions

View File

@ -2607,8 +2607,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
* fragment shader) is absent. So, the extension shouldn't change the
* behavior specified in GLSL specification.
*/
if (!prog->InternalSeparateShader && !prog->SeparateShader
&& ctx->API == API_OPENGLES2) {
if (!prog->SeparateShader && ctx->API == API_OPENGLES2) {
if (prog->_LinkedShaders[MESA_SHADER_VERTEX] == NULL) {
linker_error(prog, "program lacks a vertex shader\n");
} else if (prog->_LinkedShaders[MESA_SHADER_FRAGMENT] == NULL) {

View File

@ -1299,7 +1299,7 @@ create_new_program(struct gl_context *ctx, struct state_key *key)
* fixed function program in a GLES2 context at all, but that's a
* big mess to clean up.
*/
p.shader_program->InternalSeparateShader = GL_TRUE;
p.shader_program->SeparateShader = GL_TRUE;
state->language_version = 130;
state->es_shader = false;

View File

@ -2607,17 +2607,6 @@ struct gl_shader_program
*/
GLboolean BinaryRetreivableHint;
/**
* Flags that the linker should not reject the program if it lacks
* a vertex or fragment shader. GLES2 doesn't allow separate
* shader objects, and would reject them. However, we internally
* build separate shader objects for fixed function programs, which
* we use for drivers/common/meta.c and for handling
* _mesa_update_state with no program bound (for example in
* glClear()).
*/
GLboolean InternalSeparateShader;
/**
* Indicates whether program can be bound for individual pipeline stages
* using UseProgramStages after it is next linked.