[dawn] Update to 20260714.215939 (#52928)

This commit is contained in:
Weihang Ding 2026-07-17 11:11:56 +08:00 committed by GitHub
parent b31bf0bf4b
commit 908da3a305
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 147 additions and 127 deletions

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a90f5b74b..4cc61df653 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,8 @@
# As per https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
cmake_minimum_required(VERSION 3.22)
+set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
+
# - Since we are past CMake 3.12 we can add CONFIGURE_DEPENDS to DawnGenerator to rerun CMake
# in case any of the generator files changes. We should also remove the CACHE "" FORCE stuff to
# override options in third_party dependencies.

View File

@ -1,19 +1,3 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a90f5b74b..6ca0175556 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -484,6 +484,11 @@ set(TINT_SPIRV_TOOLS_DIR ${DAWN_SPIRV_TOOLS_DIR})
################################################################################
# Run on all subdirectories
################################################################################
+find_package(absl CONFIG REQUIRED)
+if (DAWN_ENABLE_VULKAN)
+ find_package(VulkanHeaders CONFIG REQUIRED)
+ find_package(VulkanUtilityLibraries CONFIG REQUIRED)
+endif()
add_subdirectory(third_party)
# TODO(crbug.com/tint/455): Tint does not currently build with CMake when
diff --git a/src/cmake/BundleLibraries.cmake b/src/cmake/BundleLibraries.cmake
index 1ea9cfb4ee..1f971241cb 100644
--- a/src/cmake/BundleLibraries.cmake
@ -60,7 +44,7 @@ index 8bfeda55bc..a0f9858530 100644
+
include ("${CMAKE_CURRENT_LIST_DIR}/DawnTargets.cmake")
diff --git a/src/dawn/native/CMakeLists.txt b/src/dawn/native/CMakeLists.txt
index 9332ff3c71..5f8da13fe0 100644
index 9332ff3c71..ed6ca7f401 100644
--- a/src/dawn/native/CMakeLists.txt
+++ b/src/dawn/native/CMakeLists.txt
@@ -668,11 +668,17 @@ if (DAWN_ENABLE_SPIRV_VALIDATION)
@ -82,19 +66,37 @@ index 9332ff3c71..5f8da13fe0 100644
"--supported-extensions"
"${Dawn_SOURCE_DIR}/src/dawn/native/opengl/supported_extensions.json"
OUTPUT_HEADERS DAWN_NATIVE_OPENGL_AUTOGEN_HEADERS
@@ -983,7 +989,6 @@ if (DAWN_ENABLE_D3D12)
if (DAWN_USE_BUILT_DXC)
target_compile_definitions(dawn_native PRIVATE "DAWN_USE_BUILT_DXC")
target_compile_definitions(dawn_native_objects PRIVATE "DAWN_USE_BUILT_DXC")
- add_dependencies(dawn_native copy_dxil_dll)
endif()
endif()
@@ -1084,7 +1089,7 @@ endif ()
# They happen because dxcompiler is declared a shared library and bundle_libraries
# doesn't work well with shared libs
if (DAWN_USE_BUILT_DXC)
- target_link_libraries(dawn_native PRIVATE dxcompiler)
+ target_link_libraries(dawn_native PRIVATE Microsoft::DirectXShaderCompiler)
endif()
# Copy d3dcompiler_47.dll from Windows SDK when not using system component loading
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 8ff1eb05f7..d8ebe7c3e1 100644
index 8ff1eb05f7..52e426662b 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -41,6 +41,7 @@ if (DAWN_FETCH_DEPENDENCIES)
@@ -41,6 +41,8 @@ if (DAWN_FETCH_DEPENDENCIES)
)
endif ()
+find_package(absl CONFIG REQUIRED GLOBAL)
+if(0)
set(ABSL_ROOT_DIR ${DAWN_ABSEIL_DIR})
if (NOT TARGET absl::strings)
# Recommended setting for compatibility with future abseil releases.
@@ -62,6 +63,7 @@ if (NOT TARGET absl::strings)
@@ -62,6 +64,7 @@ if (NOT TARGET absl::strings)
add_subdirectory(${DAWN_ABSEIL_DIR} "${CMAKE_CURRENT_BINARY_DIR}/abseil")
endif()
@ -102,7 +104,26 @@ index 8ff1eb05f7..d8ebe7c3e1 100644
if (DAWN_BUILD_PROTOBUF AND EXISTS "${DAWN_PROTOBUF_DIR}/cmake")
if (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") AND WIN32)
@@ -182,10 +184,12 @@ endif()
@@ -145,6 +148,10 @@ if (NOT TARGET SPIRV-Tools AND
endif()
if(NOT TARGET glslang AND (TINT_BUILD_GLSL_WRITER OR TINT_BUILD_GLSL_VALIDATOR) AND TINT_BUILD_CMD_TOOLS)
+ find_package(glslang CONFIG REQUIRED GLOBAL)
+ add_library(glslang ALIAS glslang::glslang)
+ add_library(glslang-default-resource-limits ALIAS glslang::glslang-default-resource-limits)
+ if(0)
set(SKIP_GLSLANG_INSTALL ON CACHE BOOL "" FORCE)
set(ENABLE_OPT OFF CACHE BOOL "" FORCE)
message(STATUS "Dawn: using GLSLang at ${DAWN_GLSLANG_DIR}")
@@ -154,6 +161,7 @@ if(NOT TARGET glslang AND (TINT_BUILD_GLSL_WRITER OR TINT_BUILD_GLSL_VALIDATOR)
set(BUILD_SHARED_LIBS 0)
add_subdirectory("${DAWN_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/glslang" EXCLUDE_FROM_ALL)
set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_SAVED})
+ endif()
endif()
if (NOT TARGET glfw AND DAWN_USE_GLFW)
@@ -182,10 +190,16 @@ endif()
if (DAWN_ENABLE_DESKTOP_GL OR DAWN_ENABLE_OPENGLES)
# Header-only library for khrplatform.h
add_library(dawn_khronos_platform INTERFACE)
@ -113,11 +134,15 @@ index 8ff1eb05f7..d8ebe7c3e1 100644
+ target_include_directories(dawn_khronos_platform INTERFACE "${EGL_REGISTRY_INCLUDE_DIRS}")
endif()
+if (DAWN_ENABLE_VULKAN)
+ find_package(VulkanHeaders CONFIG REQUIRED GLOBAL)
+ find_package(VulkanUtilityLibraries CONFIG REQUIRED GLOBAL)
+endif()
+if(0)
if (NOT TARGET Vulkan::Headers AND DAWN_ENABLE_VULKAN)
message(STATUS "Dawn: using Vulkan::Headers at ${DAWN_VULKAN_HEADERS_DIR}")
@@ -202,6 +206,7 @@ if (NOT TARGET Vulkan::UtilityHeaders AND DAWN_ENABLE_VULKAN)
@@ -202,6 +216,7 @@ if (NOT TARGET Vulkan::UtilityHeaders AND DAWN_ENABLE_VULKAN)
message(STATUS "Dawn: using VulkanUtilityLibraries at ${DAWN_VULKAN_UTILITY_LIBRARIES_DIR}")
add_subdirectory(${DAWN_VULKAN_UTILITY_LIBRARIES_DIR} "${CMAKE_CURRENT_BINARY_DIR}/vulkan-utility-libraries/src")
endif()
@ -125,3 +150,12 @@ index 8ff1eb05f7..d8ebe7c3e1 100644
if (DAWN_ENABLE_SWIFTSHADER AND NOT TARGET vk_swiftshader)
set(SWIFTSHADER_BUILD_TESTS OFF CACHE BOOL "" FORCE)
@@ -359,7 +374,7 @@ function(AddSubdirectoryDXC)
endfunction()
if (DAWN_USE_BUILT_DXC)
- AddSubdirectoryDXC()
+ find_package(directx-dxc CONFIG REQUIRED GLOBAL)
endif()
if (TINT_BUILD_TINTD)

View File

@ -1,17 +0,0 @@
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index d8ebe7c3e1..1d9cbdb5e4 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -122,6 +122,12 @@ if (EMSCRIPTEN)
return()
endif()
+if(NOT TARGET glslang AND (TINT_BUILD_GLSL_WRITER OR TINT_BUILD_GLSL_VALIDATOR) AND TINT_BUILD_CMD_TOOLS)
+ find_package(glslang CONFIG REQUIRED GLOBAL)
+ add_library(glslang ALIAS glslang::glslang)
+ add_library(glslang-default-resource-limits ALIAS glslang::glslang-default-resource-limits)
+endif()
+
# Force ENABLE_RTTI in spirv-tools and glslang.
set(ENABLE_RTTI ${DAWN_ENABLE_RTTI} CACHE BOOL "" FORCE)

View File

@ -1,34 +0,0 @@
diff --git a/src/dawn/native/CMakeLists.txt b/src/dawn/native/CMakeLists.txt
index 5f8da13fe0..ed6ca7f401 100644
--- a/src/dawn/native/CMakeLists.txt
+++ b/src/dawn/native/CMakeLists.txt
@@ -989,7 +989,6 @@ if (DAWN_ENABLE_D3D12)
if (DAWN_USE_BUILT_DXC)
target_compile_definitions(dawn_native PRIVATE "DAWN_USE_BUILT_DXC")
target_compile_definitions(dawn_native_objects PRIVATE "DAWN_USE_BUILT_DXC")
- add_dependencies(dawn_native copy_dxil_dll)
endif()
endif()
@@ -1090,7 +1089,7 @@ endif ()
# They happen because dxcompiler is declared a shared library and bundle_libraries
# doesn't work well with shared libs
if (DAWN_USE_BUILT_DXC)
- target_link_libraries(dawn_native PRIVATE dxcompiler)
+ target_link_libraries(dawn_native PRIVATE Microsoft::DirectXShaderCompiler)
endif()
# Copy d3dcompiler_47.dll from Windows SDK when not using system component loading
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 1d9cbdb5e4..51777b59a4 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -370,7 +370,7 @@ function(AddSubdirectoryDXC)
endfunction()
if (DAWN_USE_BUILT_DXC)
- AddSubdirectoryDXC()
+ find_package(directx-dxc CONFIG REQUIRED GLOBAL)
endif()
if (TINT_BUILD_TINTD)

View File

@ -2,7 +2,7 @@ if (VCPKG_TARGET_IS_EMSCRIPTEN)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/google/dawn/releases/download/v${VERSION}/emdawnwebgpu_pkg-v${VERSION}.zip"
FILENAME "emdawnwebgpu_pkg-v${VERSION}.zip"
SHA512 615257384ad7df17174c5733c17d8ac0473dfdcddeac69e334d7109501954dc42e77ed54deb666bf44581fcf8e69c2365311626786cd267e52a3d48d7a9441c5
SHA512 d83240bb4d1076ff0a690b195e684046eaaae907a67359ed0a623b9d0176a2ed0b8b4982c5ee61c152c1d615de3290a32a7fd5dee68347d061273fe2dd0caf85
)
vcpkg_extract_source_archive(
SOURCE_PATH
@ -36,71 +36,100 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/dawn
REF "v${VERSION}"
SHA512 d26d95efd20006f1949804e27c766c31a88183daf7d1c3f42022d856042ea523e1253adb8c90a365bad10a7c3e80acefbae5a3ed6d761f9754573a678283c674
SHA512 af6667a13a5532fd29f32255b8f607f0c629f0789ed66c331fc136660a3aea876563b64436ab8c2d6efb0572acc4e36b1c3302405dd380c7afbe9ba1c483d9cd
HEAD_REF master
PATCHES
001-fix-windows-build.patch
# DAWN_BUILD_MONOLITHIC_LIBRARY SHARED/STATIC requires BUILD_SHARED_LIBS=OFF
001-fix-linkage.patch
002-fix-windows-build.patch
003-force-disable-cxx-module.patch
004-deps.patch
005-bsd-support.patch
008-wrong-dxcapi-include.patch
009-fix-tint-install.patch
010-fix-glslang.patch
011-fix-dxc.patch
)
function(checkout_in_path PATH URL REF)
cmake_parse_arguments(EXTERNAL "" "" "PATCHES" ${ARGN})
if(EXISTS "${PATH}")
file(GLOB_RECURSE subdirectory_children "${CURRENT_PACKAGES_DIR}/include/${directory_child}/*")
if(NOT "${subdirectory_children}" STREQUAL "")
return()
function(z_vcpkg_from_github_to_path)
cmake_parse_arguments(PARSE_ARGV 0 arg "" "OUT_SOURCE_PATH;REPO;REF;SHA512;HEAD_REF" "PATCHES")
if(EXISTS "${arg_OUT_SOURCE_PATH}")
file(GLOB children LIST_DIRECTORIES true "${arg_OUT_SOURCE_PATH}/*")
if(NOT "${children}" STREQUAL "")
message(FATAL_ERROR "The path ${arg_OUT_SOURCE_PATH} already exists and is not empty.")
else()
file(REMOVE_RECURSE "${PATH}")
file(REMOVE_RECURSE "${arg_OUT_SOURCE_PATH}")
endif()
unset(children)
endif()
vcpkg_from_git(
OUT_SOURCE_PATH DEP_SOURCE_PATH
URL "${URL}"
REF "${REF}"
PATCHES ${EXTERNAL_PATCHES}
vcpkg_from_github(
OUT_SOURCE_PATH out_source_path
REPO "${arg_REPO}"
REF "${arg_REF}"
SHA512 "${arg_SHA512}"
HEAD_REF "${arg_HEAD_REF}"
PATCHES ${arg_PATCHES}
)
file(RENAME "${DEP_SOURCE_PATH}" "${PATH}")
file(REMOVE_RECURSE "${DEP_SOURCE_PATH}")
file(RENAME "${out_source_path}" "${arg_OUT_SOURCE_PATH}")
file(REMOVE_RECURSE "${out_source_path}")
endfunction()
checkout_in_path(
"${SOURCE_PATH}/third_party/jinja2"
"https://chromium.googlesource.com/chromium/src/third_party/jinja2"
"c3027d884967773057bf74b957e3fea87e5df4d7"
function(z_vcpkg_from_git_to_path)
cmake_parse_arguments(PARSE_ARGV 0 arg "" "OUT_SOURCE_PATH;URL;REF" "PATCHES")
if(EXISTS "${arg_OUT_SOURCE_PATH}")
file(GLOB children LIST_DIRECTORIES true "${arg_OUT_SOURCE_PATH}/*")
if(NOT "${children}" STREQUAL "")
message(FATAL_ERROR "The path ${arg_OUT_SOURCE_PATH} already exists and is not empty.")
else()
file(REMOVE_RECURSE "${arg_OUT_SOURCE_PATH}")
endif()
unset(children)
endif()
vcpkg_from_git(
OUT_SOURCE_PATH out_source_path
URL "${arg_URL}"
REF "${arg_REF}"
PATCHES ${arg_PATCHES}
)
file(RENAME "${out_source_path}" "${arg_OUT_SOURCE_PATH}")
file(REMOVE_RECURSE "${out_source_path}")
endfunction()
z_vcpkg_from_git_to_path(
OUT_SOURCE_PATH "${SOURCE_PATH}/third_party/jinja2"
URL "https://chromium.googlesource.com/chromium/src/third_party/jinja2"
REF c3027d884967773057bf74b957e3fea87e5df4d7
)
checkout_in_path(
"${SOURCE_PATH}/third_party/markupsafe"
"https://chromium.googlesource.com/chromium/src/third_party/markupsafe"
"4256084ae14175d38a3ff7d739dca83ae49ccec6"
z_vcpkg_from_git_to_path(
OUT_SOURCE_PATH "${SOURCE_PATH}/third_party/markupsafe"
URL "https://chromium.googlesource.com/chromium/src/third_party/markupsafe"
REF 4256084ae14175d38a3ff7d739dca83ae49ccec6
)
checkout_in_path(
"${SOURCE_PATH}/third_party/spirv-headers/src"
"https://github.com/KhronosGroup/SPIRV-Headers"
"c63848ecf2200425511319fd8bf2c17b751e501e"
z_vcpkg_from_github_to_path(
OUT_SOURCE_PATH "${SOURCE_PATH}/third_party/spirv-headers/src"
REPO KhronosGroup/SPIRV-Headers
REF 29981f65241605e08b0ede4cfeb999fe3b723c6a
SHA512 3f64c33196ff72c0376311206a38100dbcedd4a414431a1429b5b5b6dcfc9d0e204629444b414b011b426d3f8263cdc2b03ed1d1eed427039b3c57bfd20aa514
HEAD_REF main
)
checkout_in_path(
"${SOURCE_PATH}/third_party/spirv-tools/src"
"https://github.com/KhronosGroup/SPIRV-Tools"
"58fe144fdc8847b303be51d4f8fcc9e7da17056e"
z_vcpkg_from_github_to_path(
OUT_SOURCE_PATH "${SOURCE_PATH}/third_party/spirv-tools/src"
REPO KhronosGroup/SPIRV-Tools
REF 85f222ec591863853ea603ce190ea508c7255568
SHA512 3a034ee4c2b433ba377feaea14edfaeb49b52ebd81a48c7a248d484b2e376b43db16eaea47c2411136867865645efdd0836c08147d0147271fdd5f14cc140ed2
HEAD_REF main
PATCHES
# Dawn sets SPIRV_WERROR to OFF when building SPIRV-Tools, but https://github.com/KhronosGroup/SPIRV-Tools/commit/337fdb6a284fe7f7e374a14271f8e20e579f3263 ignores that CMake variable and forces /WX
800-msvc-spirv-tools-disable-warnaserror.patch
)
checkout_in_path(
"${SOURCE_PATH}/third_party/webgpu-headers/src"
"https://github.com/webgpu-native/webgpu-headers"
"a11ef4462405c4506ad7284e5b1edeff2750bb54"
z_vcpkg_from_github_to_path(
OUT_SOURCE_PATH "${SOURCE_PATH}/third_party/webgpu-headers/src"
REPO webgpu-native/webgpu-headers
REF b3f67b89929c133403fd95638be4ef96b56ddca0
SHA512 bd64b9989970f589e1f4ad2ed94cc6180f0549ef19d97a04a5f1e9c7564bd27f8b72fd6d7fe8bd24ed62f4ea2bc2d1c9df12eb55c083696159890638cbcc7af8
HEAD_REF main
)
vcpkg_find_acquire_program(PYTHON3)
@ -126,7 +155,7 @@ vcpkg_check_features(
)
set(DAWN_USE_BUILT_DXC OFF)
if(DAWN_ENABLE_D3D11 OR DAWN_ENABLE_D3D12)
if(DAWN_ENABLE_D3D12)
set(DAWN_USE_BUILT_DXC ON)
endif()
set(DAWN_USE_TINT_SPV OFF)
@ -134,10 +163,6 @@ if(DAWN_ENABLE_VULKAN)
set(DAWN_USE_TINT_SPV ON)
endif()
# DAWN_BUILD_MONOLITHIC_LIBRARY SHARED/STATIC requires BUILD_SHARED_LIBS=OFF
set(VCPKG_LIBRARY_LINKAGE_BACKUP ${VCPKG_LIBRARY_LINKAGE})
set(VCPKG_LIBRARY_LINKAGE static)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
@ -162,9 +187,6 @@ vcpkg_cmake_configure(
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Dawn)
# Restore the original library linkage
set(VCPKG_LIBRARY_LINKAGE ${VCPKG_LIBRARY_LINKAGE_BACKUP})
list(APPEND DAWN_ABSL_REQUIRES
absl_flat_hash_set
absl_flat_hash_map

View File

@ -1,6 +1,6 @@
{
"name": "dawn",
"version": "20260624.223603",
"version": "20260714.215939",
"description": "Dawn is an open-source and cross-platform implementation of the WebGPU standard.",
"homepage": "https://dawn.googlesource.com/dawn",
"license": "BSD-3-Clause",
@ -55,10 +55,7 @@
"features": {
"d3d11": {
"description": "Direct3D 11 backend support",
"supports": "windows",
"dependencies": [
"directx-dxc"
]
"supports": "windows"
},
"d3d12": {
"description": "Direct3D 12 backend support",

View File

@ -2433,7 +2433,7 @@
"port-version": 0
},
"dawn": {
"baseline": "20260624.223603",
"baseline": "20260714.215939",
"port-version": 0
},
"daxa": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7d0383eda09e0e597b0a720364905f5e45cd23b9",
"version": "20260714.215939",
"port-version": 0
},
{
"git-tree": "efdbc0fe07c33f198d9f1f1a914749eb15389fb7",
"version": "20260624.223603",