Skip to content

asahi: Add batch tracking logic

Alyssa Rosenzweig requested to merge alyssa/mesa:asahi/batch-tracking into main
    We already have the notion of an agx_batch, which encapsulates a render
    pass. Extend the logic to allow multiple in-flight batches per context, avoiding
    a flush in set_framebuffer_state and improving performance for certain
    applications designed for IMRs that ping-pong unnecessarily between FBOs. I
    don't have such an application immediately in mind, but I wanted to get this
    flag-day out of the way while the driver is still small and flexible.
    
    The driver was written from day 1 with batch tracking in mind, so this is a
    relatively small change to actually wire it up, but there are lots of little
    details to get right.
    
    The code itself is mostly a copy/paste of panfrost, which in turn draws
    inspiration from freedreno and v3d.

Merge request reports