Skip to content

Commit 853e947

Browse files
Remove LLVM 20 limitation
- clang-format ignore on CoroutineScheduler.h and VulkanDevice.h for operator bool() - update ubuntu CI workflow to use version 21 as it tends to be behind in its inbuild version
1 parent 2173db0 commit 853e947

12 files changed

Lines changed: 39 additions & 37 deletions

.github/workflows/Engine-CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
on:
22
push:
3-
branches: [ master, develop, arena-integration ]
3+
branches: [ master, develop, arena-integration, testllvm22 ]
44
pull_request:
55
branches: [ master, develop, arena-integration ]
66

.github/workflows/job-clangformat.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
jobs:
1010
format:
1111
name: clang-format
12-
runs-on: windows-2022
12+
runs-on: windows-2025
1313
steps:
1414
- name: Checkout repository
1515
uses: actions/checkout@v4

.github/workflows/job-cmakebuild-linux.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,17 @@ jobs:
2525
- name: Register the Microsoft repository GPG keys
2626
run: sudo dpkg -i packages-microsoft-prod.deb
2727

28-
- name: Install LLVM-20
28+
- name: Install LLVM-21
2929
run: |
3030
wget https://apt.llvm.org/llvm.sh
3131
chmod +x llvm.sh
32-
sudo ./llvm.sh 20
32+
sudo ./llvm.sh 21
3333
34-
- name: Update the list of packages after we added packages.microsoft.com
34+
- name: Update the list of packages
3535
run: sudo apt-get update
36-
- name: Install development library
37-
run: sudo apt-get install libasound2-dev libgl1-mesa-dev libpulse-dev libdbus-1-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev cmake apt-transport-https software-properties-common gcc g++ powershell clang-format-20 libwayland-dev libxkbcommon-dev dotnet-sdk-8.0
36+
37+
- name: Install Dependencies
38+
run: sudo apt-get install libasound2-dev libgl1-mesa-dev libpulse-dev libdbus-1-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev cmake apt-transport-https software-properties-common gcc g++ powershell clang-format-21 glslang-tools libwayland-dev libxkbcommon-dev
3839

3940
- name: CMake Build
4041
run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}}

.github/workflows/job-cmakebuild-macOS.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
- name: Install NuGet CLI
2727
run: brew install nuget
2828

29+
- name: Update LLVM
30+
run: brew install llvm
31+
2932
- name: CMake Build
3033
run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}} -Architecture ${{inputs.architecture}} -RunClangFormat 0
3134
shell: pwsh

.github/workflows/job-cmakebuild-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ on:
1818
jobs:
1919
cmake-build:
2020
name: cmake-build-windows-${{ inputs.configuration }}
21-
runs-on: windows-2022
21+
runs-on: windows-2025
2222
steps:
2323
- name: Checkout repository
2424
uses: actions/checkout@v4

.github/workflows/job-deploy-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515
jobs:
1616
deploy:
1717
name: deploy-windows-x64-${{ inputs.configuration }}
18-
runs-on: windows-2022
18+
runs-on: windows-2025
1919
steps:
2020
- uses: actions/download-artifact@v4
2121
with:

