D18570: EGLStream DRM Backend Initial Implementation

Erik Kurzinger <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
ekurzinger added a comment.


  In D18570#416210 <https://phabricator.kde.org/D18570#416210>, @davidedmundson wrote:
  
  > > And I was not talking in my review comments about superficial stuff,
  >
  > We're just talking about the use of DrmOutput::present, right?
  >  We could make a fake DrmBuffer instance round that doesn't do anything - and add some property in DrmBuffer to indicate whether we perform the relevant DRM calls or not. Would you prefer that?
  >
  > @erik
  >  One difference missing is that when we change modes we delay it till the DrmOutput::presentLegacy and then call drmModeSetCrtc with the pending buffer handle. 
  >  Right now as far as I can see any type of mode switching is missing.
  
  
  Yeah, testing a bit more this definitely looks to be a concern that needs to be addressed. For instance setting a transformation for 
  an output results in pretty major corruption. I think your suggestion sounds like a good idea and I've been working on trying to get 
  something like it working. I think this will also address Roman's (valid) concerns about the awkward way we're currently bypassing 
  DrmOutput::present and is probably the best way forward. I'll try to get an amended version of the patch up soon.
  
  In D18570#416403 <https://phabricator.kde.org/D18570#416403>, @davidedmundson wrote:
  
  > I found the source of one of my issues.
  >
  > src/server/buffer_interface.cpp:152
  >  if (eglQueryWaylandBufferWL(eglDisplay, buffer, EGL_TEXTURE_FORMAT, &format)) {
  >  return false
  >
  > The size attributes using the same method were extracted correctly and from what I can tell this function should still be valid on EGLSreams.
  >
  > Hardcoding a hack fixed my panel blur and also resolved some update issues it was having.
  
  
  So, it looks like that attribute was added to the spec a bit later but support for querying it never got implemented in our driver :(
  Fortunately, it looks like adding this support won't be too difficult on our end. Unfortunately, doing so appears to break GNOME's
  EGLStream support which seems to depend on this query failing to determine if a buffer is an EGLStream-backed one. Fortunately
  again, though, this should be fixable on their end with a very minor change so I've reached our to them for their thoughts.

REPOSITORY
  R108 KWin

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

To: ekurzinger, davidedmundson, graesslin, #kwin, romangg
Cc: wchilders, ognarb, abrahams, schernikov, guilhermesi, fredrik, cfeck, rapiteanu, romangg, hein, nicolasfella, zzag, kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, alexeymin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, 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.