diff options
author | Eric Anholt <[email protected]> | 2011-11-01 09:24:47 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2011-11-01 15:42:17 -0700 |
commit | 15b58d8c2233f0e67257cb907c7d90fa23c723a5 (patch) | |
tree | cf36cff1d0be136569803172792820e008463f7e /src/mesa/drivers/dri/intel/intel_tex_image.c | |
parent | 689df24503d018f2d120316dc99cd96410526895 (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.c | 5 |
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 |