From d9563cf9d8e01f7aff50995a4a05846cb1d3d024 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Thu, 13 Mar 2025 21:33:17 +0000 Subject: [PATCH] vcpkg: Update ANGLE to chromium/7085 --- ...rror.patch => 001-fix-builder-error.patch} | 14 +------ .../overlay-ports/angle/001-fix-uwp.patch | 30 --------------- .../overlay-ports/angle/003-fix-mingw.patch | 22 ----------- .../angle/ANGLEShaderProgramVersion.h.in | 2 + .../angle/cmake-buildsystem/CMakeLists.txt | 7 ---- .../angle/cmake-buildsystem/PlatformMac.cmake | 11 +++--- .../vcpkg/overlay-ports/angle/portfile.cmake | 38 ++++++++++--------- .../vcpkg/overlay-ports/angle/vcpkg.json | 4 ++ 8 files changed, 33 insertions(+), 95 deletions(-) rename Meta/CMake/vcpkg/overlay-ports/angle/{002-fix-builder-error.patch => 001-fix-builder-error.patch} (70%) delete mode 100644 Meta/CMake/vcpkg/overlay-ports/angle/001-fix-uwp.patch delete mode 100644 Meta/CMake/vcpkg/overlay-ports/angle/003-fix-mingw.patch create mode 100644 Meta/CMake/vcpkg/overlay-ports/angle/ANGLEShaderProgramVersion.h.in diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/002-fix-builder-error.patch b/Meta/CMake/vcpkg/overlay-ports/angle/001-fix-builder-error.patch similarity index 70% rename from Meta/CMake/vcpkg/overlay-ports/angle/002-fix-builder-error.patch rename to Meta/CMake/vcpkg/overlay-ports/angle/001-fix-builder-error.patch index a6d56ac62f9..e0844d7d433 100644 --- a/Meta/CMake/vcpkg/overlay-ports/angle/002-fix-builder-error.patch +++ b/Meta/CMake/vcpkg/overlay-ports/angle/001-fix-builder-error.patch @@ -25,16 +25,4 @@ index f4bb137f2..86495013b 100644 + namespace angle { - -diff --git a/include/GLSLANG/ShaderVars.h b/include/GLSLANG/ShaderVars.h -index 94cb93e..5593f66 100644 ---- a/include/GLSLANG/ShaderVars.h -+++ b/include/GLSLANG/ShaderVars.h -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - - namespace sh - { + diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/001-fix-uwp.patch b/Meta/CMake/vcpkg/overlay-ports/angle/001-fix-uwp.patch deleted file mode 100644 index cba68d69be7..00000000000 --- a/Meta/CMake/vcpkg/overlay-ports/angle/001-fix-uwp.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -index 7d3f078d6..fac057dd6 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -@@ -213,16 +213,20 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; -+ ComPtr displayInformationStatics; -+ ComPtr displayInformation; - - if (SUCCEEDED(GetActivationFactory( -- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), -- displayProperties.GetAddressOf()))) -+ HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), -+ displayInformationStatics.GetAddressOf()))) - { - float dpi = 96.0f; -- if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -+ if (SUCCEEDED(displayInformationStatics->GetForCurrentView(&displayInformation))) - { -- return dpi; -+ if (SUCCEEDED(displayInformation->get_LogicalDpi(&dpi))) -+ { -+ return dpi; -+ } - } - } - diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/003-fix-mingw.patch b/Meta/CMake/vcpkg/overlay-ports/angle/003-fix-mingw.patch deleted file mode 100644 index 304d822ec58..00000000000 --- a/Meta/CMake/vcpkg/overlay-ports/angle/003-fix-mingw.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/common/mathutil.h b/src/common/mathutil.h -index 1d73bbf..c5b9cc8 100644 ---- a/src/common/mathutil.h -+++ b/src/common/mathutil.h -@@ -1073,7 +1073,7 @@ inline int BitCount(uint64_t bits) - # endif // defined(_M_IX86) || defined(_M_X64) - #endif // defined(_MSC_VER) && !defined(__clang__) - --#if defined(ANGLE_PLATFORM_POSIX) || defined(__clang__) -+#if defined(ANGLE_PLATFORM_POSIX) || defined(__clang__) || defined(__MINGW32__) - inline int BitCount(uint32_t bits) - { - return __builtin_popcount(bits); -@@ -1083,7 +1083,7 @@ inline int BitCount(uint64_t bits) - { - return __builtin_popcountll(bits); - } --#endif // defined(ANGLE_PLATFORM_POSIX) || defined(__clang__) -+#endif // defined(ANGLE_PLATFORM_POSIX) || defined(__clang__) || defined(__MINGW32__) - - inline int BitCount(uint8_t bits) - { diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/ANGLEShaderProgramVersion.h.in b/Meta/CMake/vcpkg/overlay-ports/angle/ANGLEShaderProgramVersion.h.in new file mode 100644 index 00000000000..f288d0cb8f6 --- /dev/null +++ b/Meta/CMake/vcpkg/overlay-ports/angle/ANGLEShaderProgramVersion.h.in @@ -0,0 +1,2 @@ +#cmakedefine ANGLE_PROGRAM_VERSION "@ANGLE_PROGRAM_VERSION@" +#cmakedefine ANGLE_PROGRAM_VERSION_HASH_SIZE @ANGLE_PROGRAM_VERSION_HASH_SIZE@ diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/CMakeLists.txt b/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/CMakeLists.txt index 110c5a09755..bdffad91c38 100644 --- a/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/CMakeLists.txt +++ b/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/CMakeLists.txt @@ -235,13 +235,6 @@ set(angle_gl_enum_utils # VCPKG EDIT: Update paths "src/common/gl_enum_utils_autogen.h" ) -set(angle_glslang_wrapper - "src/libANGLE/renderer/ShaderInterfaceVariableInfoMap.cpp" - "src/libANGLE/renderer/ShaderInterfaceVariableInfoMap.h" - "src/libANGLE/renderer/glslang_wrapper_utils.cpp" - "src/libANGLE/renderer/glslang_wrapper_utils.h" -) - WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() add_subdirectory(include) diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/PlatformMac.cmake b/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/PlatformMac.cmake index 4fda2ba46bb..6ba6ee72f70 100644 --- a/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/PlatformMac.cmake +++ b/Meta/CMake/vcpkg/overlay-ports/angle/cmake-buildsystem/PlatformMac.cmake @@ -17,11 +17,11 @@ list(APPEND ANGLEGLESv2_LIBRARIES # Metal backend if(USE_METAL) list(APPEND ANGLE_SOURCES - ${_metal_backend_sources} + ${metal_backend_sources} - ${angle_translator_lib_metal_sources} - - ${angle_glslang_wrapper} + ${angle_translator_lib_msl_sources} + + ${angle_translator_glsl_apple_sources} ) list(APPEND ANGLE_DEFINITIONS @@ -38,7 +38,6 @@ if(USE_OPENGL) list(APPEND ANGLE_SOURCES ${angle_translator_glsl_base_sources} ${angle_translator_glsl_sources} - ${angle_translator_apple_sources} ) # Enable GLSL compiler output. list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL ANGLE_ENABLE_GL_DESKTOP_BACKEND ANGLE_ENABLE_APPLE_WORKAROUNDS) @@ -46,7 +45,7 @@ endif() if(USE_ANGLE_EGL OR ENABLE_WEBGL) list(APPEND ANGLE_SOURCES - ${_gl_backend_sources} + ${gl_backend_sources} ${libangle_gl_egl_dl_sources} ${libangle_gl_egl_sources} diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/portfile.cmake b/Meta/CMake/vcpkg/overlay-ports/angle/portfile.cmake index 01c1d7166b4..aed9e4b4564 100644 --- a/Meta/CMake/vcpkg/overlay-ports/angle/portfile.cmake +++ b/Meta/CMake/vcpkg/overlay-ports/angle/portfile.cmake @@ -30,11 +30,11 @@ else() set(ANGLE_BUILDSYSTEM_PORT "Linux") endif() -# chromium/5414 -set(ANGLE_COMMIT aa63ea230e0c507e7b4b164a30e502fb17168c17) -set(ANGLE_VERSION 5414) -set(ANGLE_SHA512 a3b55d4b484e1e9ece515d60af1d47a80a0576b198d9a2397e4e68b16efd83468dcdfadc98dae57ff17f01d02d74526f8b59fdf00661b70a45b6dd266e5ffe38) -set(ANGLE_THIRDPARTY_ZLIB_COMMIT 44d9b490c721abdb923d5c6c23ac211e45ffb1a5) +# chromium/7067 +set(ANGLE_COMMIT 48103cb2f2b292cb50cc5a29546b358b2e47fd29) +set(ANGLE_VERSION 7085) +set(ANGLE_SHA512 d3ff7fdef0989bfebb660a2935fa5ec7788e67d59ebecca475ba3c9b1e6ea84e77e8d0130ff6d8457ae4f24885d572b8ac0d44d599ed25fbd38c0f4749c6fe82) +set(ANGLE_THIRDPARTY_ZLIB_COMMIT 788cb3c270e8700b425c7bdca1f9ce6b0c1400a9) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -43,9 +43,7 @@ vcpkg_from_github( SHA512 ${ANGLE_SHA512} # On update check headers against opengl-registry PATCHES - 001-fix-uwp.patch - 002-fix-builder-error.patch - 003-fix-mingw.patch + 001-fix-builder-error.patch ) # Generate angle_commit.h @@ -55,19 +53,29 @@ set(ANGLE_COMMIT_DATE "invalid-date") set(ANGLE_REVISION "${ANGLE_VERSION}") configure_file("${CMAKE_CURRENT_LIST_DIR}/angle_commit.h.in" "${SOURCE_PATH}/angle_commit.h" @ONLY) configure_file("${CMAKE_CURRENT_LIST_DIR}/angle_commit.h.in" "${SOURCE_PATH}/src/common/angle_commit.h" @ONLY) + +# Generate ANGLEShaderProgramVersion.h.in +# FIXME: ANGLE's build system hashes the renderer files to determine the program version hash. +# For now, we'll just use the ANGLE commit hash. +# See: https://github.com/google/angle/commit/82826be01fcc4d02a637312f4df3ba97e74f7226#diff-81195814d06b98e6258a63901769078f42c522448b2847a33bd51e24ac9faef6 +set(ANGLE_PROGRAM_VERSION_HASH_SIZE 12) +string(SUBSTRING "${ANGLE_COMMIT}" 0 ${ANGLE_PROGRAM_VERSION_HASH_SIZE} ANGLE_PROGRAM_VERSION) +configure_file("${CMAKE_CURRENT_LIST_DIR}/ANGLEShaderProgramVersion.h.in" "${SOURCE_PATH}/ANGLEShaderProgramVersion.h" @ONLY) +configure_file("${CMAKE_CURRENT_LIST_DIR}/ANGLEShaderProgramVersion.h.in" "${SOURCE_PATH}/src/common/ANGLEShaderProgramVersion.h" @ONLY) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-angle-config.cmake" DESTINATION "${SOURCE_PATH}") -set(ANGLE_WEBKIT_BUILDSYSTEM_COMMIT "bb1da00b9ba878d228a5e9834a0767dbca2fee43") +set(ANGLE_WEBKIT_BUILDSYSTEM_COMMIT "624839dfc8c8b65c9ac45252fb1121ded39e3366") # Download WebKit gni-to-cmake.py conversion script vcpkg_download_distfile(GNI_TO_CMAKE_PY URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/ThirdParty/ANGLE/gni-to-cmake.py" FILENAME "gni-to-cmake.py" - SHA512 9da35caf2db2e849d6cc85721ba0b77eee06b6f65a7c5314fb80483db4949b0b6e9bf4b2d4fc63613665629b24e9b052e03fb1451b09313d881297771a4f2736 + SHA512 51ca45d4d2384d641b6672cb7cdfac200c58889b4b4cb83f1b04c1a0a2c9ab8b68f1c90d77763983684bcde674b073cfd85cfc160285332c0414d8ec6397601b ) # Generate CMake files from GN / GNI files -vcpkg_find_acquire_program(PYTHON3) +x_vcpkg_get_python_packages(PYTHON_VERSION "3" OUT_PYTHON_VAR "PYTHON3" PACKAGES ply) set(_root_gni_files_to_convert "compiler.gni Compiler.cmake" @@ -113,7 +121,7 @@ configure_file("${WK_ANGLE_INCLUDE_CMAKELISTS}" "${SOURCE_PATH}/include/CMakeLis vcpkg_download_distfile(WK_ANGLE_CMAKE_WEBKITCOMPILERFLAGS URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/cmake/WebKitCompilerFlags.cmake" FILENAME "WebKitCompilerFlags.cmake" - SHA512 63f981694ae37d4c4ca4c34e2bf62b4d4602b6a1a660851304fa7a6ee834fc58fa6730eeb41ef4e075550f3c8b675823d4d00bdcd72ca869c6d5ab11196b33bb + SHA512 006173ad9a4138bf546023d6a46b05b834bbd4e94a443655ebf08b90ca722f4cb4a200a33fde8483f69d0b1f883948035db5c8b784c4f21729d1298222f98eba ) file(COPY "${WK_ANGLE_CMAKE_WEBKITCOMPILERFLAGS}" DESTINATION "${SOURCE_PATH}/cmake") @@ -127,7 +135,7 @@ file(COPY "${WK_ANGLE_CMAKE_DETECTSSE2}" DESTINATION "${SOURCE_PATH}/cmake") vcpkg_download_distfile(WK_ANGLE_CMAKE_WEBKITMACROS URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/cmake/WebKitMacros.cmake" FILENAME "WebKitMacros.cmake" - SHA512 0d126b1d1b0ca995c2ea6e51c73326db363f560f3f07912ce58c7c022d9257d27b963dac56aee0e9604ca7a3d74c5aa9f0451c243fec922fb485dd2253685ab6 + SHA512 565175443d5d1b8119af504164bf93840e8c786fc479e45feb98ca542351b91d2ea00265d7f8dfa6960975de81802bc43b2a2af2c90fc44bda1ae46d96c89247 ) file(COPY "${WK_ANGLE_CMAKE_WEBKITMACROS}" DESTINATION "${SOURCE_PATH}/cmake") @@ -138,10 +146,6 @@ file(GLOB MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake-buildsystem/cmake/*.cmake") file(COPY ${MODULES} DESTINATION "${SOURCE_PATH}/cmake") function(checkout_in_path PATH URL REF) - if(EXISTS "${PATH}") - return() - endif() - vcpkg_from_git( OUT_SOURCE_PATH DEP_SOURCE_PATH URL "${URL}" diff --git a/Meta/CMake/vcpkg/overlay-ports/angle/vcpkg.json b/Meta/CMake/vcpkg/overlay-ports/angle/vcpkg.json index a42d9356b2f..88b558589b0 100644 --- a/Meta/CMake/vcpkg/overlay-ports/angle/vcpkg.json +++ b/Meta/CMake/vcpkg/overlay-ports/angle/vcpkg.json @@ -31,6 +31,10 @@ "name": "vcpkg-cmake-config", "host": true }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, "zlib" ] }