D23881: Possible solution for scheduling repaints on NVIDIA

Roman Gilg noreply at phabricator.kde.org
Thu Dec 12 01:02:35 GMT 2019


romangg added a comment.


  I merged the patches regarding swap-events to master. Please rebase one more time. You need to make sure `hasSwapEvent()` returns true in your case.
  
  I will test the patch with my Nvidia-box after rebase quickly as well.

INLINE COMMENTS

> davidedmundson wrote in glxbackend.cpp:119
> One thing I found with nvidia drivers is that if we create an original context with robustness attributes enabled, and then use that as a share context for a new context without robustness, it fails to create anything.
> 
> It looks like this code would do that.
> We probably want to re-use the kwin code for creating contexts so we can ensure matching attributes

Ok, let's remember this information. We can first test on master without it though.

> glxbackend.cpp:301
>  
> +    if (!m_haveINTELSwapEvent) {
> +        m_asyncSwapHandler = new AsyncSwapBuffersHandler(display(), fbconfig, glxWindow, ctx);

Can there be a case where we don't have intel-swap-event but also don't want the swap-handler to be activated? Some legacy systems for example.

I remember you provided the table with which hardware uses what extension so you know I'm sure.

> glxbackend.h:72
> +public:
> +    AsyncSwapBuffersHandler(Display *dpy, GLXFBConfig config, GLXDrawable drawable, GLXContext shareContext = nullptr);
> +    ~AsyncSwapBuffersHandler() override final;

Line length at max 100 chars. Other lines below as well.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D23881

To: fredrik, #kwin, romangg
Cc: davidedmundson, ekurzinger, kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20191212/80a8f3e9/attachment-0001.html>


More information about the kwin mailing list