Mesa (master): intel/aubinator: fix ring buffer pointer
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Nov 16 11:43:33 UTC 2018
Module: Mesa
Branch: master
Commit: 59c1059528bcbc339743104b486fc4aadd959017
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59c1059528bcbc339743104b486fc4aadd959017
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Fri Nov 9 16:49:11 2018 +0000
intel/aubinator: fix ring buffer pointer
We can only start parsing commands from the head pointer. This was
working fine up to now because we only dealt with a "made up" ring
buffer (generated by aub_write) which always had its head at 0.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Toni Lönnberg <toni.lonnberg at intel.com>
---
src/intel/tools/aubinator.c | 4 ++--
src/intel/tools/aubinator_viewer.cpp | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c
index 4dc1fefaa5..fe63ff3b96 100644
--- a/src/intel/tools/aubinator.c
+++ b/src/intel/tools/aubinator.c
@@ -150,7 +150,7 @@ handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class engine, ui
struct gen_batch_decode_bo ring_bo = aub_mem_get_ggtt_bo(&mem,
ring_buffer_start);
assert(ring_bo.size > 0);
- void *commands = (uint8_t *)ring_bo.map + (ring_buffer_start - ring_bo.addr);
+ void *commands = (uint8_t *)ring_bo.map + (ring_buffer_start - ring_bo.addr) + ring_buffer_head;
if (context_descriptor & 0x100 /* ppgtt */) {
batch_ctx.get_bo = aub_mem_get_ppgtt_bo;
@@ -161,7 +161,7 @@ handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class engine, ui
batch_ctx.engine = engine;
gen_print_batch(&batch_ctx, commands,
MIN2(ring_buffer_tail - ring_buffer_head, ring_buffer_length),
- 0);
+ ring_bo.addr + ring_buffer_head);
aub_mem_clear_bo_maps(&mem);
}
diff --git a/src/intel/tools/aubinator_viewer.cpp b/src/intel/tools/aubinator_viewer.cpp
index e7034fa889..085ef75555 100644
--- a/src/intel/tools/aubinator_viewer.cpp
+++ b/src/intel/tools/aubinator_viewer.cpp
@@ -730,14 +730,14 @@ display_batch_execlist_write(void *user_data,
struct gen_batch_decode_bo ring_bo =
aub_mem_get_ggtt_bo(&window->mem, ring_buffer_start);
assert(ring_bo.size > 0);
- void *commands = (uint8_t *)ring_bo.map + (ring_buffer_start - ring_bo.addr);
+ void *commands = (uint8_t *)ring_bo.map + (ring_buffer_start - ring_bo.addr) + ring_buffer_head;
window->uses_ppgtt = true;
window->decode_ctx.engine = engine;
aub_viewer_render_batch(&window->decode_ctx, commands,
MIN2(ring_buffer_tail - ring_buffer_head, ring_buffer_length),
- ring_buffer_start);
+ ring_buffer_start + ring_buffer_head);
}
static void
More information about the mesa-commit
mailing list