From fb895510477a9ce809cf5890afb1ea84ced6771e Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 25 Aug 2016 15:07:31 -0700 Subject: [PATCH] isl: Allow multisampled array textures This probably isn't the only thing that needs to be done to get multisampled array textures working in Vulkan but I think this is all that ISL really needs and it does fix 8 of the new CTS tests. Signed-off-by: Jason Ekstrand Cc: "12.0" Reviewed-by: Topi Pohjolainen Reviewed-by: Chad Versace --- src/intel/isl/isl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index 59429fbfe2e..c4989dd7da9 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -557,27 +557,27 @@ isl_calc_phys_level0_extent_sa(const struct isl_device *dev, case ISL_MSAA_LAYOUT_ARRAY: assert(info->depth == 1); - assert(info->array_len == 1); + assert(info->levels == 1); assert(!isl_format_is_compressed(info->format)); *phys_level0_sa = (struct isl_extent4d) { .w = info->width, .h = info->height, .d = 1, - .a = info->samples, + .a = info->array_len * info->samples, }; break; case ISL_MSAA_LAYOUT_INTERLEAVED: assert(info->depth == 1); - assert(info->array_len == 1); + assert(info->levels == 1); assert(!isl_format_is_compressed(info->format)); *phys_level0_sa = (struct isl_extent4d) { .w = info->width, .h = info->height, .d = 1, - .a = 1, + .a = info->array_len, }; isl_msaa_interleaved_scale_px_to_sa(info->samples, -- 2.30.2