zink: set primitive restart cap
[mesa.git] / src / gallium / drivers / zink / zink_blit.c
index 6dd3caaece1bfffaeeef3f9c11b15519fc438764..96824c8a049e8a8970fb7eed83af0720926ec7a7 100644 (file)
@@ -12,6 +12,7 @@ blit_resolve(struct zink_context *ctx, const struct pipe_blit_info *info)
 {
    if (util_format_get_mask(info->dst.format) != info->mask ||
        util_format_get_mask(info->src.format) != info->mask ||
+       util_format_is_depth_or_stencil(info->dst.format) ||
        info->scissor_enable ||
        info->alpha_blend ||
        info->render_condition_enable)
@@ -80,6 +81,10 @@ blit_native(struct zink_context *ctx, const struct pipe_blit_info *info)
        info->dst.format != info->src.format)
       return false;
 
+   /* vkCmdBlitImage must not be used for multisampled source or destination images. */
+   if (info->src.resource->nr_samples > 1 || info->dst.resource->nr_samples > 1)
+      return false;
+
    struct zink_resource *src = zink_resource(info->src.resource);
    struct zink_resource *dst = zink_resource(info->dst.resource);