• Paul Lemire's avatar
    Renderer: check context thread before destroying resources · f60a57eb
    Paul Lemire authored
    
    
    Only try to cleanup the resources if we know we are called from the right
    thread.
    
    releaseGraphicsResources can be called from 2 places:
    - Scene3DCleaner when using Scene3D (when closing the window)
    - AspectThread when the RenderAspect gets unregistered
    
    In configurations where the context lives in the main thread (Scene3D +
    single threaded render loop / ANGLE), the RenderAspect gets unregistered
    before the Scene3DCleaner has had time to call releaseGraphicsResources.
    
    This means that we won't release the resources ourselved and that the
    driver will have to do that for us.
    
    This has been fixed properly in 5.14 with the AspectThread removal.
    
    Task-number: QTBUG-60971
    Change-Id: I49c1c2f74ad09e7162b988f87bac65863f8490d8
    Reviewed-by: default avatarSean Harmer <sean.harmer@kdab.com>
    f60a57eb
renderer.cpp 99.9 KB