From c97c23ce0a60e20c735d58752b078a343c20970b Mon Sep 17 00:00:00 2001 From: driver1998 Date: Thu, 23 Jan 2020 05:06:38 +0800 Subject: [PATCH] [angle] Update to 2019-12-31 (#9557) * [angle] Update to 2019-12-31 * [angle] install *.inc files --- ports/angle/001-fix-uwp.patch | 339 ++++++------------------ ports/angle/002-fix-builder-error.patch | 38 ++- ports/angle/CMakeLists.txt | 21 +- ports/angle/CONTROL | 2 +- ports/angle/portfile.cmake | 8 +- 5 files changed, 118 insertions(+), 290 deletions(-) diff --git a/ports/angle/001-fix-uwp.patch b/ports/angle/001-fix-uwp.patch index 36c9aad34..badf1596d 100644 --- a/ports/angle/001-fix-uwp.patch +++ b/ports/angle/001-fix-uwp.patch @@ -1,262 +1,77 @@ -diff --git a/src/libANGLE/renderer/d3d/RendererD3D.cpp b/src/libANGLE/renderer/d3d/RendererD3D.cpp -index fa46476..ad56164 100644 ---- a/src/libANGLE/renderer/d3d/RendererD3D.cpp -+++ b/src/libANGLE/renderer/d3d/RendererD3D.cpp -@@ -240,7 +240,6 @@ GLenum DefaultGLErrorCode(HRESULT hr) - { - switch (hr) - { -- case D3DERR_OUTOFVIDEOMEMORY: - case E_OUTOFMEMORY: - return GL_OUT_OF_MEMORY; - default: -diff --git a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -index 62f263b..b8efe15 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -@@ -14,6 +14,7 @@ - - #include "common/tls.h" - #include "common/utilities.h" -+#include "common/debug.h" - #include "libANGLE/Buffer.h" - #include "libANGLE/Context.h" - #include "libANGLE/Display.h" -@@ -1142,9 +1143,11 @@ void Renderer11::generateDisplayExtensions(egl::DisplayExtensions *outExtensions - - // Compositor Native Window capabilies require WinVer >= 1803 - if (CompositorNativeWindow11::IsSupportedWinRelease()) -- { -- outExtensions->windowsUIComposition = true; -- } -+ #ifdef ANGLE_ENABLE_WINDOWS_STORE -+ outExtensions->windowsUIComposition = NativeWindow11WinRT::IsSupportedWin10Release(); -+ #else -+ outExtensions->windowsUIComposition = CompositorNativeWindow11::IsSupportedWinRelease(); -+ #endif - } - - angle::Result Renderer11::flush(Context11 *context11) -@@ -1218,16 +1221,23 @@ NativeWindowD3D *Renderer11::createNativeWindow(EGLNativeWindowType window, - const egl::Config *config, - const egl::AttributeMap &attribs) const - { -- auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -- -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ auto useWinUiComp = window != nullptr && !NativeWindow11WinRT::IsValidNativeWindow(window); -+#else -+ auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -+#endif - if (useWinUiComp) - { -- return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ return new NativeWindow11WinRT(window, config->alphaSize > 0); -+#else -+ return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#endif - } - else - { - #ifdef ANGLE_ENABLE_WINDOWS_STORE -- UNUSED_VARIABLE(attribs); -+ ANGLE_UNUSED_VARIABLE(attribs); - return new NativeWindow11WinRT(window, config->alphaSize > 0); - #else - return new NativeWindow11Win32( -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -index cb2f279..d76905c 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -@@ -145,6 +145,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) - { - if (device == nullptr || factory == nullptr || swapChain == nullptr || width == 0 || -@@ -158,6 +159,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - swapChainDesc.Height = height; - swapChainDesc.Format = format; - swapChainDesc.Stereo = FALSE; -+ swapChainDesc.SampleDesc.Count = samples; - swapChainDesc.SampleDesc.Count = 1; - swapChainDesc.SampleDesc.Quality = 0; - swapChainDesc.BufferUsage = -@@ -213,11 +215,9 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; -- -- if (SUCCEEDED(GetActivationFactory( -- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), -- displayProperties.GetAddressOf()))) -+ ComPtr displayProperties; -+ if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), -+ displayProperties.GetAddressOf()))) - { - float dpi = 96.0f; - if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -index ae57cfb..dd77b42 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -@@ -36,6 +36,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) override; - - protected: -@@ -49,7 +50,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - ComPtr> mPropertyMap; - }; - --[uuid(7F924F66 - EBAE - 40E5 - A10B - B8F35E245190)] class CoreWindowSizeChangedHandler -+[uuid(7F924F66-EBAE-40E5-A10B-B8F35E245190)] class CoreWindowSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - IWindowSizeChangedEventHandler> -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -index 708e8a2..9bfa4c4 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -@@ -53,6 +53,7 @@ class InspectableNativeWindow - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) = 0; - - bool getClientRect(RECT *rect) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -index 8972ca2..caf2a7e 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -@@ -13,6 +13,8 @@ - #include "libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h" - #include "libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h" - -+#include -+ - using namespace Microsoft::WRL; - using namespace Microsoft::WRL::Wrappers; - -@@ -88,6 +90,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) - { - if (mImpl) -@@ -95,7 +98,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - IDXGIFactory2 *factory2 = d3d11::DynamicCastComObject(factory); - IDXGISwapChain1 *swapChain1 = nullptr; - HRESULT result = -- mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, &swapChain1); -+ mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, samples, &swapChain1); - SafeRelease(factory2); - *swapChain = static_cast(swapChain1); - return result; -@@ -118,5 +121,44 @@ bool NativeWindow11WinRT::IsValidNativeWindow(EGLNativeWindowType window) - // Anything else will be rejected as an invalid IInspectable. - return IsCoreWindow(window) || IsSwapChainPanel(window) || IsEGLConfiguredPropertySet(window); - } -+bool NativeWindow11WinRT::IsSupportedWin10Release() -+{ -+ HSTRING className, contractName; -+ HSTRING_HEADER classNameHeader, contractNameHeader; -+ boolean isSupported = false; -+ -+ const wchar_t *str = static_cast(RuntimeClass_Windows_Foundation_Metadata_ApiInformation); -+ unsigned int length; -+ SizeTToUInt32(::wcslen(str), &length); -+ HRESULT hr = WindowsCreateStringReference(RuntimeClass_Windows_Foundation_Metadata_ApiInformation, length, &classNameHeader, &className); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ Microsoft::WRL::ComPtr api; -+ -+ hr = RoGetActivationFactory(className, __uuidof(ABI::Windows::Foundation::Metadata::IApiInformationStatics), &api); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ str = static_cast(L"Windows.Foundation.UniversalApiContract"); -+ SizeTToUInt32(::wcslen(str), &length); -+ hr = WindowsCreateStringReference(L"Windows.Foundation.UniversalApiContract", length, &contractNameHeader, -+ &contractName); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ api->IsApiContractPresentByMajor(contractName, 6, &isSupported); -+ -+ return isSupported; -+} - - } // namespace rx -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -index eac5b21..b9ee344 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -@@ -34,11 +34,14 @@ class NativeWindow11WinRT : public NativeWindow11 - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) override; - - void commitChange() override; - - static bool IsValidNativeWindow(EGLNativeWindowType window); -+ static bool IsSupportedWin10Release(); -+ - - private: - bool mHasAlpha; -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -index af0beb6..20fd632 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -@@ -246,6 +246,7 @@ HRESULT SwapChainPanelNativeWindow::createSwapChain(ID3D11Device *device, - DXGI_FORMAT format, - unsigned int width, - unsigned int height, -+ unsigned int samples, - bool containsAlpha, - IDXGISwapChain1 **swapChain) - { -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -index 09642ee..fc69bf4 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -@@ -27,6 +27,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - DXGI_FORMAT format, - unsigned int width, - unsigned int height, -+ unsigned int samples, - bool containsAlpha, - IDXGISwapChain1 **swapChain) override; - -@@ -43,7 +44,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - ComPtr mSwapChain; - }; - --[uuid(8ACBD974 - 8187 - 4508 - AD80 - AEC77F93CF36)] class SwapChainPanelSizeChangedHandler -+[uuid(8ACBD974-8187-4508-AD80-AEC77F93CF36)] class SwapChainPanelSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - ABI::Windows::UI::Xaml::ISizeChangedEventHandler> +diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +index 0c9698450..3e37ad0ab 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +@@ -2364,6 +2364,11 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps, + bool isIvyBridge = false; + bool isAMD = IsAMD(adapterDesc.VendorId); + bool isFeatureLevel9_3 = (deviceCaps.featureLevel <= D3D_FEATURE_LEVEL_9_3); ++#if defined(ANGLE_ENABLE_WINDOWS_UWP) ++ bool isWin10 = true; ++#else ++ bool isWin10 = IsWindows10OrGreater(); ++#endif + IntelDriverVersion capsVersion = IntelDriverVersion(0); + if (isIntel) + { +@@ -2448,7 +2453,7 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps, + // Don't translate uniform block to StructuredBuffer on Windows 7 and earlier. This is targeted + // to work around a bug that fails to allocate ShaderResourceView for StructuredBuffer. + ANGLE_FEATURE_CONDITION(features, dontTranslateUniformBlockToStructuredBuffer, +- !IsWindows10OrGreater()); ++ !isWin10); + + // Call platform hooks for testing overrides. + auto *platform = ANGLEPlatformCurrent(); +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/src/libGLESv2/global_state.cpp b/src/libGLESv2/global_state.cpp +index 8c2c61f53..7725106a4 100644 +--- a/src/libGLESv2/global_state.cpp ++++ b/src/libGLESv2/global_state.cpp +@@ -214,7 +214,7 @@ namespace + { + // The following WaitForDebugger code is based on SwiftShader. See: + // https://cs.chromium.org/chromium/src/third_party/swiftshader/src/Vulkan/main.cpp +-# if defined(ANGLE_ENABLE_ASSERTS) ++# if defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP) + INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) + { + RECT rect; +@@ -259,7 +259,7 @@ void WaitForDebugger(HINSTANCE instance) + } + # else + void WaitForDebugger(HINSTANCE instance) {} +-# endif // defined(ANGLE_ENABLE_ASSERTS) ++# endif // defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP) + } // namespace + + extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID) diff --git a/ports/angle/002-fix-builder-error.patch b/ports/angle/002-fix-builder-error.patch index db70f9fdc..8c632d1b0 100644 --- a/ports/angle/002-fix-builder-error.patch +++ b/ports/angle/002-fix-builder-error.patch @@ -1,30 +1,28 @@ diff --git a/src/gpu_info_util/SystemInfo_win.cpp b/src/gpu_info_util/SystemInfo_win.cpp -index 878f0f5..2255982 100644 +index f4bb137f2..86495013b 100644 --- a/src/gpu_info_util/SystemInfo_win.cpp +++ b/src/gpu_info_util/SystemInfo_win.cpp -@@ -4,6 +4,12 @@ - // found in the LICENSE file. - // +@@ -6,11 +6,6 @@ -+// Windows.h needs to be included first -+#include -+ -+#include -+#include -+ // SystemInfo_win.cpp: implementation of the Windows-specific parts of SystemInfo.h - #include "gpu_info_util/SystemInfo_internal.h" -@@ -11,12 +17,6 @@ - #include "common/debug.h" - #include "common/string_utils.h" +-#include "gpu_info_util/SystemInfo_internal.h" +- +-#include "common/debug.h" +-#include "common/string_utils.h" +- + // Windows.h needs to be included first + #include --// Windows.h needs to be included first --#include -- --#include --#include -- +@@ -19,6 +14,11 @@ #include #include ++#include "gpu_info_util/SystemInfo_internal.h" ++ ++#include "common/debug.h" ++#include "common/string_utils.h" ++ + namespace angle + { + diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index 83850b54f..e64b9aaa3 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -27,6 +27,11 @@ endif() set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") set(CMAKE_STATIC_LIBRARY_PREFIX "") +if (WINDOWS_STORE) + set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_STORE) +else() + set(WINRT_DEFINES) +endif() add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS @@ -35,6 +40,7 @@ add_definitions( -DNOMINMAX -DANGLE_STANDALONE_BUILD -DANGLE_ENABLE_DEBUG_ANNOTATIONS + ${WINRT_DEFINES} ) configure_file(commit.h include/id/commit.h COPYONLY) @@ -42,8 +48,10 @@ include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include) ########## # angle::common -if(WIN32) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix") +if(WINDOWS_DESKTOP) + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_winuwp") +elseif(WINDOWS_STORE) + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_win[^u]") elseif(LINUX) set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac") elseif(APPLE) @@ -87,6 +95,7 @@ file(GLOB TRANSLATOR_SOURCES "src/compiler/translator/tree_util/*.cpp" "src/third_party/compiler/ArrayBoundsClamper.cpp" ) +list(FILTER TRANSLATOR_SOURCES EXCLUDE REGEX "_unittest") add_library(angle_translator STATIC ${TRANSLATOR_SOURCES}) target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_ESSL @@ -249,7 +258,7 @@ file(GLOB LIBANGLE_SOURCES ${LIBANGLE_SOURCES_PLATFORM} ) -list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest") +list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest|glslang_wrapper|capture|FrameCapture\.cpp") if(LINUX OR APPLE) set(LIBANGLE_RENDERER_PLATFORM @@ -317,6 +326,8 @@ list(APPEND LIBGLESV2_SOURCES "src/libGLESv2/entry_points_gles_3_0_autogen.h" "src/libGLESv2/entry_points_gles_3_1_autogen.cpp" "src/libGLESv2/entry_points_gles_3_1_autogen.h" + "src/libGLESv2/entry_points_gles_3_2_autogen.cpp" + "src/libGLESv2/entry_points_gles_3_2_autogen.h" "src/libGLESv2/entry_points_gles_ext_autogen.cpp" "src/libGLESv2/entry_points_gles_ext_autogen.h" "src/libGLESv2/global_state.cpp" @@ -370,7 +381,9 @@ if(NOT DISABLE_INSTALL_HEADERS) install( DIRECTORY include/ DESTINATION include - FILES_MATCHING PATTERN "*.h" + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.inc" PATTERN "GLSLANG" EXCLUDE PATTERN "EGL" EXCLUDE PATTERN "KHR" EXCLUDE diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index 1a919f3fc..26122342a 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle -Version: 2019-07-19-4 +Version: 2019-12-31 Homepage: https://github.com/google/angle Description: A conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index c3f27eb4e..d5c091e6b 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -10,6 +10,8 @@ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) else() message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() @@ -17,9 +19,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/angle - REF 8f08fed925c54835c4faee4d7dd61d6ed2964ffd - SHA512 037ebe356371924088563180c4a37a31eaffa41ca21c42554391672c28e62fabc19d787516b88baa192b771e05c370c5a6cfec0863b70e08d65216f41d89923f - PATCHES + REF 1fdf6ca5141d8e349e875eab6e51d93d929a7f0e + SHA512 2553307f3d10b5c32166b9ed610b4b15310dccba00c644cd35026de86d87ea2e221c2e528f33b02f01c1ded2f08150e429de1fa300b73d655f8944f6f5047a82 + PATCHES 001-fix-uwp.patch 002-fix-builder-error.patch )