diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-03-12 03:32:17 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-03-14 22:47:11 +0000 |
commit | 9dd84db7a5d7ae74f7fca835ae51fa6a88313d09 (patch) | |
tree | 1c077d4d8e8de71a4e7191a8cb3c2b9a7ef31f50 /src/gallium/drivers/panfrost/pan_context.h | |
parent | 4d1a356a570dfcec1dbde6790bcb9a3e7598c53e (diff) |
panfrost: Break out fragment to SFBD/MFBD files
This substantially cleans up the corresponding logic at the expense of a
bit of code duplication; nevertheless, it's a net win since otherwise
incompatible hardware code is mixed confusingly.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/pan_context.h')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_context.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/drivers/panfrost/pan_context.h b/src/gallium/drivers/panfrost/pan_context.h index 091d9988698..a304d83e4fe 100644 --- a/src/gallium/drivers/panfrost/pan_context.h +++ b/src/gallium/drivers/panfrost/pan_context.h @@ -59,6 +59,12 @@ struct prim_convert_context; #define PAN_DIRTY_SAMPLERS (1 << 8) #define PAN_DIRTY_TEXTURES (1 << 9) +#define SET_BIT(lval, bit, cond) \ + if (cond) \ + lval |= (bit); \ + else \ + lval &= ~(bit); + struct panfrost_constant_buffer { bool dirty; size_t size; @@ -361,6 +367,21 @@ panfrost_flush( struct pipe_fence_handle **fence, unsigned flags); +bool +panfrost_is_scanout(struct panfrost_context *ctx); + +mali_ptr +panfrost_sfbd_fragment(struct panfrost_context *ctx); + +mali_ptr +panfrost_mfbd_fragment(struct panfrost_context *ctx); + +struct bifrost_framebuffer +panfrost_emit_mfbd(struct panfrost_context *ctx); + +struct mali_single_framebuffer +panfrost_emit_sfbd(struct panfrost_context *ctx); + mali_ptr panfrost_fragment_job(struct panfrost_context *ctx); |