From 1d56932aecd0b74d06c4f2f52e681c68799234da Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Thu, 9 Mar 2023 12:08:37 -0800 Subject: [PATCH 1/2] [Impeller] Build Impeller Vulkan backend on Windows --- impeller/renderer/backend/vulkan/allocator_vk.cc | 2 +- impeller/renderer/backend/vulkan/context_vk.cc | 4 +++- impeller/renderer/compute_unittests.cc | 6 +++--- impeller/tools/impeller.gni | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/impeller/renderer/backend/vulkan/allocator_vk.cc b/impeller/renderer/backend/vulkan/allocator_vk.cc index 220eca35b742a..f1c1e210e6ec9 100644 --- a/impeller/renderer/backend/vulkan/allocator_vk.cc +++ b/impeller/renderer/backend/vulkan/allocator_vk.cc @@ -252,7 +252,7 @@ class AllocatedTextureSourceVK final : public TextureSourceVK { &allocation_info // )}; if (result != vk::Result::eSuccess) { - VALIDATION_LOG << "Unable to allocation Vulkan Image: " + VALIDATION_LOG << "Unable to allocate Vulkan Image: " << vk::to_string(result); return; } diff --git a/impeller/renderer/backend/vulkan/context_vk.cc b/impeller/renderer/backend/vulkan/context_vk.cc index c1ac785848c6f..f429ec3688172 100644 --- a/impeller/renderer/backend/vulkan/context_vk.cc +++ b/impeller/renderer/backend/vulkan/context_vk.cc @@ -51,7 +51,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsMessengerCallback( } const auto prefix = impeller::vk::to_string( - impeller::vk::DebugUtilsMessageSeverityFlagBitsEXT{severity}); + impeller::vk::DebugUtilsMessageSeverityFlagBitsEXT(severity)); // Just so that the log doesn't say FML_DCHECK(false). constexpr bool kVulkanValidationFailure = false; FML_DCHECK(kVulkanValidationFailure) @@ -79,6 +79,8 @@ bool HasValidationLayers() { static std::set kRequiredDeviceExtensions = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, + // Used by VMA; part of Vulkan 1.1 core. + VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME, #if FML_OS_MACOSX "VK_KHR_portability_subset", // For Molten VK. No define present in header. #endif diff --git a/impeller/renderer/compute_unittests.cc b/impeller/renderer/compute_unittests.cc index 3cf22b961da72..ffed4bd7e8502 100644 --- a/impeller/renderer/compute_unittests.cc +++ b/impeller/renderer/compute_unittests.cc @@ -54,7 +54,7 @@ TEST_P(ComputeTest, CanCreateComputePass) { CS::Info info{.count = kCount}; CS::Input0 input_0; CS::Input1 input_1; - for (uint i = 0; i < kCount; i++) { + for (size_t i = 0; i < kCount; i++) { input_0.elements[i] = Vector4(2.0 + i, 3.0 + i, 4.0 + i, 5.0 * i); input_1.elements[i] = Vector4(6.0, 7.0, 8.0, 9.0); } @@ -139,13 +139,13 @@ TEST_P(ComputeTest, MultiStageInputAndOutput) { CS1::Input input_1; input_1.count = kCount1; - for (uint i = 0; i < kCount1; i++) { + for (size_t i = 0; i < kCount1; i++) { input_1.elements[i] = i; } CS2::Input input_2; input_2.count = kCount2; - for (uint i = 0; i < kCount2; i++) { + for (size_t i = 0; i < kCount2; i++) { input_2.elements[i] = i; } diff --git a/impeller/tools/impeller.gni b/impeller/tools/impeller.gni index 4f864b49a5aa7..14bbbc90a5ef8 100644 --- a/impeller/tools/impeller.gni +++ b/impeller/tools/impeller.gni @@ -18,7 +18,7 @@ declare_args() { impeller_enable_opengles = is_mac || is_linux || is_win || is_android # Whether the Vulkan backend is enabled. - impeller_enable_vulkan = is_mac || is_linux || is_android + impeller_enable_vulkan = is_mac || is_linux || is_win || is_android # Whether to use a prebuilt impellerc. # If this is the empty string, impellerc will be built. From 252af29b49af3203d322d95708d687c2a406bedc Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Thu, 9 Mar 2023 18:17:05 -0800 Subject: [PATCH 2/2] Remove mem requirements 2 --- impeller/renderer/backend/vulkan/context_vk.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/impeller/renderer/backend/vulkan/context_vk.cc b/impeller/renderer/backend/vulkan/context_vk.cc index f429ec3688172..a7974915d1f81 100644 --- a/impeller/renderer/backend/vulkan/context_vk.cc +++ b/impeller/renderer/backend/vulkan/context_vk.cc @@ -79,8 +79,6 @@ bool HasValidationLayers() { static std::set kRequiredDeviceExtensions = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, - // Used by VMA; part of Vulkan 1.1 core. - VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME, #if FML_OS_MACOSX "VK_KHR_portability_subset", // For Molten VK. No define present in header. #endif