summaryrefslogtreecommitdiffstats
path: root/examples/vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'examples/vulkan')
-rw-r--r--examples/vulkan/CMakeLists.txt11
-rw-r--r--examples/vulkan/hellovulkancubes/CMakeLists.txt63
-rw-r--r--examples/vulkan/hellovulkancubes/renderer.cpp4
-rw-r--r--examples/vulkan/hellovulkantexture/CMakeLists.txt45
-rw-r--r--examples/vulkan/hellovulkantriangle/CMakeLists.txt50
-rw-r--r--examples/vulkan/hellovulkanwidget/CMakeLists.txt53
-rw-r--r--examples/vulkan/hellovulkanwindow/CMakeLists.txt30
7 files changed, 254 insertions, 2 deletions
diff --git a/examples/vulkan/CMakeLists.txt b/examples/vulkan/CMakeLists.txt
new file mode 100644
index 0000000000..b00a40447a
--- /dev/null
+++ b/examples/vulkan/CMakeLists.txt
@@ -0,0 +1,11 @@
+# Generated from vulkan.pro.
+
+add_subdirectory(hellovulkanwindow)
+add_subdirectory(hellovulkantriangle)
+add_subdirectory(hellovulkantexture)
+if(TARGET Qt::Widgets)
+ add_subdirectory(hellovulkanwidget)
+endif()
+if(TARGET Qt::Concurrent AND TARGET Qt::Widgets)
+ add_subdirectory(hellovulkancubes)
+endif()
diff --git a/examples/vulkan/hellovulkancubes/CMakeLists.txt b/examples/vulkan/hellovulkancubes/CMakeLists.txt
new file mode 100644
index 0000000000..94feac6401
--- /dev/null
+++ b/examples/vulkan/hellovulkancubes/CMakeLists.txt
@@ -0,0 +1,63 @@
+# Generated from hellovulkancubes.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hellovulkancubes LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples/vulkan/hellovulkancubes")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Concurrent)
+
+add_qt_gui_executable(hellovulkancubes
+ camera.cpp camera.h
+ main.cpp
+ mainwindow.cpp mainwindow.h
+ mesh.cpp mesh.h
+ renderer.cpp renderer.h
+ shader.cpp shader.h
+ vulkanwindow.cpp vulkanwindow.h
+)
+target_link_libraries(hellovulkancubes PUBLIC
+ Qt::Concurrent
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+)
+
+
+# Resources:
+set_source_files_properties("../shared/block.buf"
+ PROPERTIES QT_RESOURCE_ALIAS "block.buf"
+)
+set_source_files_properties("../shared/qt_logo.buf"
+ PROPERTIES QT_RESOURCE_ALIAS "qt_logo.buf"
+)
+set(hellovulkancubes_resource_files
+ "../shared/block.buf"
+ "../shared/qt_logo.buf"
+ "color_frag.spv"
+ "color_phong_frag.spv"
+ "color_phong_vert.spv"
+ "color_vert.spv"
+)
+
+qt6_add_resources(hellovulkancubes "hellovulkancubes"
+ PREFIX
+ "/"
+ FILES
+ ${hellovulkancubes_resource_files}
+)
+
+install(TARGETS hellovulkancubes
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/vulkan/hellovulkancubes/renderer.cpp b/examples/vulkan/hellovulkancubes/renderer.cpp
index f104d79002..da493de739 100644
--- a/examples/vulkan/hellovulkancubes/renderer.cpp
+++ b/examples/vulkan/hellovulkancubes/renderer.cpp
@@ -136,7 +136,7 @@ void Renderer::initResources()
if (!m_floorMaterial.fs.isValid())
m_floorMaterial.fs.load(inst, dev, QStringLiteral(":/color_frag.spv"));
- m_pipelinesFuture = QtConcurrent::run(this, &Renderer::createPipelines);
+ m_pipelinesFuture = QtConcurrent::run(&Renderer::createPipelines, this);
}
void Renderer::createPipelines()
@@ -879,7 +879,7 @@ void Renderer::startNextFrame()
// finished.
Q_ASSERT(!m_framePending);
m_framePending = true;
- QFuture<void> future = QtConcurrent::run(this, &Renderer::buildFrame);
+ QFuture<void> future = QtConcurrent::run(&Renderer::buildFrame, this);
m_frameWatcher.setFuture(future);
}
diff --git a/examples/vulkan/hellovulkantexture/CMakeLists.txt b/examples/vulkan/hellovulkantexture/CMakeLists.txt
new file mode 100644
index 0000000000..59e019998c
--- /dev/null
+++ b/examples/vulkan/hellovulkantexture/CMakeLists.txt
@@ -0,0 +1,45 @@
+# Generated from hellovulkantexture.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hellovulkantexture LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples/vulkan/hellovulkantexture")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+add_qt_gui_executable(hellovulkantexture
+ hellovulkantexture.cpp hellovulkantexture.h
+ main.cpp
+)
+target_link_libraries(hellovulkantexture PUBLIC
+ Qt::Core
+ Qt::Gui
+)
+
+
+# Resources:
+set(hellovulkantexture_resource_files
+ "qt256.png"
+ "texture_frag.spv"
+ "texture_vert.spv"
+)
+
+qt6_add_resources(hellovulkantexture "hellovulkantexture"
+ PREFIX
+ "/"
+ FILES
+ ${hellovulkantexture_resource_files}
+)
+
+install(TARGETS hellovulkantexture
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/vulkan/hellovulkantriangle/CMakeLists.txt b/examples/vulkan/hellovulkantriangle/CMakeLists.txt
new file mode 100644
index 0000000000..dae891ea07
--- /dev/null
+++ b/examples/vulkan/hellovulkantriangle/CMakeLists.txt
@@ -0,0 +1,50 @@
+# Generated from hellovulkantriangle.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hellovulkantriangle LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples/vulkan/hellovulkantriangle")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+add_qt_gui_executable(hellovulkantriangle
+ ../shared/trianglerenderer.cpp ../shared/trianglerenderer.h
+ main.cpp
+)
+target_link_libraries(hellovulkantriangle PUBLIC
+ Qt::Core
+ Qt::Gui
+)
+
+
+# Resources:
+set_source_files_properties("../shared/color_frag.spv"
+ PROPERTIES QT_RESOURCE_ALIAS "color_frag.spv"
+)
+set_source_files_properties("../shared/color_vert.spv"
+ PROPERTIES QT_RESOURCE_ALIAS "color_vert.spv"
+)
+set(hellovulkantriangle_resource_files
+ "../shared/color_frag.spv"
+ "../shared/color_vert.spv"
+)
+
+qt6_add_resources(hellovulkantriangle "hellovulkantriangle"
+ PREFIX
+ "/"
+ FILES
+ ${hellovulkantriangle_resource_files}
+)
+
+install(TARGETS hellovulkantriangle
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/vulkan/hellovulkanwidget/CMakeLists.txt b/examples/vulkan/hellovulkanwidget/CMakeLists.txt
new file mode 100644
index 0000000000..6dde273e94
--- /dev/null
+++ b/examples/vulkan/hellovulkanwidget/CMakeLists.txt
@@ -0,0 +1,53 @@
+# Generated from hellovulkanwidget.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hellovulkanwidget LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples/vulkan/hellovulkanwidget")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+add_qt_gui_executable(hellovulkanwidget
+ ../shared/trianglerenderer.cpp ../shared/trianglerenderer.h
+ hellovulkanwidget.cpp hellovulkanwidget.h
+ main.cpp
+)
+target_link_libraries(hellovulkanwidget PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+)
+
+
+# Resources:
+set_source_files_properties("../shared/color_frag.spv"
+ PROPERTIES QT_RESOURCE_ALIAS "color_frag.spv"
+)
+set_source_files_properties("../shared/color_vert.spv"
+ PROPERTIES QT_RESOURCE_ALIAS "color_vert.spv"
+)
+set(hellovulkanwidget_resource_files
+ "../shared/color_frag.spv"
+ "../shared/color_vert.spv"
+)
+
+qt6_add_resources(hellovulkanwidget "hellovulkanwidget"
+ PREFIX
+ "/"
+ FILES
+ ${hellovulkanwidget_resource_files}
+)
+
+install(TARGETS hellovulkanwidget
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/vulkan/hellovulkanwindow/CMakeLists.txt b/examples/vulkan/hellovulkanwindow/CMakeLists.txt
new file mode 100644
index 0000000000..3a20345899
--- /dev/null
+++ b/examples/vulkan/hellovulkanwindow/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Generated from hellovulkanwindow.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hellovulkanwindow LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples/vulkan/hellovulkanwindow")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+add_qt_gui_executable(hellovulkanwindow
+ hellovulkanwindow.cpp hellovulkanwindow.h
+ main.cpp
+)
+target_link_libraries(hellovulkanwindow PUBLIC
+ Qt::Core
+ Qt::Gui
+)
+
+install(TARGETS hellovulkanwindow
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)