Scripts/Shared.ps1

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ function Find-GlslangValidator () {
189189
function Find-ClangFormat () {
190190
$repoConfiguration = Get-RepositoryConfiguration
191191
$LLVMMinimumVersion = $repoConfiguration.Requirements.LLVM.Version
192-
$LLVMMaximumVersion = $repoConfiguration.Requirements.LLVM.MaximumVersion
193192

194193
$candidates = @(
195194
if ($IsMacOS) {
@@ -201,6 +200,8 @@ function Find-ClangFormat () {
201200
}
202201
if ($IsLinux) {
203202
'/usr/bin/clang-format'
203+
'/usr/bin/clang-format-22'
204+
'/usr/bin/clang-format-21'
204205
'/usr/bin/clang-format-20'
205206
}
206207
'clang-format'
@@ -209,16 +210,11 @@ function Find-ClangFormat () {
209210
foreach ($candidate in $candidates) {
210211
$clangFormatCommand = Get-Command $candidate -ErrorAction SilentlyContinue
211212
if ($clangFormatCommand) {
212-
if ((& $clangFormatCommand --version | Out-String) -match "clang-format version ([\d\.]*)") {
213-
[Version] $clangFormatVersion = $Matches[1]
214-
if ((CompareVersion $clangFormatVersion $LLVMMinimumVersion) -and (CompareVersion $LLVMMaximumVersion $clangFormatVersion)) {
215213
return $clangFormatCommand.Source
216-
}
217-
}
218214
}
219215
}
220216

221-
throw "Failed to find clang-format min $LLVMMinimumVersion max $LLVMMaximumVersion. Tried: " + ($candidates -join ', ')
217+
throw "Failed to find clang-format min $LLVMMinimumVersion. Tried: " + ($candidates -join ', ')
222218
}
223219

224220
function Setup-ShaderCCompilerTool () {

ZEngine/ZEngine/Core/CoroutineScheduler.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ namespace ZEngine::Core
1414

1515
ReadyCallback Ready = nullptr;
1616
ExecuteCallback Action = nullptr;
17-
17+
// clang-format off
1818
operator bool() noexcept
1919
{
2020
return (Ready && Action);
2121
}
22+
// clang-format on
2223
};
2324

2425
struct CoroutineScheduler

ZEngine/ZEngine/Hardwares/VulkanDevice.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -633,15 +633,15 @@ namespace ZEngine::Hardwares
633633
VkSemaphore semaphores[] = {signal_semaphore->GetHandle()};
634634
VkCommandBuffer buffers[] = {command_buffer->GetHandle()};
635635
VkSubmitInfo submit_info = {
636-
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
637-
.pNext = nullptr,
638-
.waitSemaphoreCount = 0,
639-
.pWaitSemaphores = 0,
640-
.pWaitDstStageMask = flags,
641-
.commandBufferCount = 1,
642-
.pCommandBuffers = buffers,
643-
.signalSemaphoreCount = 0,
644-
.pSignalSemaphores = 0,
636+
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
637+
.pNext = nullptr,
638+
.waitSemaphoreCount = 0,
639+
.pWaitSemaphores = 0,
640+
.pWaitDstStageMask = flags,
641+
.commandBufferCount = 1,
642+
.pCommandBuffers = buffers,
643+
.signalSemaphoreCount = 0,
644+
.pSignalSemaphores = 0,
645645
};
646646

647647
ZENGINE_VALIDATE_ASSERT(vkQueueSubmit(GetQueue(command_buffer->QueueType).Handle, 1, &submit_info, fence->GetHandle()) == VK_SUCCESS, "Failed to submit queue")
@@ -2582,10 +2582,10 @@ namespace ZEngine::Hardwares
25822582
uint32_t byte_per_pixel = Specifications::BytePerChannelMap[VALUE_FROM_SPEC_MAP(Specifications::ImageFormat::R8G8B8A8_SRGB)];
25832583

25842584
Specifications::TextureSpecification spec = {
2585-
.Width = width,
2586-
.Height = height,
2587-
.BytePerPixel = byte_per_pixel,
2588-
.Format = Specifications::ImageFormat::R8G8B8A8_SRGB,
2585+
.Width = width,
2586+
.Height = height,
2587+
.BytePerPixel = byte_per_pixel,
2588+
.Format = Specifications::ImageFormat::R8G8B8A8_SRGB,
25892589
};
25902590

25912591
auto tex_handle = CreateTexture(spec);

ZEngine/ZEngine/Hardwares/VulkanDevice.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,12 @@ namespace ZEngine::Hardwares
7676
BufferType Type = BufferType::UNKNOWN;
7777
VkBuffer Handle = VK_NULL_HANDLE;
7878
VmaAllocation Allocation = nullptr;
79-
79+
// clang-format off
8080
operator bool() const
8181
{
8282
return (Handle != VK_NULL_HANDLE);
8383
}
84+
// clang-format on
8485
};
8586

8687
struct BufferImage
@@ -90,11 +91,12 @@ namespace ZEngine::Hardwares
9091
VkImageView ViewHandle{VK_NULL_HANDLE};
9192
VkSampler Sampler{VK_NULL_HANDLE};
9293
VmaAllocation Allocation{nullptr};
93-
94+
// clang-format off
9495
operator bool() const
9596
{
9697
return (Handle != VK_NULL_HANDLE);
9798
}
99+
// clang-format on
98100
};
99101

100102
struct IGraphicBuffer

0 commit comments

Comments
 (0)