summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-08-25 15:07:31 -0700
committerJason Ekstrand <[email protected]>2016-08-26 19:00:02 -0700
commitfb895510477a9ce809cf5890afb1ea84ced6771e (patch)
tree1ade589cf2940c290a97ce0897f73e61c1a9a948 /src
parentcf7be70aa77b09d4cce5832006efe69852ce457b (diff)
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 <[email protected]> Cc: "12.0" <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Chad Versace <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/intel/isl/isl.c8
1 files 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,