18 #ifndef GZ_GUI_PLUGINS_MINIMALSCENE_MINIMALSCENERHIVULKAN_HH_
19 #define GZ_GUI_PLUGINS_MINIMALSCENE_MINIMALSCENERHIVULKAN_HH_
24 #include <QQuickWindow>
31 #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 2) && QT_CONFIG(vulkan)
39 class GzCameraTextureRhiVulkanPrivate;
42 class GzCameraTextureRhiVulkan :
public GzCameraTextureRhi
45 public:
virtual ~GzCameraTextureRhiVulkan()
override;
48 public: GzCameraTextureRhiVulkan();
58 class RenderThreadRhiVulkanPrivate;
61 class RenderThreadRhiVulkan :
public RenderThreadRhi
64 public:
virtual ~RenderThreadRhiVulkan()
override;
68 public:
explicit RenderThreadRhiVulkan(GzRenderer *_renderer);
71 public:
virtual QOffscreenSurface *Surface()
const override;
74 public:
virtual void SetSurface(QOffscreenSurface *_surface)
override;
83 public:
virtual void RenderNext(RenderSync *_renderSync)
override;
86 public:
virtual void* TexturePtr()
const override;
89 public:
virtual QSize TextureSize()
const override;
92 public:
virtual void ShutDown()
override;
95 private: RenderThreadRhiVulkan(
96 const RenderThreadRhiVulkan &_other) =
delete;
97 private: RenderThreadRhiVulkan& operator=(
98 const RenderThreadRhiVulkan &_other) =
delete;
105 class TextureNodeRhiVulkanPrivate;
108 class TextureNodeRhiVulkan :
public TextureNodeRhi
111 public:
virtual ~TextureNodeRhiVulkan()
override;
116 public:
explicit TextureNodeRhiVulkan(QQuickWindow *_window,
120 public:
virtual QSGTexture *Texture()
const override;
123 public:
virtual bool HasNewTexture()
const override;
126 public:
virtual void NewTexture(
127 void* _texturePtr,
const QSize &_size)
override;
130 public:
virtual void PrepareNode()
override;
133 private: TextureNodeRhiVulkan(
134 const TextureNodeRhiVulkan &_other) =
delete;
135 private: TextureNodeRhiVulkan& operator=(
136 const TextureNodeRhiVulkan &_other) =
delete;