diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_tex_image.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 44bc146ee4e..8c4e0da5a05 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -405,6 +405,7 @@ static void intel_set_texture_image_mt(struct brw_context *brw, struct gl_texture_image *image, GLenum internal_format, + mesa_format format, struct intel_mipmap_tree *mt) { @@ -415,7 +416,7 @@ intel_set_texture_image_mt(struct brw_context *brw, _mesa_init_teximage_fields(&brw->ctx, image, mt->surf.logical_level0_px.width, mt->surf.logical_level0_px.height, 1, - 0, internal_format, mt->format); + 0, internal_format, format); brw->ctx.Driver.FreeTextureImageBuffer(&brw->ctx, image); @@ -442,7 +443,6 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target, struct gl_texture_object *texObj; struct gl_texture_image *texImage; mesa_format texFormat = MESA_FORMAT_NONE; - struct intel_mipmap_tree *mt; GLenum internal_format = 0; texObj = _mesa_get_current_tex_object(ctx, target); @@ -488,20 +488,11 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target, } intel_miptree_make_shareable(brw, rb->mt); - mt = intel_miptree_create_for_bo(brw, rb->mt->bo, texFormat, 0, - rb->Base.Base.Width, - rb->Base.Base.Height, - 1, rb->mt->surf.row_pitch, - rb->mt->surf.tiling, - MIPTREE_CREATE_DEFAULT); - if (mt == NULL) - return; - mt->target = target; _mesa_lock_texture(&brw->ctx, texObj); texImage = _mesa_get_tex_image(ctx, texObj, target, 0); - intel_set_texture_image_mt(brw, texImage, internal_format, mt); - intel_miptree_release(&mt); + intel_set_texture_image_mt(brw, texImage, internal_format, + texFormat, rb->mt); _mesa_unlock_texture(&brw->ctx, texObj); } @@ -594,7 +585,7 @@ intel_image_target_texture_2d(struct gl_context *ctx, GLenum target, const GLenum internal_format = image->internal_format != 0 ? image->internal_format : _mesa_get_format_base_format(mt->format); - intel_set_texture_image_mt(brw, texImage, internal_format, mt); + intel_set_texture_image_mt(brw, texImage, internal_format, mt->format, mt); intel_miptree_release(&mt); } |