Move SceneOpenGL into a dedicated plugin
ClosedPublic

Authored by graesslin on Sep 8 2017, 8:42 PM.

Details

Summary

Unfortunately a rather large change which required more refactoring than
initially expected. The main problem was that some parts needed to go
into platformsupport so that the platform plugins can link them. Due to
the rather monolithic nature of scene_opengl.h a few changes were
required:

  • SceneOpenGL::Texture -> SceneOpenGLTexture
  • SceneOpenGL::TexturePrivate -> SceneOpenGLTexturePrivate
  • texture based code into dedicated files
  • SwapProfiler code into dedicated files
  • SwapProfiler only used in x11 variants
  • Safety checks for OpenGL scene moved into the new plugin
  • signal declared in SceneOpenGL moved to Scene, so that we don't need

to include SceneOpenGL in composite

Test Plan

Nested OpenGL compositor works

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin created this revision.Sep 8 2017, 8:42 PM
Restricted Application added a project: KWin. · View Herald TranscriptSep 8 2017, 8:42 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
graesslin added a subscriber: bshah.

@bshah could you please try this patch on hwcomposer platform? I tried to get all required changes into it, but I currently don't have a compiler to verify.

bshah added a comment.Sep 10 2017, 4:53 PM

@bshah could you please try this patch on hwcomposer platform? I tried to get all required changes into it, but I currently don't have a compiler to verify.

Can you commit them in one branch? makes easier for me to CI build this change, as patch is massive.

In D7740#144574, @bshah wrote:

@bshah could you please try this patch on hwcomposer platform? I tried to get all required changes into it, but I currently don't have a compiler to verify.

Can you commit them in one branch? makes easier for me to CI build this change, as patch is massive.

done: https://commits.kde.org/kwin/e0f7f58397a613a34312e93b53ade2c72ebc202b

bshah added a comment.Sep 11 2017, 5:00 PM

Tested this branch, and seems to build and work completely fine

In D7740#144854, @bshah wrote:

Tested this branch, and seems to build and work completely fine

wonderful, thanks a lot!

This revision was automatically updated to reflect the committed changes.