Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/job-cmakebuild-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ jobs:
- name: Register the Microsoft repository GPG keys
run: sudo dpkg -i packages-microsoft-prod.deb

- name: Install LLVM-20
- name: Install LLVM-21

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we have to upgrade to LLVM-21 , that means we need to ensure that all platform we support , as well as pipeline agents have it available.

Also Readme need to be updated for contributors to be aware

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I put this change in the CI as a proof of concept that version 21 does work as well as version 20.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure ! -
what I mean is that we need to propage the change to windows and macos as well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Windows actually prompted the change as the default version moved to version 21. This is on developer machines. I used winget and it tracks the current stable version. I believe the same should be true for macOS.

Ubuntu and debian tend to be conservative so are always behind in their software versions, hence the need to specifically install version 20 and above. I think I recall that the ubuntu CI build would not work out of the box without this specific installation as the maximum they had available was version 19.

It may be possible to lower the requirement in the repoConfiguration.json to earlier versions and not have to bother with constraining user versions as it should just work everywhere...(hopefully).

run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
sudo ./llvm.sh 21

- name: Update the list of packages
run: sudo apt-get update

- name: Install Dependencies
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 glslang-tools libwayland-dev libxkbcommon-dev
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

- name: CMake Build
run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}}
Expand Down
1 change: 1 addition & 0 deletions Scripts/Shared.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ function Find-ClangFormat () {
}
if ($IsLinux) {
'/usr/bin/clang-format'
'/usr/bin/clang-format-21'
'/usr/bin/clang-format-20'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That means we want to remove the clang-format-20 from candidate list

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought to leave it in as a precaution incase someone is still on the older platform. The main idea was to remove the restriction on newer versions but that compatibility with the older version is retained as specified in repoConfig.json

}
'clang-format'
Expand Down
3 changes: 2 additions & 1 deletion ZEngine/ZEngine/Core/CoroutineScheduler.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ namespace ZEngine::Core

ReadyCallback Ready = nullptr;
ExecuteCallback Action = nullptr;

// clang-format off
operator bool() noexcept
{
return (Ready && Action);
}
// clang-format on
};

struct CoroutineScheduler
Expand Down
6 changes: 4 additions & 2 deletions ZEngine/ZEngine/Hardwares/VulkanDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,12 @@ namespace ZEngine::Hardwares
BufferType Type = BufferType::UNKNOWN;
VkBuffer Handle = VK_NULL_HANDLE;
VmaAllocation Allocation = nullptr;

// clang-format off
operator bool() const
{
return (Handle != VK_NULL_HANDLE);
}
// clang-format on
};

struct BufferImage
Expand All @@ -89,11 +90,12 @@ namespace ZEngine::Hardwares
VkImageView ViewHandle{VK_NULL_HANDLE};
VkSampler Sampler{VK_NULL_HANDLE};
VmaAllocation Allocation{nullptr};

// clang-format off
operator bool() const
{
return (Handle != VK_NULL_HANDLE);
}
// clang-format on
};

struct IGraphicBuffer
Expand Down
8 changes: 4 additions & 4 deletions repoConfiguration.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
"ShaderC": {
"MinimumVersion": "11.1.0",
"Windows": {
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/windows/continuous_release_2019/26/20230810-123915/install.zip"
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/windows/vs2022_amd64_release_continuous/29/20260112-140346/install.zip"
},
"macOS": {
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/macos/continuous_clang_release/472/20240708-061139/install.tgz"
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/macos/continuous_clang_release/519/20260112-140351/install.tgz"
},
"Linux": {
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/linux/continuous_gcc_release/500/20250807-100822/install.tgz"
"Url": "https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/linux/continuous_clang_release/510/20260112-140346/install.tgz"
}
},
"GlslangValidator": {
Expand All @@ -24,7 +24,7 @@
},
"LLVM": {
"Version": "20.1.7",
"MaximumVersion": "20.2.0"
"MaximumVersion": "22.0.0"
}
}
}
Loading