Files
86Box/src/qt/qt_vulkanwindowrenderer.hpp

40 lines
952 B
C++
Raw Normal View History

2022-04-21 16:32:46 +06:00
#ifndef VULKANWINDOWRENDERER_HPP
#define VULKANWINDOWRENDERER_HPP
#include <QVulkanWindow>
#if QT_CONFIG(vulkan)
2022-04-21 16:32:46 +06:00
#include "qt_renderercommon.hpp"
#include "qt_vulkanrenderer.hpp"
2022-04-21 16:32:46 +06:00
class VulkanRenderer2;
2022-04-21 16:32:46 +06:00
class VulkanWindowRenderer : public QVulkanWindow, public RendererCommon
{
Q_OBJECT
public:
VulkanWindowRenderer(QWidget* parent);
public slots:
void onBlit(int buf_idx, int x, int y, int w, int h);
signals:
void rendererInitialized();
void errorInitializing();
2022-04-21 16:32:46 +06:00
protected:
virtual std::vector<std::tuple<uint8_t *, std::atomic_flag *>> getBuffers() override;
void resizeEvent(QResizeEvent*) override;
bool event(QEvent*) override;
uint32_t getBytesPerRow() override;
private:
QVulkanInstance instance;
QVulkanWindowRenderer* createRenderer() override;
friend class VulkanRendererEmu;
friend class VulkanRenderer2;
2022-04-21 16:32:46 +06:00
VulkanRenderer2* renderer;
2022-04-21 16:32:46 +06:00
};
#endif
2022-04-21 16:32:46 +06:00
#endif // VULKANWINDOWRENDERER_HPP