From c8194dc737464d19521c948aa555d936f47f381a Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Wed, 6 Jul 2016 15:50:34 -0700 Subject: [PATCH] i965: Track that the stencil data was updated when using Tex*Image Signed-off-by: Jordan Justen Reviewed-by: Ian Romanick Reviewed-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/intel_tex_image.c | 3 +++ src/mesa/drivers/dri/i965/intel_tex_subimage.c | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 958f8bd5a5f..7affe08c808 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -108,6 +108,9 @@ intelTexImage(struct gl_context * ctx, assert(intelImage->mt); + if (intelImage->mt->format == MESA_FORMAT_S_UINT8) + intelImage->mt->r8stencil_needs_update = true; + ok = _mesa_meta_pbo_TexSubImage(ctx, dims, texImage, 0, 0, 0, texImage->Width, texImage->Height, texImage->Depth, diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c index 9561968d2d6..74d4c57391d 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c @@ -199,10 +199,13 @@ intelTexSubImage(struct gl_context * ctx, const GLvoid * pixels, const struct gl_pixelstore_attrib *packing) { - struct intel_texture_image *intelImage = intel_texture_image(texImage); + struct intel_mipmap_tree *mt = intel_texture_image(texImage)->mt; bool ok; - bool tex_busy = intelImage->mt && drm_intel_bo_busy(intelImage->mt->bo); + bool tex_busy = mt && drm_intel_bo_busy(mt->bo); + + if (mt && mt->format == MESA_FORMAT_S_UINT8) + mt->r8stencil_needs_update = true; DBG("%s mesa_format %s target %s format %s type %s level %d %dx%dx%d\n", __func__, _mesa_get_format_name(texImage->TexFormat), -- 2.30.2