From 1bff8ade885bb5e0004315d50e8b12e7ab41d43b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 14 Aug 2023 13:05:50 -0400 Subject: [PATCH] zink: rip out some awkward parts of the old non-cwe path this is no longer used Part-of: --- src/gallium/drivers/zink/zink_context.c | 2 +- src/gallium/drivers/zink/zink_context.h | 2 -- src/gallium/drivers/zink/zink_framebuffer.c | 8 +------ src/gallium/drivers/zink/zink_render_pass.c | 34 +++++++++++------------------ 4 files changed, 15 insertions(+), 31 deletions(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 46c1ce9..ffe09cd 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -2948,7 +2948,7 @@ VkImageView zink_prep_fb_attachment(struct zink_context *ctx, struct zink_surface *surf, unsigned i) { struct zink_resource *res; - if (!surf || (i < ctx->fb_state.nr_cbufs && zink_use_dummy_attachments(ctx))) { + if (!surf) { surf = zink_get_dummy_surface(ctx, util_logbase2_ceil(ctx->fb_state.samples)); res = zink_resource(surf->base.texture); } else { diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index fb80b97..be30c0b 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -278,8 +278,6 @@ zink_resource_rebind(struct zink_context *ctx, struct zink_resource *res); void zink_rebind_framebuffer(struct zink_context *ctx, struct zink_resource *res); -bool -zink_use_dummy_attachments(const struct zink_context *ctx); void zink_set_null_fs(struct zink_context *ctx); diff --git a/src/gallium/drivers/zink/zink_framebuffer.c b/src/gallium/drivers/zink/zink_framebuffer.c index 9a5ef7c..991bd42 100644 --- a/src/gallium/drivers/zink/zink_framebuffer.c +++ b/src/gallium/drivers/zink/zink_framebuffer.c @@ -137,12 +137,6 @@ fail: return NULL; } -bool -zink_use_dummy_attachments(const struct zink_context *ctx) -{ - return ctx->disable_fs && !zink_screen(ctx->base.screen)->info.have_EXT_color_write_enable; -} - struct zink_framebuffer * zink_get_framebuffer(struct zink_context *ctx) { @@ -156,7 +150,7 @@ zink_get_framebuffer(struct zink_context *ctx) unsigned num_resolves = 0; for (int i = 0; i < ctx->fb_state.nr_cbufs; i++) { struct pipe_surface *psurf = ctx->fb_state.cbufs[i]; - if (!psurf || zink_use_dummy_attachments(ctx)) { + if (!psurf) { psurf = zink_get_dummy_pipe_surface(ctx, util_logbase2_ceil(ctx->gfx_pipeline_state.rast_samples+1)); } struct zink_surface *surface = zink_csurface(psurf); diff --git a/src/gallium/drivers/zink/zink_render_pass.c b/src/gallium/drivers/zink/zink_render_pass.c index 2190716..5b89fc7 100644 --- a/src/gallium/drivers/zink/zink_render_pass.c +++ b/src/gallium/drivers/zink/zink_render_pass.c @@ -410,7 +410,7 @@ zink_init_color_attachment(struct zink_context *ctx, unsigned i, struct zink_rt_ { const struct pipe_framebuffer_state *fb = &ctx->fb_state; struct pipe_surface *psurf = fb->cbufs[i]; - if (psurf && !zink_use_dummy_attachments(ctx)) { + if (psurf) { struct zink_surface *surf = zink_csurface(psurf); struct zink_surface *transient = zink_transient_surface(psurf); rt->format = surf->info.format[0]; @@ -431,7 +431,7 @@ zink_tc_init_color_attachment(struct zink_context *ctx, const struct tc_renderpa { const struct pipe_framebuffer_state *fb = &ctx->fb_state; struct pipe_surface *psurf = fb->cbufs[i]; - if (psurf && !zink_use_dummy_attachments(ctx)) { + if (psurf) { struct zink_surface *surf = zink_csurface(psurf); struct zink_surface *transient = zink_transient_surface(psurf); rt->format = surf->info.format[0]; @@ -464,7 +464,7 @@ get_render_pass(struct zink_context *ctx) else zink_init_color_attachment(ctx, i, &state.rts[i]); struct pipe_surface *surf = fb->cbufs[i]; - if (surf && !zink_use_dummy_attachments(ctx)) { + if (surf) { clears |= !!state.rts[i].clear_color ? PIPE_CLEAR_COLOR0 << i : 0; struct zink_surface *transient = zink_transient_surface(surf); if (transient) { @@ -500,10 +500,7 @@ get_render_pass(struct zink_context *ctx) state.num_rts++; } state.have_zsbuf = have_zsbuf; - if (zink_use_dummy_attachments(ctx)) - assert(clears == (ctx->rp_clears_enabled & PIPE_CLEAR_DEPTHSTENCIL)); - else - assert(clears == ctx->rp_clears_enabled); + assert(clears == ctx->rp_clears_enabled); state.clears = clears; uint32_t hash = hash_render_pass_state(&state); struct hash_entry *entry = _mesa_hash_table_search_pre_hashed(ctx->render_pass_cache, hash, @@ -670,7 +667,7 @@ begin_render_pass(struct zink_context *ctx) uint32_t clear_validate = 0; for (int i = 0; i < fb_state->nr_cbufs; i++) { /* these are no-ops */ - if (!fb_state->cbufs[i] || !zink_fb_clear_enabled(ctx, i) || zink_use_dummy_attachments(ctx)) + if (!fb_state->cbufs[i] || !zink_fb_clear_enabled(ctx, i)) continue; /* these need actual clear calls inside the rp */ struct zink_framebuffer_clear_data *clear = zink_fb_clear_element(&ctx->fb_clears[i], 0); @@ -727,19 +724,14 @@ begin_render_pass(struct zink_context *ctx) for (int i = 0; i < ctx->fb_state.nr_cbufs; i++) { if (ctx->fb_state.cbufs[i]) { struct zink_surface *surf = zink_csurface(ctx->fb_state.cbufs[i]); - if (zink_use_dummy_attachments(ctx)) { - surf = zink_get_dummy_surface(ctx, util_logbase2_ceil(ctx->fb_state.samples)); - assert(zink_resource(surf->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[i].usage); - } else { - struct zink_surface *transient = zink_transient_surface(ctx->fb_state.cbufs[i]); - if (surf->base.format == ctx->fb_state.cbufs[i]->format) { - if (transient) { - num_cresolves++; - assert(zink_resource(transient->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[i].usage); - assert(zink_resource(surf->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[cresolve_offset].usage); - } else { - assert(zink_resource(surf->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[i].usage); - } + struct zink_surface *transient = zink_transient_surface(ctx->fb_state.cbufs[i]); + if (surf->base.format == ctx->fb_state.cbufs[i]->format) { + if (transient) { + num_cresolves++; + assert(zink_resource(transient->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[i].usage); + assert(zink_resource(surf->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[cresolve_offset].usage); + } else { + assert(zink_resource(surf->base.texture)->obj->vkusage == ctx->framebuffer->state.infos[i].usage); } } } -- 2.7.4