From b0edc19a521853371a63e9ffbc519424c8f82942 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 27 May 2015 16:01:00 -0700 Subject: [PATCH] vc4: Don't forget to make our raster shadow textures non-raster. Not sure what happened in my testing that made the previous shadow code fix glxgears swapbuffering, but this also fixes lots of CopyArea in X (like dragging xlogo around in metacity). --- src/gallium/drivers/vc4/vc4_state.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/vc4/vc4_state.c b/src/gallium/drivers/vc4/vc4_state.c index 80e963ea2ee..7875eff0325 100644 --- a/src/gallium/drivers/vc4/vc4_state.c +++ b/src/gallium/drivers/vc4/vc4_state.c @@ -538,6 +538,7 @@ vc4_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc, struct pipe_resource tmpl = shadow_parent->base.b; struct vc4_resource *clone; + tmpl.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET; tmpl.width0 = u_minify(tmpl.width0, so->u.tex.first_level); tmpl.height0 = u_minify(tmpl.height0, so->u.tex.first_level); tmpl.last_level = so->u.tex.last_level - so->u.tex.first_level; @@ -547,6 +548,8 @@ vc4_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc, clone->shadow_parent = &shadow_parent->base.b; /* Flag it as needing update of the contents from the parent. */ clone->writes = shadow_parent->writes - 1; + + assert(clone->vc4_format != VC4_TEXTURE_TYPE_RGBA32R); } so->texture = prsc; so->reference.count = 1; -- 2.30.2