Commit 0f74efde authored by Chia-I Wu's avatar Chia-I Wu

st/mesa: Fix glEGLImageTargetTexture2DOES.

stObj->pt should be set in st_bind_surface, just as in st_TexImage.  On
the other hand, st_TexImage should unreference stObj->pt.  It also needs
to initialize the texture image again as _mesa_clear_texture_object
clears the image.
parent 4f6faf65
......@@ -128,7 +128,8 @@ st_bind_surface(GLcontext *ctx, GLenum target,
_mesa_set_fetch_functions(texImage, 2);
/* FIXME create a non-default sampler view from the pipe_surface? */
pipe_resource_reference(&stImage->pt, ps->texture);
pipe_resource_reference(&stObj->pt, ps->texture);
pipe_resource_reference(&stImage->pt, stObj->pt);
stObj->width0 = ps->width;
stObj->height0 = ps->height;
......
......@@ -548,6 +548,14 @@ st_TexImage(GLcontext * ctx,
/* switch to "normal" */
if (stObj->surface_based) {
_mesa_clear_texture_object(ctx, texObj);
pipe_resource_reference(&stObj->pt, NULL);
/* oops, need to init this image again */
_mesa_init_teximage_fields(ctx, target, texImage,
width, height, depth, border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
internalFormat, format, type);
stObj->surface_based = GL_FALSE;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment