meta: move vertex array enables for mipmap generation
Before, on the second call to GenerateMipmap we were enabling two vertex arrays for the current vertex array object, rather than the private generate-mipmap vertex array object. This caused things to blow up elsewhere. This patch moves the array enables into the block where the generate-mipmap vertex array object is created, as we do in the setup_ff_generate_mipmap() function. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60518 NOTE: This is a candidate for the stable branches. Tested-by: core13@gmx.net Reviewed-by: José Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -3397,6 +3397,8 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
|
||||
sizeof(struct vertex), OFFSET(x));
|
||||
_mesa_VertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,
|
||||
sizeof(struct vertex), OFFSET(tex));
|
||||
_mesa_EnableVertexAttribArray(0);
|
||||
_mesa_EnableVertexAttribArray(1);
|
||||
}
|
||||
|
||||
/* Generate a fragment shader program appropriate for the texture target */
|
||||
@@ -3468,8 +3470,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
|
||||
_mesa_DeleteObjectARB(vs);
|
||||
_mesa_BindAttribLocation(mipmap->ShaderProg, 0, "position");
|
||||
_mesa_BindAttribLocation(mipmap->ShaderProg, 1, "texcoords");
|
||||
_mesa_EnableVertexAttribArray(0);
|
||||
_mesa_EnableVertexAttribArray(1);
|
||||
link_program_with_debug(ctx, mipmap->ShaderProg);
|
||||
sampler->shader_prog = mipmap->ShaderProg;
|
||||
ralloc_free(mem_ctx);
|
||||
|
Reference in New Issue
Block a user