diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-02-25 02:32:45 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-02-25 02:32:45 +0000 |
commit | cdca103d434f8085b9c1046b6df33e9cc5c55531 (patch) | |
tree | 9142a70ca936937a75f5484e5395c54fe5ac2e1f | |
parent | f44d4653a9d8ecd408f489b0e63f6c4e301ecdbf (diff) |
panfrost/nondrm: Make COHERENT_LOCAL explicit
This flag corresponds to what was MEM_COHERENT_LOCAL in the vendor
driver, which seems to influence the cache policy, necessary for the
varying temporary storage but nothing else.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
-rw-r--r-- | src/gallium/drivers/panfrost/pan_context.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_screen.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 1bfdc6655fe..48b2314679b 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -2727,7 +2727,7 @@ panfrost_setup_hardware(struct panfrost_context *ctx) } screen->driver->allocate_slab(screen, &ctx->scratchpad, 64, false, 0, 0, 0); - screen->driver->allocate_slab(screen, &ctx->varying_mem, 16384, false, PAN_ALLOCATE_INVISIBLE, 0, 0); + screen->driver->allocate_slab(screen, &ctx->varying_mem, 16384, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_COHERENT_LOCAL, 0, 0); screen->driver->allocate_slab(screen, &ctx->shaders, 4096, true, PAN_ALLOCATE_EXECUTE, 0, 0); screen->driver->allocate_slab(screen, &ctx->tiler_heap, 32768, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_GROWABLE, 1, 128); screen->driver->allocate_slab(screen, &ctx->misc_0, 128*128, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_GROWABLE, 1, 128); diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h index 3d7c1ad1562..a2b4b2a77f7 100644 --- a/src/gallium/drivers/panfrost/pan_screen.h +++ b/src/gallium/drivers/panfrost/pan_screen.h @@ -47,6 +47,7 @@ struct panfrost_screen; #define PAN_ALLOCATE_EXECUTE (1 << 0) #define PAN_ALLOCATE_GROWABLE (1 << 1) #define PAN_ALLOCATE_INVISIBLE (1 << 2) +#define PAN_ALLOCATE_COHERENT_LOCAL (1 << 3) struct panfrost_driver { struct panfrost_bo * (*import_bo) (struct panfrost_screen *screen, struct winsys_handle *whandle); |