Skip to content
  • James Rowe's avatar
    Frontend/GPU: Refactor context management · 282adfc7
    James Rowe authored
    Changes the GraphicsContext to be managed by the GPU core. This
    eliminates the need for the frontends to fool around with tricky
    MakeCurrent/DoneCurrent calls that are dependent on the settings (such
    as async gpu option).
    
    This also refactors out the need to use QWidget::fromWindowContainer as
    that caused issues with focus and input handling. Now we use a regular
    QWidget and just access the native windowHandle() directly.
    
    Another change is removing the debug tool setting in FrameMailbox.
    Instead of trying to block the frontend until a new frame is ready, the
    core will now take over presentation and draw directly to the window if
    the renderer detects that its hooked by NSight or RenderDoc
    
    Lastly, since it was in the way, I removed ScopeAcquireWindowContext and
    replaced it with a simple subclass in GraphicsContext that achieves the
    same result
    282adfc7
Loading