[virglrenderer-devel] [PATCH] vrend: Don't set resolve filter for non-RGBA buffers
Stéphane Marchesin
marcheu at chromium.org
Sat Mar 24 06:46:42 UTC 2018
When we blit between depth or stencil buffers, but MSAA is enabled,
we can hit that path and set the GL_SCALED_RESOLVE_NICEST_EXT. This
causes the blit to fail. Fix this by not going in that path for
depth/stencil buffers.
Fixes:
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil
Signed-off-by: Stéphane Marchesin <marcheu at chromium.org>
---
src/vrend_renderer.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 3d3bcc1..061e50e 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -5916,7 +5916,8 @@ static void vrend_renderer_blit_int(struct vrend_context *ctx,
use_gl = true;
/* for scaled MS blits we either need extensions or hand roll */
- if (src_res->base.nr_samples > 1 &&
+ if (info->mask & PIPE_MASK_RGBA &&
+ src_res->base.nr_samples > 1 &&
src_res->base.nr_samples != dst_res->base.nr_samples &&
(info->src.box.width != info->dst.box.width ||
info->src.box.height != info->dst.box.height)) {
--
2.17.0.rc0.231.g781580f067-goog
More information about the virglrenderer-devel
mailing list