From 02f377d5e2dd18537d0807ad63675a0970b5a37d Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 4 Nov 2011 08:57:20 +0100 Subject: xserver pixman mesa git update 4 nov 2011 --- mesalib/src/mesa/main/ff_fragment_shader.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'mesalib/src/mesa/main/ff_fragment_shader.cpp') diff --git a/mesalib/src/mesa/main/ff_fragment_shader.cpp b/mesalib/src/mesa/main/ff_fragment_shader.cpp index b5500714b..2ce81fef6 100644 --- a/mesalib/src/mesa/main/ff_fragment_shader.cpp +++ b/mesalib/src/mesa/main/ff_fragment_shader.cpp @@ -108,7 +108,7 @@ struct state_key { /* NOTE: This array of structs must be last! (see "keySize" below) */ struct { GLuint enabled:1; - GLuint source_index:3; /**< TEXTURE_x_INDEX */ + GLuint source_index:4; /**< TEXTURE_x_INDEX */ GLuint shadow:1; GLuint ScaleShiftRGB:2; GLuint ScaleShiftA:2; @@ -1041,6 +1041,11 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) sampler_type = p->shader->symbols->get_type("samplerCube"); coords = 3; break; + case TEXTURE_EXTERNAL_INDEX: + assert(!p->state->unit[unit].shadow); + sampler_type = p->shader->symbols->get_type("samplerExternalOES"); + coords = 2; + break; } p->src_texture[unit] = new(p->mem_ctx) ir_variable(glsl_type::vec4_type, @@ -1437,6 +1442,8 @@ create_new_program(struct gl_context *ctx, struct state_key *key) p.shader_program->InternalSeparateShader = GL_TRUE; state->language_version = 130; + if (ctx->Extensions.OES_EGL_image_external) + state->OES_EGL_image_external_enable = true; _mesa_glsl_initialize_types(state); _mesa_glsl_initialize_variables(p.instructions, state); -- cgit v1.2.3