Add CI for SIGGRAPH 2026 tutorial - #517
SaschaWillems wants to merge 10 commits into
Conversation
Adjust windows CMake calls
|
Interestingly this fails on Linux, not due to an issue with CI, but an actual issue with the code itself. So adding CI for this already seems to show benefits :) |
|
Thank you very much for adding the CI workflow. I think it will be useful going forward. I tried building the tutorial again on my Linux machine. It initially compiled successfully, but after updating Clang I was able to partially reproduce the issue. I can fix the part I reproduced with the following change: diff --git a/attachments/siggraph2026_vk_tutorial/src/main.cpp b/attachments/siggraph2026_vk_tutorial/src/main.cpp
index e44ed50..f0f0d94 100644
--- a/attachments/siggraph2026_vk_tutorial/src/main.cpp
+++ b/attachments/siggraph2026_vk_tutorial/src/main.cpp
@@ -538,7 +538,7 @@ void Application::initVulkanVKB()
// Store format and extent of the swapchain images for later use.
{
- m_swapchainFormat = vk::Format{m_vkbData.m_swapchain.image_format};
+ m_swapchainFormat = static_cast<vk::Format>(m_vkbData.m_swapchain.image_format);
m_swapchainExtent = vk::Extent2D{
.width = m_vkbData.m_swapchain.extent.width,
.height = m_vkbData.m_swapchain.extent.height,I am not sure why this does not trigger on Windows, but I think we can simply fix it. When using Vulkan, I do not think we should have to specify every initializer. Designated initializers make Vulkan code significantly less verbose and allow us to omit In theory, Which version of Clang is installed in CI?
As a workaround, we could also disable diff --git a/attachments/siggraph2026_vk_tutorial/CMakeLists.txt b/attachments/siggraph2026_vk_tutorial/CMakeLists.txt
index 88cdda9..734b66f 100644
--- a/attachments/siggraph2026_vk_tutorial/CMakeLists.txt
+++ b/attachments/siggraph2026_vk_tutorial/CMakeLists.txt
@@ -293,7 +293,7 @@ if(MSVC)
else()
target_compile_options(vulkan_siggraph PRIVATE -Wall -Wextra -Wpedantic)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- target_compile_options(vulkan_siggraph PRIVATE -Wno-missing-designated-field-initializers)
+ target_compile_options(vulkan_siggraph PRIVATE -Wno-missing-designated-field-initializers -Wno-missing-field-initializers)
endif()
endif() |
|
Looking at the CI failure, I don't think that the issue is caused by the missing initializers. That does cause a few warnings, but the error is an actual type conversion error: |
There is no CI yet for the SIGGRAPH 2026 tutorial, so if anything breaks (like in #513), we're not noticing that. This PR adds CI for the SIGGRAPH 2026 tutorial to close that gap.
Note: Currently a draft.