5#ifndef VULKANSERVERBUFFERINTEGRATION_H
6#define VULKANSERVERBUFFERINTEGRATION_H
8#include <QtWaylandCompositor/private/qwlserverbufferintegration_p.h>
10#include "qwayland-server-qt-vulkan-server-buffer-unstable-v1.h"
12#include <QtGui/QImage>
13#include <QtGui/QWindow>
14#include <QtGui/qpa/qplatformnativeinterface.h>
15#include <QtGui/QGuiApplication>
17#include <QtWaylandCompositor/qwaylandcompositor.h>
18#include <QtWaylandCompositor/private/qwayland-server-server-buffer-extension.h>
22class VulkanServerBufferIntegration;
49 QOpenGLTexture *m_texture =
nullptr;
50 uint m_glInternalFormat;
51 GLuint m_memoryObject;
66 bool supportsFormat(QtWayland::ServerBuffer::Format format)
const override;
69 uint glInternalFormat)
override;
QOpenGLContext * context()
bool supportsFormat(QtWayland::ServerBuffer::Format format) const override
bool initializeHardware(QWaylandCompositor *) override
~VulkanServerBufferIntegration() override
VulkanServerBufferIntegration()
QtWayland::ServerBuffer * createServerBufferFromData(QByteArrayView view, const QSize &size, uint glInternalFormat) override
QtWayland::ServerBuffer * createServerBufferFromImage(const QImage &qimage, QtWayland::ServerBuffer::Format format) override
VulkanWrapper * vulkanWrapper() const
VulkanServerBuffer(VulkanServerBufferIntegration *integration, const QImage &qimage, QtWayland::ServerBuffer::Format format)
void server_buffer_release(Resource *resource) override
void releaseOpenGlTexture() override
QOpenGLTexture * toOpenGlTexture() override
bool bufferInUse() override
VulkanServerBuffer(VulkanServerBufferIntegration *integration, VulkanImageWrapper *vImage, uint glInternalFormat, const QSize &size)
~VulkanServerBuffer() override
int getImageInfo(const VulkanImageWrapper *imgWrapper, int *memSize, int *w=nullptr, int *h=nullptr)
VulkanWrapper(QOpenGLContext *glContext)
void freeTextureImage(VulkanImageWrapper *imageWrapper)
VulkanImageWrapper * createTextureImage(const QImage &img)
static QT_BEGIN_NAMESPACE constexpr bool vsbiExtraDebug
static VulkanServerBufferGlFunctions * funcs
bool init(QOpenGLContext *glContext)
static bool create(QOpenGLContext *glContext)