assert(r);
assert(r->num_macroblocks == r->macroblocks_per_batch);
+ xfer_buffers_unmap(r);
gen_macroblock_stream(r, num_macroblocks);
if (num_macroblocks[MACROBLOCK_TYPE_INTRA] > 0) {
r->pipe->flush(r->pipe, PIPE_FLUSH_RENDER_CACHE, r->fence);
r->num_macroblocks = 0;
+ xfer_buffers_map(r);
}
static void
if (renderer->surface) {
if (surface != renderer->surface) {
if (renderer->num_macroblocks > 0) {
- xfer_buffers_unmap(renderer);
flush(renderer);
}
num_macroblocks -= num_to_submit;
if (renderer->num_macroblocks == renderer->macroblocks_per_batch) {
- xfer_buffers_unmap(renderer);
flush(renderer);
- xfer_buffers_map(renderer);
/* Next time we get this surface it may have new ref frames */
pipe_surface_reference(&renderer->surface, NULL);
pipe_surface_reference(&renderer->past, NULL);