Skip to content

Commit 96625ab

Browse files
committed
Fix Swapchain issue working with wayland
1 parent 9a80e97 commit 96625ab

File tree

4 files changed

+6
-9
lines changed

4 files changed

+6
-9
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ jobs:
2222

2323
- name: Run Tests
2424
shell: pwsh
25-
run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }}
25+
run: tests\ZEngineTests.exe

ZEngine/ZEngine/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,5 @@ endif()
7575

7676
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
7777
target_link_libraries(zEngineLib PUBLIC stdc++fs)
78-
target_compile_definitions(zEngineLib PUBLIC GLFW_EXPOSE_NATIVE_X11)
78+
target_compile_definitions(zEngineLib PUBLIC GLFW_EXPOSE_NATIVE_WAYLAND)
7979
endif ()

ZEngine/ZEngine/Hardwares/VulkanDevice.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,13 +1060,10 @@ namespace ZEngine::Hardwares
10601060
{
10611061
VkSurfaceCapabilitiesKHR capabilities{};
10621062
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(PhysicalDevice, Surface, &capabilities);
1063-
if (capabilities.currentExtent.width != std::numeric_limits<uint32_t>::max())
1064-
{
1065-
SwapchainImageWidth = capabilities.currentExtent.width;
1066-
SwapchainImageHeight = capabilities.currentExtent.height;
1067-
}
1063+
SwapchainImageWidth = std::clamp(CurrentWindow->GetWidth(), capabilities.minImageExtent.width, capabilities.maxImageExtent.width);
1064+
SwapchainImageHeight = std::clamp(CurrentWindow->GetHeight(), capabilities.minImageExtent.height, capabilities.maxImageExtent.height);
10681065

1069-
auto min_image_count = std::clamp(capabilities.minImageCount, capabilities.minImageCount, capabilities.maxImageCount == 0 ? std::numeric_limits<decltype(capabilities.maxImageCount)>::max() : capabilities.maxImageCount);
1066+
auto min_image_count = SwapchainImageCount < capabilities.minImageCount ? capabilities.minImageCount : SwapchainImageCount;
10701067
VkSwapchainCreateInfoKHR swapchain_create_info = {
10711068
.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, .pNext = nullptr, .surface = Surface, .minImageCount = min_image_count, .imageFormat = SurfaceFormat.format, .imageColorSpace = SurfaceFormat.colorSpace, .imageExtent = VkExtent2D{.width = SwapchainImageWidth, .height = SwapchainImageHeight},
10721069
.imageArrayLayers = 1, .imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT, .preTransform = capabilities.currentTransform, .compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, .presentMode = PresentMode, .clipped = VK_TRUE

dependencies.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ FetchContent_Declare(
3333
glfw3
3434
GIT_REPOSITORY https://github.com/glfw/glfw.git
3535
GIT_SHALLOW TRUE
36-
GIT_TAG 3.3.10
36+
GIT_TAG 3.4
3737
)
3838

3939
FetchContent_Declare(

0 commit comments

Comments
 (0)