mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
panfrost: Remove transient pool abstraction
Now that it has been totally replaced by the borrow mechanism, it is now unused code. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
ee32700f37
commit
b68778e6de
2 changed files with 0 additions and 54 deletions
|
|
@ -246,13 +246,6 @@ panfrost_attach_vt_framebuffer(struct panfrost_context *ctx, bool skippable)
|
|||
static void
|
||||
panfrost_invalidate_frame(struct panfrost_context *ctx)
|
||||
{
|
||||
unsigned transient_count = ctx->transient_pools[ctx->cmdstream_i].entry_index*ctx->transient_pools[0].entry_size + ctx->transient_pools[ctx->cmdstream_i].entry_offset;
|
||||
DBG("Uploaded transient %d bytes\n", transient_count);
|
||||
|
||||
/* Rotate cmdstream */
|
||||
if ((++ctx->cmdstream_i) == (sizeof(ctx->transient_pools) / sizeof(ctx->transient_pools[0])))
|
||||
ctx->cmdstream_i = 0;
|
||||
|
||||
if (ctx->require_sfbd)
|
||||
ctx->vt_framebuffer_sfbd = panfrost_emit_sfbd(ctx, ~0);
|
||||
else
|
||||
|
|
@ -265,12 +258,6 @@ panfrost_invalidate_frame(struct panfrost_context *ctx)
|
|||
/* Reset varyings allocated */
|
||||
ctx->varying_height = 0;
|
||||
|
||||
/* The transient cmdstream is dirty every frame; the only bits worth preserving
|
||||
* (textures, shaders, etc) are in other buffers anyways */
|
||||
|
||||
ctx->transient_pools[ctx->cmdstream_i].entry_index = 0;
|
||||
ctx->transient_pools[ctx->cmdstream_i].entry_offset = 0;
|
||||
|
||||
if (ctx->rasterizer)
|
||||
ctx->dirty |= PAN_DIRTY_RASTERIZER;
|
||||
|
||||
|
|
@ -2517,12 +2504,6 @@ panfrost_destroy(struct pipe_context *pipe)
|
|||
panfrost_drm_free_slab(screen, &panfrost->tiler_polygon_list);
|
||||
panfrost_drm_free_slab(screen, &panfrost->tiler_dummy);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(panfrost->transient_pools); ++i) {
|
||||
struct panfrost_memory_entry *entry;
|
||||
entry = panfrost->transient_pools[i].entries[0];
|
||||
pb_slab_free(&screen->slabs, (struct pb_slab_entry *)entry);
|
||||
}
|
||||
|
||||
ralloc_free(pipe);
|
||||
}
|
||||
|
||||
|
|
@ -2663,16 +2644,6 @@ panfrost_setup_hardware(struct panfrost_context *ctx)
|
|||
struct pipe_context *gallium = (struct pipe_context *) ctx;
|
||||
struct panfrost_screen *screen = pan_screen(gallium->screen);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(ctx->transient_pools); ++i) {
|
||||
/* Allocate the beginning of the transient pool */
|
||||
int entry_size = (1 << 22); /* 4MB */
|
||||
|
||||
ctx->transient_pools[i].entry_size = entry_size;
|
||||
ctx->transient_pools[i].entry_count = 1;
|
||||
|
||||
ctx->transient_pools[i].entries[0] = (struct panfrost_memory_entry *) pb_slab_alloc(&screen->slabs, entry_size, HEAP_TRANSIENT);
|
||||
}
|
||||
|
||||
panfrost_drm_allocate_slab(screen, &ctx->scratchpad, 64, false, 0, 0, 0);
|
||||
panfrost_drm_allocate_slab(screen, &ctx->varying_mem, 16384, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_COHERENT_LOCAL, 0, 0);
|
||||
panfrost_drm_allocate_slab(screen, &ctx->shaders, 4096, true, PAN_ALLOCATE_EXECUTE, 0, 0);
|
||||
|
|
|
|||
|
|
@ -87,25 +87,6 @@ struct panfrost_fence {
|
|||
int fd;
|
||||
};
|
||||
|
||||
#define PANFROST_MAX_TRANSIENT_ENTRIES 64
|
||||
|
||||
struct panfrost_transient_pool {
|
||||
/* Memory blocks in the pool */
|
||||
struct panfrost_memory_entry *entries[PANFROST_MAX_TRANSIENT_ENTRIES];
|
||||
|
||||
/* Number of entries we own */
|
||||
unsigned entry_count;
|
||||
|
||||
/* Current entry that we are writing to, zero-indexed, strictly less than entry_count */
|
||||
unsigned entry_index;
|
||||
|
||||
/* Number of bytes into the current entry we are */
|
||||
off_t entry_offset;
|
||||
|
||||
/* Entry size (all entries must be homogenous) */
|
||||
size_t entry_size;
|
||||
};
|
||||
|
||||
struct panfrost_context {
|
||||
/* Gallium context */
|
||||
struct pipe_context base;
|
||||
|
|
@ -122,12 +103,6 @@ struct panfrost_context {
|
|||
|
||||
struct pipe_framebuffer_state pipe_framebuffer;
|
||||
|
||||
/* The number of concurrent FBOs allowed depends on the number of pools
|
||||
* used; pools are ringed for parallelism opportunities */
|
||||
|
||||
struct panfrost_transient_pool transient_pools[2];
|
||||
int cmdstream_i;
|
||||
|
||||
struct panfrost_memory cmdstream_persistent;
|
||||
struct panfrost_memory shaders;
|
||||
struct panfrost_memory scratchpad;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue