diff options
author | Chia-I Wu <[email protected]> | 2014-03-08 17:32:37 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2014-03-10 16:42:42 +0800 |
commit | 249b1ad98440fee5174aa490e7c3269b88de8904 (patch) | |
tree | 1f97d8f3ebd0f18a56414fb4e0b3e56b2c0f02f9 /src/gallium/drivers/ilo | |
parent | 3e324f99d3b8f6b9da00c3f90719fba19e77ae7d (diff) |
ilo: rework winsys batch buffer functions
Rename
intel_winsys_check_aperture_size() to intel_winsys_can_submit_bo(),
intel_bo_exec() to intel_winsys_submit_bo(), and
intel_winsys_decode_commands() to intel_winsys_decode_bo().
Make a semantic change to ignore intel_context when the ring is not the render
ring.
Diffstat (limited to 'src/gallium/drivers/ilo')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_3d_pipeline.c | 9 | ||||
-rw-r--r-- | src/gallium/drivers/ilo/ilo_blitter_blt.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/ilo/ilo_cp.c | 16 |
3 files changed, 11 insertions, 16 deletions
diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline.c b/src/gallium/drivers/ilo/ilo_3d_pipeline.c index 17ac1e52434..a821282e4fe 100644 --- a/src/gallium/drivers/ilo/ilo_3d_pipeline.c +++ b/src/gallium/drivers/ilo/ilo_3d_pipeline.c @@ -173,7 +173,6 @@ ilo_3d_pipeline_emit_draw(struct ilo_3d_pipeline *p, while (true) { struct ilo_cp_jmp_buf jmp; - int err; /* we will rewind if aperture check below fails */ ilo_cp_setjmp(p->cp, &jmp); @@ -185,8 +184,7 @@ ilo_3d_pipeline_emit_draw(struct ilo_3d_pipeline *p, p->emit_draw(p, ilo); ilo_cp_assert_no_implicit_flush(p->cp, false); - err = intel_winsys_check_aperture_space(ilo->winsys, &p->cp->bo, 1); - if (!err) { + if (intel_winsys_can_submit_bo(ilo->winsys, &p->cp->bo, 1)) { success = true; break; } @@ -271,7 +269,6 @@ ilo_3d_pipeline_emit_rectlist(struct ilo_3d_pipeline *p, while (true) { struct ilo_cp_jmp_buf jmp; - int err; /* we will rewind if aperture check below fails */ ilo_cp_setjmp(p->cp, &jmp); @@ -282,9 +279,7 @@ ilo_3d_pipeline_emit_rectlist(struct ilo_3d_pipeline *p, p->emit_rectlist(p, blitter); ilo_cp_assert_no_implicit_flush(p->cp, false); - err = intel_winsys_check_aperture_space(blitter->ilo->winsys, - &p->cp->bo, 1); - if (err) { + if (!intel_winsys_can_submit_bo(blitter->ilo->winsys, &p->cp->bo, 1)) { /* rewind */ ilo_cp_longjmp(p->cp, &jmp); diff --git a/src/gallium/drivers/ilo/ilo_blitter_blt.c b/src/gallium/drivers/ilo/ilo_blitter_blt.c index d978150943c..a230cb79228 100644 --- a/src/gallium/drivers/ilo/ilo_blitter_blt.c +++ b/src/gallium/drivers/ilo/ilo_blitter_blt.c @@ -349,7 +349,7 @@ ilo_blitter_blt_begin(struct ilo_blitter *blitter, int max_cmd_size, count++; } - if (intel_winsys_check_aperture_space(ilo->winsys, aper_check, count)) + if (!intel_winsys_can_submit_bo(ilo->winsys, aper_check, count)) ilo_cp_flush(ilo->cp, "out of aperture"); /* set BCS_SWCTRL */ diff --git a/src/gallium/drivers/ilo/ilo_cp.c b/src/gallium/drivers/ilo/ilo_cp.c index cda58eb0a80..8bcb19625f8 100644 --- a/src/gallium/drivers/ilo/ilo_cp.c +++ b/src/gallium/drivers/ilo/ilo_cp.c @@ -42,7 +42,7 @@ ilo_cp_dump(struct ilo_cp *cp) { ilo_printf("dumping %d bytes\n", cp->used * 4); if (cp->used) - intel_winsys_decode_commands(cp->winsys, cp->bo, cp->used * 4); + intel_winsys_decode_bo(cp->winsys, cp->bo, cp->used * 4); } /** @@ -182,31 +182,31 @@ static int ilo_cp_exec_bo(struct ilo_cp *cp) { const bool do_exec = !(ilo_debug & ILO_DEBUG_NOHW); - struct intel_context *ctx; unsigned long flags; int err; switch (cp->ring) { case ILO_CP_RING_RENDER: - ctx = cp->render_ctx; flags = INTEL_EXEC_RENDER; break; case ILO_CP_RING_BLT: - ctx = NULL; flags = INTEL_EXEC_BLT; break; default: - ctx = NULL; + assert(!"unknown cp ring"); flags = 0; break; } flags |= cp->one_off_flags; - if (likely(do_exec)) - err = intel_bo_exec(cp->bo, cp->used * 4, ctx, flags); - else + if (likely(do_exec)) { + err = intel_winsys_submit_bo(cp->winsys, + cp->bo, cp->used * 4, cp->render_ctx, flags); + } + else { err = 0; + } cp->one_off_flags = 0; |