[Mesa-dev] [PATCH] swr: disallow luminance/intensity, bgr5x1, and bgr10x2 rt formats

Ilia Mirkin imirkin at alum.mit.edu
Wed Nov 9 20:15:04 UTC 2016


The rasterizer does not have StoreTile support for these, so just mark
them as unsupported. They may still be used for texturing if necessary.

Fixes fbo-blending-formats piglit test.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/gallium/drivers/swr/swr_screen.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp
index fa16edd..c4b46b9 100644
--- a/src/gallium/drivers/swr/swr_screen.cpp
+++ b/src/gallium/drivers/swr/swr_screen.cpp
@@ -114,6 +114,20 @@ swr_is_format_supported(struct pipe_screen *screen,
          return FALSE;
 
       /*
+       * Don't allow any luminance/intensity formats
+       */
+      if (format_desc->swizzle[0] == format_desc->swizzle[1] &&
+          format_desc->swizzle[0] != PIPE_SWIZZLE_0)
+         return FALSE;
+
+      /*
+       * There's also currently no support for rendering to BGR5X1 or BGR10X2
+       */
+      if (format == PIPE_FORMAT_B5G5R5X1_UNORM ||
+          format == PIPE_FORMAT_B10G10R10X2_UNORM)
+         return FALSE;
+
+      /*
        * Although possible, it is unnatural to render into compressed or YUV
        * surfaces. So disable these here to avoid going into weird paths
        * inside the state trackers.
-- 
2.7.3



More information about the mesa-dev mailing list