Module: Mesa Branch: master Commit: 25443cbb72048900f3ff06fdb7a68aef6eea39ff URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25443cbb72048900f3ff06fdb7a68aef6eea39ff
Author: Lionel Landwerlin <[email protected]> Date: Fri Nov 9 16:49:10 2018 +0000 intel/decoders: read ring buffer length Use this value to limit reading the ring buffer. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Toni Lönnberg <[email protected]> --- src/intel/tools/aubinator.c | 4 +++- src/intel/tools/aubinator_viewer.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c index f3bd006a8a..4dc1fefaa5 100644 --- a/src/intel/tools/aubinator.c +++ b/src/intel/tools/aubinator.c @@ -142,6 +142,7 @@ handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class engine, ui uint32_t ring_buffer_head = context[5]; uint32_t ring_buffer_tail = context[7]; uint32_t ring_buffer_start = context[9]; + uint32_t ring_buffer_length = (context[11] & 0x1ff000) + 4096; mem.pml4 = (uint64_t)context[49] << 32 | context[51]; batch_ctx.user_data = &mem; @@ -158,7 +159,8 @@ handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class engine, ui } batch_ctx.engine = engine; - gen_print_batch(&batch_ctx, commands, ring_buffer_tail - ring_buffer_head, + gen_print_batch(&batch_ctx, commands, + MIN2(ring_buffer_tail - ring_buffer_head, ring_buffer_length), 0); aub_mem_clear_bo_maps(&mem); } diff --git a/src/intel/tools/aubinator_viewer.cpp b/src/intel/tools/aubinator_viewer.cpp index d3638c7001..e7034fa889 100644 --- a/src/intel/tools/aubinator_viewer.cpp +++ b/src/intel/tools/aubinator_viewer.cpp @@ -723,6 +723,7 @@ display_batch_execlist_write(void *user_data, uint32_t ring_buffer_head = context_img[5]; uint32_t ring_buffer_tail = context_img[7]; uint32_t ring_buffer_start = context_img[9]; + uint32_t ring_buffer_length = (context_img[11] & 0x1ff000) + 4096; window->mem.pml4 = (uint64_t)context_img[49] << 32 | context_img[51]; @@ -735,7 +736,7 @@ display_batch_execlist_write(void *user_data, window->decode_ctx.engine = engine; aub_viewer_render_batch(&window->decode_ctx, commands, - ring_buffer_tail - ring_buffer_head, + MIN2(ring_buffer_tail - ring_buffer_head, ring_buffer_length), ring_buffer_start); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
