D23881: Possible solution for scheduling repaints on NVIDIA

Roman Gilg <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.