[Mesa-dev] [PATCH] u_blitter: don't create illegal shaders for 1D/3D/RECT/CUBE MSAA

Dave Airlie airlied at gmail.com
Mon Mar 4 00:02:32 PST 2013


From: Dave Airlie <airlied at redhat.com>

I hit an assert playing with softpipe and texture MSAA today, makes me think
we might need something like this to stop creating illegal shaders.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/gallium/auxiliary/util/u_blitter.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c
index e37be4e..ceaa9d0 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -924,6 +924,11 @@ void util_blitter_cache_all_shaders(struct blitter_context *blitter)
              (target == PIPE_TEXTURE_CUBE_ARRAY))
             continue;
 
+	 if (max_samples > 1 &&
+	     (target != PIPE_TEXTURE_2D &&
+	      target != PIPE_TEXTURE_2D_ARRAY))
+	    continue;
+
          blitter_get_fs_texfetch_col(ctx, target, i);
          blitter_get_fs_texfetch_depth(ctx, target, i);
          if (ctx->has_stencil_export) {
-- 
1.8.1.4



More information about the mesa-dev mailing list