From: Alyssa Rosenzweig Date: Fri, 19 May 2023 19:36:04 +0000 (-0400) Subject: asahi: Drop Asahi-as-a-swrast hack X-Git-Tag: upstream/23.3.3~8346 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=04bd1f2cdaa81d111f6f69fe0767792eaef8d575;p=platform%2Fupstream%2Fmesa.git asahi: Drop Asahi-as-a-swrast hack Now that we've dropped macOS support in the driver, this is all dead code and gets garbage collected. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Adam Jackson Part-of: --- diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c index 25ae1bb..20ade96 100644 --- a/src/gallium/drivers/asahi/agx_pipe.c +++ b/src/gallium/drivers/asahi/agx_pipe.c @@ -13,7 +13,6 @@ #include "asahi/lib/agx_formats.h" #include "asahi/lib/decode.h" #include "drm-uapi/drm_fourcc.h" -#include "frontend/sw_winsys.h" #include "frontend/winsys_handle.h" #include "gallium/auxiliary/renderonly/renderonly.h" #include "gallium/auxiliary/util/u_debug_cb.h" @@ -522,8 +521,6 @@ agx_resource_create_with_modifiers(struct pipe_screen *screen, pipe_reference_init(&nresource->base.reference, 1); - struct sw_winsys *winsys = ((struct agx_screen *)screen)->winsys; - ail_make_miptree(&nresource->layout); if (templ->target == PIPE_BUFFER) { @@ -531,28 +528,6 @@ agx_resource_create_with_modifiers(struct pipe_screen *screen, util_range_init(&nresource->valid_buffer_range); } - if (winsys && templ->bind & PIPE_BIND_DISPLAY_TARGET) { - unsigned width = templ->width0; - unsigned height = templ->height0; - - if (nresource->layout.tiling == AIL_TILING_TWIDDLED) { - width = ALIGN_POT(width, 64); - height = ALIGN_POT(height, 64); - } - - nresource->dt = winsys->displaytarget_create( - winsys, templ->bind, templ->format, width, height, 64, - NULL /*map_front_private*/, &nresource->dt_stride); - - if (nresource->layout.tiling == AIL_TILING_LINEAR) - nresource->layout.linear_stride_B = nresource->dt_stride; - - if (nresource->dt == NULL) { - FREE(nresource); - return NULL; - } - } - /* Guess a label based on the bind */ unsigned bind = templ->bind; @@ -616,12 +591,6 @@ agx_resource_destroy(struct pipe_screen *screen, struct pipe_resource *prsrc) if (prsrc->target == PIPE_BUFFER) util_range_destroy(&rsrc->valid_buffer_range); - if (rsrc->dt) { - /* display target */ - struct sw_winsys *winsys = agx_screen->winsys; - winsys->displaytarget_destroy(winsys, rsrc->dt); - } - if (rsrc->scanout) renderonly_scanout_destroy(rsrc->scanout, agx_screen->dev.ro); @@ -1438,32 +1407,6 @@ agx_create_context(struct pipe_screen *screen, void *priv, unsigned flags) return pctx; } -static void -agx_flush_frontbuffer(struct pipe_screen *_screen, struct pipe_context *pctx, - struct pipe_resource *prsrc, unsigned level, - unsigned layer, void *context_private, - struct pipe_box *box) -{ - struct agx_resource *rsrc = (struct agx_resource *)prsrc; - struct agx_screen *agx_screen = (struct agx_screen *)_screen; - struct sw_winsys *winsys = agx_screen->winsys; - - /* Dump the framebuffer */ - assert(rsrc->dt); - void *map = winsys->displaytarget_map(winsys, rsrc->dt, PIPE_USAGE_DEFAULT); - assert(map != NULL); - - if (rsrc->modifier == DRM_FORMAT_MOD_APPLE_TWIDDLED) { - ail_detile(rsrc->bo->ptr.cpu, map, &rsrc->layout, 0, rsrc->dt_stride, 0, - 0, rsrc->base.width0, rsrc->base.height0); - } else { - assert(rsrc->modifier == DRM_FORMAT_MOD_LINEAR); - memcpy(map, rsrc->bo->ptr.cpu, rsrc->dt_stride * rsrc->base.height0); - } - - winsys->displaytarget_display(winsys, rsrc->dt, context_private, box); -} - static const char * agx_get_vendor(struct pipe_screen *pscreen) { @@ -2068,7 +2011,7 @@ agx_screen_get_fd(struct pipe_screen *pscreen) } struct pipe_screen * -agx_screen_create(int fd, struct renderonly *ro, struct sw_winsys *winsys) +agx_screen_create(int fd, struct renderonly *ro) { struct agx_screen *agx_screen; struct pipe_screen *screen; @@ -2078,7 +2021,6 @@ agx_screen_create(int fd, struct renderonly *ro, struct sw_winsys *winsys) return NULL; screen = &agx_screen->pscreen; - agx_screen->winsys = winsys; /* Set debug before opening */ agx_screen->dev.debug = @@ -2123,7 +2065,6 @@ agx_screen_create(int fd, struct renderonly *ro, struct sw_winsys *winsys) screen->resource_get_handle = agx_resource_get_handle; screen->resource_get_param = agx_resource_get_param; screen->resource_create_with_modifiers = agx_resource_create_with_modifiers; - screen->flush_frontbuffer = agx_flush_frontbuffer; screen->get_timestamp = u_default_get_timestamp; screen->fence_reference = agx_fence_reference; screen->fence_finish = agx_fence_finish; diff --git a/src/gallium/drivers/asahi/agx_public.h b/src/gallium/drivers/asahi/agx_public.h index 97288c4..f0e0a37 100644 --- a/src/gallium/drivers/asahi/agx_public.h +++ b/src/gallium/drivers/asahi/agx_public.h @@ -10,11 +10,9 @@ extern "C" { #endif struct pipe_screen; -struct sw_winsys; struct renderonly; -struct pipe_screen *agx_screen_create(int fd, struct renderonly *ro, - struct sw_winsys *winsys); +struct pipe_screen *agx_screen_create(int fd, struct renderonly *ro); #ifdef __cplusplus } diff --git a/src/gallium/drivers/asahi/agx_state.h b/src/gallium/drivers/asahi/agx_state.h index fc1fc04..727e107 100644 --- a/src/gallium/drivers/asahi/agx_state.h +++ b/src/gallium/drivers/asahi/agx_state.h @@ -528,7 +528,6 @@ struct agx_sampler_view { struct agx_screen { struct pipe_screen pscreen; struct agx_device dev; - struct sw_winsys *winsys; struct disk_cache *disk_cache; }; @@ -565,10 +564,6 @@ struct agx_resource { /* Hardware backing */ struct agx_bo *bo; - /* Software backing (XXX) */ - struct sw_displaytarget *dt; - unsigned dt_stride; - struct renderonly_scanout *scanout; BITSET_DECLARE(data_valid, PIPE_MAX_TEXTURE_LEVELS); diff --git a/src/gallium/winsys/asahi/drm/asahi_drm_winsys.c b/src/gallium/winsys/asahi/drm/asahi_drm_winsys.c index 3e6bd3c..555ccdf 100644 --- a/src/gallium/winsys/asahi/drm/asahi_drm_winsys.c +++ b/src/gallium/winsys/asahi/drm/asahi_drm_winsys.c @@ -23,7 +23,7 @@ static struct pipe_screen * asahi_screen_create(int fd, const struct pipe_screen_config *config, struct renderonly *ro) { - return agx_screen_create(fd, ro, NULL); + return agx_screen_create(fd, ro); } struct pipe_screen *