diff options
author | Rob Clark <[email protected]> | 2014-10-21 10:30:49 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-10-21 20:08:49 -0400 |
commit | 01b757e2b0fb97a146b0ef278b449cecab0d15e8 (patch) | |
tree | a2b0089ba5f796a23ecb558f88ab72ba17daaede /src/gallium/drivers/freedreno/freedreno_gmem.h | |
parent | 1ab6543431b5a4eaf589cdabf2227088dd62ce6f (diff) |
freedreno: clear vs scissor
The optimization of avoiding restore (mem2gmem) if there was a clear
falls down a bit if you don't have a fullscreen scissor. We need to
make the decision logic a bit more clever to keep track of *what* was
cleared, so that we can (a) completely skip mem2gmem if entire buffer
was cleared, or (b) skip mem2gmem on a per-tile basis for tiles that
were completely cleared.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_gmem.h')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_gmem.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.h b/src/gallium/drivers/freedreno/freedreno_gmem.h index c7c687419b4..ff322df3c2f 100644 --- a/src/gallium/drivers/freedreno/freedreno_gmem.h +++ b/src/gallium/drivers/freedreno/freedreno_gmem.h @@ -55,6 +55,11 @@ struct fd_gmem_stateobj { bool has_zs; /* gmem config using depth/stencil? */ }; -void fd_gmem_render_tiles(struct pipe_context *pctx); +struct fd_context; + +void fd_gmem_render_tiles(struct fd_context *ctx); + +bool fd_gmem_needs_restore(struct fd_context *ctx, struct fd_tile *tile, + uint32_t buffers); #endif /* FREEDRENO_GMEM_H_ */ |