summaryrefslogtreecommitdiffstats
path: root/src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2020-08-28 19:26:44 +0200
committerPaul Wicking <paul.wicking@qt.io>2020-09-01 06:11:50 +0200
commit1ca85a2fd14d3838df165fbf0ccf898a340743cf (patch)
treef0091bc40c9324b08c006d900a66dee917686781 /src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp
parent4074c542708b4e7e605a63745e9d6072f24f5a44 (diff)
Doc: Compile GUI vulkan snippets
Fix minor issues (e.g. whitespace, missing semi-colon) in passing. Change-Id: Ia16a7793b999e7ffd8d387fa3826117a4ade2c41 Done-with: Nico Vertriest <nico.vertriest@qt.io> Task-number: QTBUG-81486 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp')
-rw-r--r--src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp136
1 files changed, 84 insertions, 52 deletions
diff --git a/src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp b/src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp
index 14ef9ed2d4..0ce6492b12 100644
--- a/src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp
+++ b/src/gui/doc/snippets/code/src_gui_vulkan_qvulkaninstance.cpp
@@ -48,6 +48,20 @@
**
****************************************************************************/
+#include <QGuiApplication>
+#include <QVulkanFunctions>
+#include <QVulkanInstance>
+#include <QWindow>
+
+namespace src_gui_vulkan_qvulkaninstance {
+
+struct Window {
+ void setVulkanInstance(QVulkanInstance *instance) { Q_UNUSED(instance); }
+ void show();
+};
+Window *window = nullptr;
+
+
//! [0]
int main(int argc, char **argv)
{
@@ -57,7 +71,7 @@
if (!inst.create())
return 1;
- ...
+ // ...
window->setVulkanInstance(&inst);
window->show();
@@ -65,6 +79,8 @@
}
//! [0]
+
+void wrapper0() {
//! [1]
QVulkanInstance inst;
@@ -72,75 +88,91 @@
inst.setLayers(QByteArrayList() << "VK_LAYER_LUNARG_standard_validation");
bool ok = inst.create();
- if (!ok)
- ... // Vulkan not available
- if (!inst.layers().contains("VK_LAYER_LUNARG_standard_validation"))
- ... // validation layer not available
+ if (!ok) {
+ // ... Vulkan not available
+ }
+
+ if (!inst.layers().contains("VK_LAYER_LUNARG_standard_validation")) {
+ // ... validation layer not available
+ }
//! [1]
+}
+
+void wrapper1() {
//! [2]
QVulkanInstance inst;
- if (inst.supportedLayers().contains("VK_LAYER_LUNARG_standard_validation"))
- ...
-
+ if (inst.supportedLayers().contains("VK_LAYER_LUNARG_standard_validation")) {
+ // ...
+ }
bool ok = inst.create();
- ...
+ // ...
//! [2]
+Q_UNUSED(ok);
+} // wrapper1
+} // src_gui_vulkan_qvulkaninstance
+
+
+namespace src_gui_vulkan_qvulkaninstance2 {
+
//! [3]
- class VulkanWindow : public QWindow
- {
- public:
- VulkanWindow() {
- setSurfaceType(VulkanSurface);
- }
+class VulkanWindow : public QWindow
+{
+public:
+ VulkanWindow() {
+ setSurfaceType(VulkanSurface);
+ }
- void exposeEvent(QExposeEvent *) {
- if (isExposed()) {
- if (!m_initialized) {
- m_initialized = true;
- // initialize device, swapchain, etc.
- QVulkanInstance *inst = vulkanInstance();
- QVulkanFunctions *f = inst->functions();
- uint32_t devCount = 0;
- f->vkEnumeratePhysicalDevices(inst->vkInstance(), &devCount, nullptr);
- ...
- // build the first frame
- render();
- }
+ void exposeEvent(QExposeEvent *) {
+ if (isExposed()) {
+ if (!m_initialized) {
+ m_initialized = true;
+ // initialize device, swapchain, etc.
+ QVulkanInstance *inst = vulkanInstance();
+ QVulkanFunctions *f = inst->functions();
+ uint32_t devCount = 0;
+ f->vkEnumeratePhysicalDevices(inst->vkInstance(), &devCount, nullptr);
+ // ...
+ // build the first frame
+ render();
}
}
+ }
- bool event(QEvent *e) {
- if (e->type() == QEvent::UpdateRequest)
- render();
- return QWindow::event(e);
- }
+ bool event(QEvent *e) {
+ if (e->type() == QEvent::UpdateRequest)
+ render();
+ return QWindow::event(e);
+ }
- void render() {
- ...
- requestUpdate(); // render continuously
- }
+ void render() {
+ // ...
+ requestUpdate(); // render continuously
+ }
- private:
- bool m_initialized = false;
- };
+private:
+ bool m_initialized = false;
+};
- int main(int argc, char **argv)
- {
- QGuiApplication app(argc, argv);
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
- QVulkanInstance inst;
- if (!inst.create()) {
- qWarning("Vulkan not available");
- return 1;
- }
+ QVulkanInstance inst;
+ if (!inst.create()) {
+ qWarning("Vulkan not available");
+ return 1;
+ }
- VulkanWindow window;
- window.showMaximized();
+ VulkanWindow window;
+ window.showMaximized();
- return app.exec();
+ return app.exec();
- }
+}
//! [3]
+
+
+} // src_gui_vulkan_qvulkaninstance2