• Rob Clark's avatar
    drm/msm: One sched entity per process per priority · 68002469
    Rob Clark authored
    Some userspace apps make assumptions that rendering against multiple
    contexts within the same process (from the same thread, with appropriate
    MakeCurrent() calls) provides sufficient synchronization without any
    external synchronization (ie. glFenceSync()/glWaitSync()).  Since a
    submitqueue maps to a gl/vk context, having multiple sched entities of
    the same priority only works with implicit sync enabled.
    
    To fix this, limit things to a single sched entity per priority level
    per process.
    
    An alternative would be sharing submitqueues between contexts in
    userspace, but tracking of per-context faults (ie. GL_EXT_robustness)
    is already done at the submitqueue level, so this is not an option.
    Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
    68002469
msm_gpu.h 15.5 KB