Module: Mesa
Branch: master
Commit: 9f3f4284c0397615bfe50ba4e50aaffe5dc64e84
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f3f4284c0397615bfe50ba4e50aaffe5dc64e84

Author: Eric Anholt <[email protected]>
Date:   Tue Apr 24 14:56:23 2018 -0700

broadcom/vc5: Fix cpp of MSAA surfaces on 4.x.

The internal-type-bpp path is for surfaces that get stored in the raw TLB
format.  For 4.x, we're storing MSAA as just 2x width/height at the
original format.

---

 src/gallium/drivers/vc5/vc5_resource.c | 6 ++++--
 src/gallium/drivers/vc5/vc5_state.c    | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/vc5/vc5_resource.c 
b/src/gallium/drivers/vc5/vc5_resource.c
index eb5fa4e908..3c2ed27077 100644
--- a/src/gallium/drivers/vc5/vc5_resource.c
+++ b/src/gallium/drivers/vc5/vc5_resource.c
@@ -566,9 +566,11 @@ vc5_resource_setup(struct pipe_screen *pscreen,
         prsc->screen = pscreen;
 
         if (prsc->nr_samples <= 1 ||
+            screen->devinfo.ver >= 40 ||
             util_format_is_depth_or_stencil(prsc->format)) {
-                rsc->cpp = util_format_get_blocksize(prsc->format) *
-                        MAX2(prsc->nr_samples, 1);
+                rsc->cpp = util_format_get_blocksize(prsc->format);
+                if (screen->devinfo.ver < 40 && prsc->nr_samples > 1)
+                        rsc->cpp *= prsc->nr_samples;
         } else {
                 assert(vc5_rt_format_supported(&screen->devinfo, 
prsc->format));
                 uint32_t output_image_format =
diff --git a/src/gallium/drivers/vc5/vc5_state.c 
b/src/gallium/drivers/vc5/vc5_state.c
index 350bd6a4ed..42ae64157c 100644
--- a/src/gallium/drivers/vc5/vc5_state.c
+++ b/src/gallium/drivers/vc5/vc5_state.c
@@ -752,7 +752,7 @@ vc5_create_sampler_view(struct pipe_context *pctx, struct 
pipe_resource *prsc,
 #endif
                 tex.array_stride_64_byte_aligned = rsc->cube_map_stride / 64;
 
-                if (prsc->nr_samples > 1) {
+                if (prsc->nr_samples > 1 && V3D_VERSION < 40) {
                         /* Using texture views to reinterpret formats on our
                          * MSAA textures won't work, because we don't lay out
                          * the bits in memory as it's expected -- for example,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to