summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-03-08 17:32:37 +0800
committerChia-I Wu <[email protected]>2014-03-10 16:42:42 +0800
commit249b1ad98440fee5174aa490e7c3269b88de8904 (patch)
tree1f97d8f3ebd0f18a56414fb4e0b3e56b2c0f02f9 /src/gallium/drivers
parent3e324f99d3b8f6b9da00c3f90719fba19e77ae7d (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')
-rw-r--r--src/gallium/drivers/ilo/ilo_3d_pipeline.c9
-rw-r--r--src/gallium/drivers/ilo/ilo_blitter_blt.c2
-rw-r--r--src/gallium/drivers/ilo/ilo_cp.c16
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;