4#ifndef VULKANSERVERBUFFERINTEGRATION_H
5#define VULKANSERVERBUFFERINTEGRATION_H
7#include <QtWaylandCompositor/private/qwlserverbufferintegration_p.h>
9#include "qwayland-server-qt-vulkan-server-buffer-unstable-v1.h"
11#include <QtGui/QImage>
12#include <QtGui/QWindow>
13#include <QtGui/qpa/qplatformnativeinterface.h>
14#include <QtGui/QGuiApplication>
16#include <QtWaylandCompositor/qwaylandcompositor.h>
17#include <QtWaylandCompositor/private/qwayland-server-server-buffer-extension.h>
21class VulkanServerBufferIntegration;
48 QOpenGLTexture *m_texture =
nullptr;
49 uint m_glInternalFormat;
50 GLuint m_memoryObject;
65 bool supportsFormat(QtWayland::ServerBuffer::Format format)
const override;
68 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)