diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index 9078171c79c..5a9f37ebdef 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -1166,6 +1166,8 @@ get_bare_image_type(struct ntv_context *ctx, struct nir_variable *var, bool is_s bool arrayed = glsl_sampler_type_is_array(type); if (dimension == SpvDimCube && arrayed) spirv_builder_emit_cap(&ctx->builder, SpvCapabilityImageCubeArray); + if (arrayed && !is_sampler && is_ms) + spirv_builder_emit_cap(&ctx->builder, SpvCapabilityImageMSArray); SpvId result_type = get_glsl_basetype(ctx, glsl_get_sampler_result_type(type)); return spirv_builder_type_image(&ctx->builder, result_type,