diff options
author | Eric Anholt <[email protected]> | 2018-03-30 16:14:29 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-04-12 11:20:50 -0700 |
commit | 7553cbfc9d78f0a4f8816122ce6327bc3899c2b5 (patch) | |
tree | 1e4ef4154060976af5b2be6be5d145975576e990 /src/gallium/drivers/vc5 | |
parent | fa328456e8f29bd4522deee5d6a8fa4a5ba74f05 (diff) |
broadcom/vc5: Fix MSAA depth/stencil size setup.
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.
Diffstat (limited to 'src/gallium/drivers/vc5')
-rw-r--r-- | src/gallium/drivers/vc5/vc5_resource.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc5/vc5_resource.c b/src/gallium/drivers/vc5/vc5_resource.c index 321a14b9046..c8c99cf4870 100644 --- a/src/gallium/drivers/vc5/vc5_resource.c +++ b/src/gallium/drivers/vc5/vc5_resource.c @@ -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 = |