diff --git a/src/gallium/drivers/zink/zink_render_pass.c b/src/gallium/drivers/zink/zink_render_pass.c index b1531a343ad..77234cb5cf1 100644 --- a/src/gallium/drivers/zink/zink_render_pass.c +++ b/src/gallium/drivers/zink/zink_render_pass.c @@ -675,7 +675,7 @@ zink_begin_render_pass(struct zink_context *ctx) setup_framebuffer(ctx); if (ctx->batch.in_rp) return 0; - /* TODO: need replicate EXT */ + /* TODO: use VK_EXT_multisampled_render_to_single_sampled */ if (ctx->framebuffer->rp->state.msaa_expand_mask) { uint32_t rp_state = ctx->gfx_pipeline_state.rp_state; struct zink_render_pass *rp = ctx->gfx_pipeline_state.render_pass; @@ -719,6 +719,7 @@ zink_end_render_pass(struct zink_context *ctx) { if (ctx->batch.in_rp) { VKCTX(CmdEndRenderPass)(ctx->batch.state->cmdbuf); + /* TODO: use VK_EXT_multisampled_render_to_single_sampled */ for (unsigned i = 0; i < ctx->fb_state.nr_cbufs; i++) { struct zink_ctx_surface *csurf = (struct zink_ctx_surface*)ctx->fb_state.cbufs[i]; if (csurf) diff --git a/src/gallium/drivers/zink/zink_surface.c b/src/gallium/drivers/zink/zink_surface.c index e992d047328..940b390c547 100644 --- a/src/gallium/drivers/zink/zink_surface.c +++ b/src/gallium/drivers/zink/zink_surface.c @@ -283,6 +283,7 @@ zink_create_surface(struct pipe_context *pctx, struct zink_ctx_surface *csurf = (struct zink_ctx_surface*)wrap_surface(pctx, psurf); + /* TODO: use VK_EXT_multisampled_render_to_single_sampled and skip this entirely */ if (templ->nr_samples) { /* transient fb attachment: not cached */ struct pipe_resource rtempl = *pres; diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index d5e061192f3..4dd7c445fb9 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -1325,9 +1325,9 @@ struct zink_surface { struct zink_ctx_surface { struct pipe_surface base; struct zink_surface *surf; - struct zink_ctx_surface *transient; //zink_ctx_surface - /* TODO: need replicate EXT */ - bool transient_init; + /* TODO: use VK_EXT_multisampled_render_to_single_sampled */ + struct zink_ctx_surface *transient; //for use with EXT_multisample_render_to_texture + bool transient_init; //whether the transient surface has data }; /* use this cast for framebuffer surfaces */