• Eric Anholt's avatar
    drm/v3d: Add missing implicit synchronization. · dffa9b7a
    Eric Anholt authored
    It is the expectation of existing userspace (X11 + Mesa, in
    particular) that jobs submitted to the kernel against a shared BO will
    get implicitly synchronized by their submission order.  If we want to
    allow clever userspace to disable implicit synchronization, we should
    do that under its own submit flag (as amdgpu and lima do).
    
    Note that we currently only implicitly sync for the rendering pass,
    not binning -- if you texture-from-pixmap in the binning vertex shader
    (vertex coordinate generation), you'll miss out on synchronization.
    
    Fixes flickering when multiple clients are running in parallel,
    particularly GL apps and compositors.
    
    v2: Fix a missing refcount on the CSD done fence for L2 cleaning.
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190416225856.20264-6-eric@anholt.netAcked-by: default avatarRob Clark <robdclark@gmail.com>
    dffa9b7a
v3d_sched.c 12 KB