summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-09-08 14:03:29 -0700
committerEric Anholt <[email protected]>2016-09-14 06:08:03 +0100
commit774a556b6dc0d49f9f29c438349a66e69062e6e4 (patch)
treea01cf0dcdf155ca752216c289ca12a07af957420 /src/gallium/drivers
parent0ef1b32ebbcf9ad6316021a1059ba7d6a65b9588 (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.c12
-rw-r--r--src/gallium/drivers/vc4/vc4_job.c12
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);