aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/intel/intel_tex_image.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-11-01 09:24:47 -0700
committerEric Anholt <[email protected]>2011-11-01 15:42:17 -0700
commit15b58d8c2233f0e67257cb907c7d90fa23c723a5 (patch)
treecf36cff1d0be136569803172792820e008463f7e /src/mesa/drivers/dri/intel/intel_tex_image.c
parent689df24503d018f2d120316dc99cd96410526895 (diff)
Revert "intel: Drop the immediate validation of the texture object in TFP."
This reverts commit abaebcee787eeb8a89bf7a82ed4d1532fcde5e39. The assertion I made was that "the zero-copy code in validation" would zero copy. Of course, I deleted that check back in January because the two sites that would trigger it (glTexImage() and this one) both immediately bound their mt to the object, making the other check pointless. Removes two extra blits in glx-tfp. Also fixed the Android home screen, which wasn't rendering because the extra copy broke the relationship between the texture and the eglimage. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42152 Tested-by: Chad Versace <[email protected]> Tested-by: Eugeni Dodonov <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_tex_image.c')
-rw-r--r--src/mesa/drivers/dri/intel/intel_tex_image.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c
index eaf034abe56..3fc2128536c 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -421,6 +421,8 @@ intel_set_texture_image_region(struct gl_context *ctx,
{
struct intel_context *intel = intel_context(ctx);
struct intel_texture_image *intel_image = intel_texture_image(image);
+ struct gl_texture_object *texobj = image->TexObject;
+ struct intel_texture_object *intel_texobj = intel_texture_object(texobj);
_mesa_init_teximage_fields(&intel->ctx, target, image,
region->width, region->height, 1,
@@ -435,6 +437,9 @@ intel_set_texture_image_region(struct gl_context *ctx,
return;
intel_image->base.RowStride = region->pitch;
+
+ /* Immediately validate the image to the object. */
+ intel_miptree_reference(&intel_texobj->mt, intel_image->mt);
}
void