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:
parent
7d9adef340
commit
f64bfb2e39
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue