broadcom/vc5: Fix MSAA depth/stencil size setup.
authorEric Anholt <eric@anholt.net>
Fri, 30 Mar 2018 23:14:29 +0000 (16:14 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 12 Apr 2018 18:20:50 +0000 (11:20 -0700)
The v3dX(get_internal_type_bpp_for_output_format)() call only handles
color output formats (which overlap in enum numbers with depth output
formats), so for depth we just need to take the normal cpp times the
number of samples.

src/gallium/drivers/vc5/vc5_resource.c

index 321a14b9046cafbb14fa660be0e0eaf0bf1451f0..c8c99cf4870077fa113767ffa4713c089b86e1bc 100644 (file)
@@ -565,8 +565,10 @@ vc5_resource_setup(struct pipe_screen *pscreen,
         pipe_reference_init(&prsc->reference, 1);
         prsc->screen = pscreen;
 
-        if (prsc->nr_samples <= 1) {
-                rsc->cpp = util_format_get_blocksize(prsc->format);
+        if (prsc->nr_samples <= 1 ||
+            util_format_is_depth_or_stencil(prsc->format)) {
+                rsc->cpp = util_format_get_blocksize(prsc->format) *
+                        MAX2(prsc->nr_samples, 1);
         } else {
                 assert(vc5_rt_format_supported(&screen->devinfo, prsc->format));
                 uint32_t output_image_format =