File indexing completed on 2024-05-19 16:34:32

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #include "kwineglimagetexture.h"
0011 
0012 #include <QDebug>
0013 #include <epoxy/egl.h>
0014 
0015 namespace KWin
0016 {
0017 
0018 EGLImageTexture::EGLImageTexture(EGLDisplay display, EGLImage image, int internalFormat, const QSize &size)
0019     : GLTexture(internalFormat, size, 1, true)
0020     , m_image(image)
0021     , m_display(display)
0022 {
0023     if (m_image == EGL_NO_IMAGE_KHR) {
0024         return;
0025     }
0026 
0027     bind();
0028     glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, m_image);
0029 }
0030 
0031 EGLImageTexture::~EGLImageTexture()
0032 {
0033     eglDestroyImageKHR(m_display, m_image);
0034 }
0035 
0036 } // namespace KWin