diff options
author | Eric Anholt <[email protected]> | 2017-01-04 11:24:31 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2017-01-05 16:23:32 -0800 |
commit | ebf33e577aee00cf888c79e11a3b62c181b46510 (patch) | |
tree | 142adc22f4a46af254f8a2a38101ef90f844b38c /src/gallium/drivers/vc4/vc4_cl.c | |
parent | 076ab157ff2ed7a98b09363bce355247f4ed71e6 (diff) |
vc4: Flush the job early if we're referencing too many BOs.
If we get up toward 256MB (or whatever the CMA area size is),
VC4_GEM_CREATE will start throwing errors. Even if we don't trigger
that, when we flush the kernel's BO allocation for the CLs or bin
memory may end up throwing an error, at which point our job won't get
rendered at all.
Just flush early (half of maximum CMA size) so that hopefully we never
get to that point.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_cl.c')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_cl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_cl.c b/src/gallium/drivers/vc4/vc4_cl.c index 91f51b02bb6..35578370e2c 100644 --- a/src/gallium/drivers/vc4/vc4_cl.c +++ b/src/gallium/drivers/vc4/vc4_cl.c @@ -76,5 +76,7 @@ vc4_gem_hindex(struct vc4_job *job, struct vc4_bo *bo) cl_ptr(&out, vc4_bo_reference(bo)); cl_end(&job->bo_pointers, out); + job->bo_space += bo->size; + return hindex; } |