diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-09-25 09:38:43 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-09-25 09:38:43 +0100 |
commit | 46fedf0cf1a413381109c1de34619e84ad614b8a (patch) | |
tree | 1c10f9148c7e051dc45f1485ace2735d55734f2d | |
parent | ccf6547a8f1b77ddf4e79bdefe2a0878c0e9b256 (diff) |
sna/kgem: Check all operation bo in a single amalgamation
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/gen2_render.c | 26 | ||||
-rw-r--r-- | src/sna/gen3_render.c | 26 | ||||
-rw-r--r-- | src/sna/gen4_render.c | 24 | ||||
-rw-r--r-- | src/sna/gen5_render.c | 37 | ||||
-rw-r--r-- | src/sna/gen6_render.c | 24 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 24 | ||||
-rw-r--r-- | src/sna/kgem.c | 27 | ||||
-rw-r--r-- | src/sna/kgem.h | 2 |
8 files changed, 77 insertions, 113 deletions
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c index 981f6af7..43a7cad1 100644 --- a/src/sna/gen2_render.c +++ b/src/sna/gen2_render.c @@ -1347,11 +1347,9 @@ gen2_render_composite(struct sna *sna, tmp->boxes = gen2_render_composite_boxes; tmp->done = gen2_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) { @@ -1720,9 +1718,9 @@ gen2_render_composite_spans(struct sna *sna, tmp->boxes = gen2_render_composite_spans_boxes; tmp->done = gen2_render_composite_spans_done; - if (!kgem_check_bo(&sna->kgem, tmp->base.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->base.src.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->base.dst.bo, tmp->base.src.bo, + NULL)) kgem_submit(&sna->kgem); gen2_emit_composite_spans_state(sna, tmp); @@ -1876,7 +1874,7 @@ gen2_render_fill_boxes(struct sna *sna, tmp.dst.bo = dst_bo; tmp.floats_per_vertex = 2; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen2_emit_fill_composite_state(sna, &tmp, pixel); @@ -1995,7 +1993,7 @@ gen2_render_fill(struct sna *sna, uint8_t alu, tmp->base.u.gen2.pixel = sna_rgba_for_color(color, dst->drawable.depth); - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); tmp->blt = gen2_render_fill_blt; @@ -2119,9 +2117,7 @@ gen2_render_copy_boxes(struct sna *sna, uint8_t alu, box, n); } - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2263,9 +2259,7 @@ gen2_render_copy(struct sna *sna, uint8_t alu, tmp->base.floats_per_vertex = 4; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c index 2383e782..bac03533 100644 --- a/src/sna/gen3_render.c +++ b/src/sna/gen3_render.c @@ -2338,11 +2338,9 @@ gen3_render_composite(struct sna *sna, tmp->boxes = gen3_render_composite_boxes; tmp->done = gen3_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) { @@ -2743,9 +2741,9 @@ gen3_render_composite_spans(struct sna *sna, tmp->boxes = gen3_render_composite_spans_boxes; tmp->done = gen3_render_composite_spans_done; - if (!kgem_check_bo(&sna->kgem, tmp->base.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->base.src.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->base.dst.bo, tmp->base.src.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->base.src.bo)) { @@ -3283,9 +3281,7 @@ gen3_render_copy_boxes(struct sna *sna, uint8_t alu, box, n); } - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -3433,9 +3429,7 @@ gen3_render_copy(struct sna *sna, uint8_t alu, tmp->base.floats_per_vertex = 4; tmp->base.mask.u.gen3.type = SHADER_NONE; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -3552,7 +3546,7 @@ gen3_render_fill_boxes(struct sna *sna, tmp.src.u.gen3.type = op == PictOpClear ? SHADER_ZERO : SHADER_CONSTANT; tmp.src.u.gen3.mode = pixel; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen3_emit_composite_state(sna, &tmp); @@ -3654,7 +3648,7 @@ gen3_render_fill(struct sna *sna, uint8_t alu, tmp->base.src.u.gen3.mode = sna_rgba_for_color(color, dst->drawable.depth); - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); tmp->blt = gen3_render_fill_blt; diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c index 5d115a59..3c133be2 100644 --- a/src/sna/gen4_render.c +++ b/src/sna/gen4_render.c @@ -1637,9 +1637,7 @@ gen4_render_video(struct sna *sna, tmp.floats_per_vertex = 3; tmp.u.gen4.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, tmp.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, frame->bo)) + if (!kgem_check_bo(&sna->kgem, tmp.dst.bo, frame->bo, NULL)) kgem_submit(&sna->kgem); if (!kgem_bo_is_dirty(frame->bo)) @@ -2034,11 +2032,9 @@ gen4_render_composite(struct sna *sna, tmp->boxes = gen4_render_composite_boxes; tmp->done = gen4_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) @@ -2209,9 +2205,7 @@ gen4_render_copy_boxes(struct sna *sna, uint8_t alu, tmp.u.gen4.wm_kernel = WM_KERNEL; tmp.u.gen4.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2309,9 +2303,7 @@ gen4_render_copy(struct sna *sna, uint8_t alu, op->base.u.gen4.wm_kernel = WM_KERNEL; op->base.u.gen4.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2464,7 +2456,7 @@ gen4_render_fill_boxes(struct sna *sna, tmp.u.gen4.wm_kernel = WM_KERNEL; tmp.u.gen4.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen4_fill_bind_surfaces(sna, &tmp); @@ -2547,7 +2539,7 @@ gen4_render_fill(struct sna *sna, uint8_t alu, op->base.u.gen4.wm_kernel = WM_KERNEL; op->base.u.gen4.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen4_fill_bind_surfaces(sna, &op->base); diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c index a4b08d0a..ad27d908 100644 --- a/src/sna/gen5_render.c +++ b/src/sna/gen5_render.c @@ -720,7 +720,7 @@ gen5_bind_bo(struct sna *sna, DBG(("[%x] bind bo(handle=%d, addr=%d), format=%d, width=%d, height=%d, pitch=%d, tiling=%d -> %s\n", offset, bo->handle, ss[1], - format, width, height, bo->pitch, bo->tiling, + format, width, height, bo->pitch, bo->tiling, domains & 0xffff ? "render" : "sampler")); return offset; @@ -1664,9 +1664,7 @@ gen5_render_video(struct sna *sna, tmp.is_affine = TRUE; tmp.floats_per_vertex = 3; - if (!kgem_check_bo(&sna->kgem, tmp.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, frame->bo)) + if (!kgem_check_bo(&sna->kgem, tmp.dst.bo, frame->bo, NULL)) kgem_submit(&sna->kgem); if (!kgem_bo_is_dirty(frame->bo)) @@ -2045,11 +2043,8 @@ gen5_render_composite(struct sna *sna, tmp->boxes = gen5_render_composite_boxes; tmp->done = gen5_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) @@ -2159,9 +2154,7 @@ gen5_render_copy_boxes(struct sna *sna, uint8_t alu, tmp.u.gen5.wm_kernel = WM_KERNEL; tmp.u.gen5.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2295,9 +2288,7 @@ gen5_render_copy(struct sna *sna, uint8_t alu, op->base.u.gen5.wm_kernel = WM_KERNEL; op->base.u.gen5.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2368,17 +2359,17 @@ gen5_render_fill_boxes(struct sna *sna, dst->drawable.height > 8192 || !gen5_check_dst_format(format)) { uint8_t alu = GXcopy; + uint8_t _op = op; - if (op == PictOpClear) { + if (_op == PictOpClear) { alu = GXclear; - pixel = 0; - op = PictOpSrc; + _op = PictOpSrc; } - if (op == PictOpOver && color->alpha >= 0xff00) - op = PictOpSrc; + if (_op == PictOpOver && color->alpha >= 0xff00) + _op = PictOpSrc; - if (op == PictOpSrc && + if (_op == PictOpSrc && sna_get_pixel_from_rgba(&pixel, color->red, color->green, @@ -2423,7 +2414,7 @@ gen5_render_fill_boxes(struct sna *sna, tmp.u.gen5.wm_kernel = WM_KERNEL; tmp.u.gen5.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen5_fill_bind_surfaces(sna, &tmp); @@ -2542,7 +2533,7 @@ gen5_render_fill(struct sna *sna, uint8_t alu, op->base.u.gen5.wm_kernel = WM_KERNEL; op->base.u.gen5.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen5_fill_bind_surfaces(sna, &op->base); diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 91f59002..044704d3 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -1838,9 +1838,7 @@ gen6_render_video(struct sna *sna, tmp.u.gen6.nr_inputs = 1; tmp.u.gen6.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, tmp.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, frame->bo)) + if (!kgem_check_bo(&sna->kgem, tmp.dst.bo, frame->bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(frame->bo)) @@ -2222,11 +2220,9 @@ gen6_render_composite(struct sna *sna, tmp->boxes = gen6_render_composite_boxes; tmp->done = gen6_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) @@ -2355,9 +2351,7 @@ gen6_render_copy_boxes(struct sna *sna, uint8_t alu, tmp.u.gen6.nr_inputs = 1; tmp.u.gen6.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2503,9 +2497,7 @@ gen6_render_copy(struct sna *sna, uint8_t alu, op->base.u.gen6.nr_inputs = 1; op->base.u.gen6.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2642,7 +2634,7 @@ gen6_render_fill_boxes(struct sna *sna, tmp.u.gen6.nr_inputs = 1; tmp.u.gen6.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen6_emit_fill_state(sna, &tmp); @@ -2768,7 +2760,7 @@ gen6_render_fill(struct sna *sna, uint8_t alu, op->base.u.gen6.nr_inputs = 1; op->base.u.gen6.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen6_emit_fill_state(sna, &op->base); diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 709b02ea..a7bfc81f 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -1970,9 +1970,7 @@ gen7_render_video(struct sna *sna, tmp.u.gen7.nr_inputs = 1; tmp.u.gen7.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, tmp.dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, frame->bo)) + if (!kgem_check_bo(&sna->kgem, tmp.dst.bo, frame->bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(frame->bo)) @@ -2355,11 +2353,9 @@ gen7_render_composite(struct sna *sna, tmp->boxes = gen7_render_composite_boxes; tmp->done = gen7_render_composite_done; - if (!kgem_check_bo(&sna->kgem, tmp->dst.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->src.bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, tmp->mask.bo)) + if (!kgem_check_bo(&sna->kgem, + tmp->dst.bo, tmp->src.bo, tmp->mask.bo, + NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) @@ -2490,9 +2486,7 @@ gen7_render_copy_boxes(struct sna *sna, uint8_t alu, tmp.u.gen7.nr_inputs = 1; tmp.u.gen7.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2640,9 +2634,7 @@ gen7_render_copy(struct sna *sna, uint8_t alu, op->base.u.gen7.nr_inputs = 1; op->base.u.gen7.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) - kgem_submit(&sna->kgem); - if (!kgem_check_bo(&sna->kgem, src_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, src_bo, NULL)) kgem_submit(&sna->kgem); if (kgem_bo_is_dirty(src_bo)) @@ -2785,7 +2777,7 @@ gen7_render_fill_boxes(struct sna *sna, tmp.u.gen7.nr_inputs = 1; tmp.u.gen7.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen7_emit_fill_state(sna, &tmp); @@ -2912,7 +2904,7 @@ gen7_render_fill(struct sna *sna, uint8_t alu, op->base.u.gen7.nr_inputs = 1; op->base.u.gen7.ve_id = 1; - if (!kgem_check_bo(&sna->kgem, dst_bo)) + if (!kgem_check_bo(&sna->kgem, dst_bo, NULL)) kgem_submit(&sna->kgem); gen7_emit_fill_state(sna, &op->base); diff --git a/src/sna/kgem.c b/src/sna/kgem.c index dcfcbbd8..50374250 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -1209,7 +1209,7 @@ search_linear_cache(struct kgem *kgem, unsigned int size, bool use_active) use_active ? "active" : "inactive")); assert(bo->refcnt == 0); assert(bo->reusable); - assert(use_active || !kgem_busy(kgem, bo->handle)); + //assert(use_active || !kgem_busy(kgem, bo->handle)); return bo; } @@ -1562,21 +1562,30 @@ void __kgem_flush(struct kgem *kgem, struct kgem_bo *bo) kgem_busy(kgem, bo->handle); } -bool kgem_check_bo(struct kgem *kgem, struct kgem_bo *bo) +bool kgem_check_bo(struct kgem *kgem, ...) { - if (bo == NULL) - return true; - - if (bo->exec) - return true; + va_list ap; + struct kgem_bo *bo; + int num_exec = 0; + int size = 0; if (kgem->aperture > kgem->aperture_low) return false; - if (bo->size + kgem->aperture > kgem->aperture_high) + va_start(ap, kgem); + while ((bo = va_arg(ap, struct kgem_bo *))) { + if (bo->exec) + continue; + + size += bo->size; + num_exec++; + } + va_end(ap); + + if (size + kgem->aperture > kgem->aperture_high) return false; - if (kgem->nexec == KGEM_EXEC_SIZE(kgem)) + if (kgem->nexec + num_exec >= KGEM_EXEC_SIZE(kgem)) return false; return true; diff --git a/src/sna/kgem.h b/src/sna/kgem.h index 6c8883c9..8f0c8382 100644 --- a/src/sna/kgem.h +++ b/src/sna/kgem.h @@ -271,7 +271,7 @@ static inline void kgem_advance_batch(struct kgem *kgem, int num_dwords) kgem->nbatch += num_dwords; } -bool kgem_check_bo(struct kgem *kgem, struct kgem_bo *bo); +bool kgem_check_bo(struct kgem *kgem, ...) __attribute__((sentinel(NULL))); bool kgem_check_bo_fenced(struct kgem *kgem, ...) __attribute__((sentinel(NULL))); void _kgem_add_bo(struct kgem *kgem, struct kgem_bo *bo); |