diff options
author | Eric Anholt <[email protected]> | 2016-09-08 14:03:29 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2016-09-14 06:08:03 +0100 |
commit | 774a556b6dc0d49f9f29c438349a66e69062e6e4 (patch) | |
tree | a01cf0dcdf155ca752216c289ca12a07af957420 /src/gallium/drivers | |
parent | 0ef1b32ebbcf9ad6316021a1059ba7d6a65b9588 (diff) |
vc4: Move job-submit skip cases to vc4_job_submit().
For calling job_submit() directly, I need the skipping here.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_context.c | 12 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_job.c | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.c b/src/gallium/drivers/vc4/vc4_context.c index 8b174f3e6b1..e7f63d69735 100644 --- a/src/gallium/drivers/vc4/vc4_context.c +++ b/src/gallium/drivers/vc4/vc4_context.c @@ -44,18 +44,6 @@ vc4_flush(struct pipe_context *pctx) struct pipe_surface *cbuf = vc4->framebuffer.cbufs[0]; struct pipe_surface *zsbuf = vc4->framebuffer.zsbuf; - if (!vc4->needs_flush) - return; - - /* The RCL setup would choke if the draw bounds cause no drawing, so - * just drop the drawing if that's the case. - */ - if (vc4->draw_max_x <= vc4->draw_min_x || - vc4->draw_max_y <= vc4->draw_min_y) { - vc4_job_reset(vc4); - return; - } - if (cbuf && (vc4->resolve & PIPE_CLEAR_COLOR0)) { pipe_surface_reference(&vc4->color_write, cbuf->texture->nr_samples > 1 ? diff --git a/src/gallium/drivers/vc4/vc4_job.c b/src/gallium/drivers/vc4/vc4_job.c index d8c11154e91..e71f6f4cf91 100644 --- a/src/gallium/drivers/vc4/vc4_job.c +++ b/src/gallium/drivers/vc4/vc4_job.c @@ -170,6 +170,18 @@ vc4_submit_setup_rcl_msaa_surface(struct vc4_context *vc4, void vc4_job_submit(struct vc4_context *vc4) { + if (!vc4->needs_flush) + return; + + /* The RCL setup would choke if the draw bounds cause no drawing, so + * just drop the drawing if that's the case. + */ + if (vc4->draw_max_x <= vc4->draw_min_x || + vc4->draw_max_y <= vc4->draw_min_y) { + vc4_job_reset(vc4); + return; + } + if (vc4_debug & VC4_DEBUG_CL) { fprintf(stderr, "BCL:\n"); vc4_dump_cl(vc4->bcl.base, cl_offset(&vc4->bcl), false); |