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;
}
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);
}
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];
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);
}