mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 07:38:10 +02:00
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@intel.com> Reviewed-by: Toni Lönnberg <toni.lonnberg@intel.com>
This commit is contained in:
parent
25443cbb72
commit
59c1059528
2 changed files with 4 additions and 4 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue