vcpkg/ports/skia/vulkan-headers.patch
Kai Pastor 3302690d7e
[skia] Update (#36680)
Based on https://github.com/microsoft/vcpkg/pull/36518, credits @abique.

This update makes skia use vcpkg vulkan. There are still vendored
dependencies (abseil, spirv-*, maybe also dawn, graphite), but I don't
want to touch that now.

---------

Co-authored-by: Alexandre Bique <bique.alexandre@gmail.com>
2024-02-21 22:42:39 -08:00

51 lines
2.0 KiB
Diff

diff --git a/BUILD.gn b/BUILD.gn
index 04ab422..5ae82e5 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -913,6 +913,7 @@ optional("gpu_shared") {
}
if (skia_use_vulkan) {
+ public_deps += [ "//third_party/externals/vulkan-headers:vulkan_headers" ]
public_defines += [ "SK_VULKAN" ]
sources += skia_shared_vk_sources
if (skia_enable_vulkan_debug_layers) {
diff --git a/include/private/gpu/vk/SkiaVulkan.h b/include/private/gpu/vk/SkiaVulkan.h
index ca4bcf1..8a52200 100644
--- a/include/private/gpu/vk/SkiaVulkan.h
+++ b/include/private/gpu/vk/SkiaVulkan.h
@@ -13,7 +13,7 @@
// IWYU pragma: begin_exports
#if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
-#include "include/third_party/vulkan/vulkan/vulkan_core.h"
+#include "vulkan/vulkan_core.h"
#else
// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
// headers stay up to date for our needs
@@ -23,7 +23,7 @@
#ifdef SK_BUILD_FOR_ANDROID
// This is needed to get android extensions for external memory
#if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
-#include "include/third_party/vulkan/vulkan/vulkan_android.h"
+#include "vulkan/vulkan_android.h"
#else
// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
// headers stay up to date for our needs
diff --git a/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h b/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h
index 487ea7c..9662c8c 100644
--- a/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h
+++ b/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h
@@ -39,7 +39,11 @@
// VMA outside of Skia, the client should instead tell Skia not to use VMA.
// Then they should wrap their own instance of VMA into an implementation of
// Skia's VulkanMemoryAllocator interface, and pass that object into context creation.
+#ifdef _WIN32
+#include "vma/vk_mem_alloc.h" // NO_G3_REWRITE
+#else
#include "vk_mem_alloc.h" // NO_G3_REWRITE
+#endif
#ifdef GR_NEEDED_TO_DEFINE_VULKAN_H
#undef VULKAN_H_
#endif