D28708: egl: encapsulate and share duplicated code
Vlad Zahorodnii
noreply at phabricator.kde.org
Thu Apr 16 10:37:29 BST 2020
zzag added a comment.
The removed TODO comments are about extending GLTexture's API. Ideally, one should be able to create/update a GLTexture object from the given raw pixel data. GLTexture tries to be smart and allocate immutable storage for the texture. The problem is that nothing prohibits a client to flip flop between client buffer types, e.g. in one frame wl-shm, and in another frame wl-drm. So, if immutable storage has been allocated for the texture, we need to re-create the GLTexture if the client has attached a buffer of different type than the current one. In general, this should not be a big problem, but given the current window pixmap abstractions, it's not easy to do. We need to re-work SceneOpenGLTexture or even better get rid of it before extending GLTexture.
Anyway, I think we could merge the proposed code refactoring. However, please keep the TODO comments.
INLINE COMMENTS
> abstract_egl_backend.cpp:482-486
> +
> m_size = size;
> updateMatrix();
> +
> + q->setYInverted(true);
I don't follow this change. setYInverted() must be called before updateMatrix(). Is there a reason why you swapped them?
> remoteaccess_manager.cpp:65
>
> -void RemoteAccessManager::passBuffer(DrmOutput *output, DrmBuffer *buffer)
> +void RemoteAccessManager::passBuffer(DrmOutput *output, DrmSurfaceBuffer* gbmbuf)
> {
Coding style: whitespace before `*`.
> remoteaccess_manager.h:48
>
> - void passBuffer(DrmOutput *output, DrmBuffer *buffer);
> + void passBuffer(DrmOutput *output, DrmSurfaceBuffer* gbmbuf);
>
Coding style: whitespace before `*`.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D28708
To: apol, #kwin
Cc: zzag, kwin, Orage, cacarry, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, 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/20200416/d1e137bc/attachment-0001.html>
More information about the kwin
mailing list