[Mesa-dev] [PATCH 4/4] vc4: Don't store the depth/stencil buffers on eglSwapBuffers().
Eric Anholt
eric at anholt.net
Fri Dec 26 10:45:54 PST 2014
EGL allows this, since you basically never want the depth/stencil across a
swap, and it lets you save memory bandwidth on renderers like ours.
Improves the framerate of 5 seconds of es2gears by 0.405017% +/-
0.0743318% (n=482).
---
This was a smaller effect than I was expecting of this change, but I guess the
ridiculous overhead I have of validating shaders per draw call in the kernel
is a bigger deal than this bandwidth cost.
src/gallium/drivers/vc4/vc4_context.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gallium/drivers/vc4/vc4_context.c b/src/gallium/drivers/vc4/vc4_context.c
index d4a9eec..341accd 100644
--- a/src/gallium/drivers/vc4/vc4_context.c
+++ b/src/gallium/drivers/vc4/vc4_context.c
@@ -381,6 +381,9 @@ vc4_pipe_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
{
struct vc4_context *vc4 = vc4_context(pctx);
+ if (flags & PIPE_FLUSH_INVALIDATE_ANCILLARY)
+ vc4->resolve &= ~(PIPE_CLEAR_DEPTH | PIPE_CLEAR_STENCIL);
+
vc4_flush(pctx);
if (fence) {
--
2.1.3
More information about the mesa-dev
mailing list