Skip to content

Commit 2beee39

Browse files
committed
fix and add spirv submodules
1 parent cd8c794 commit 2beee39

File tree

7 files changed

+49
-31
lines changed

7 files changed

+49
-31
lines changed

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,9 @@
99
url = https://github.com/google/dawn.git
1010
fetchRecurseSubmodules = false
1111
shallow = true
12+
[submodule "third_party/SPIRV-Headers"]
13+
path = third_party/SPIRV-Headers
14+
url = https://github.com/KhronosGroup/SPIRV-Headers.git
15+
[submodule "third_party/SPIRV-Tools"]
16+
path = third_party/SPIRV-Tools
17+
url = https://github.com/KhronosGroup/SPIRV-Tools.git

projects/mlir-python-bindings-wasm/pyproject.toml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,14 @@ CMAKE_CXX_COMPILER_LAUNCHER = { env = "CMAKE_CXX_COMPILER_LAUNCHER", default = "
5252
# (and setting CMAKE_BUILD_WITH_INSTALL_RPATH does nothing)
5353
# CMAKE_GENERATOR = { env = "CMAKE_GENERATOR", default = "Ninja" }
5454
CMAKE_PLATFORM_NO_VERSIONED_SONAME = "ON"
55-
CMAKE_CXX_FLAGS = "-sNO_DISABLE_EXCEPTION_CATCHING"
5655
CMAKE_VISIBILITY_INLINES_HIDDEN = "ON"
5756
CMAKE_C_VISIBILITY_PRESET = "hidden"
5857
CMAKE_CXX_VISIBILITY_PRESET = "hidden"
59-
CMAKE_EXE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
60-
CMAKE_SHARED_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
61-
CMAKE_MODULE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
58+
# re -Wno-undefined see https://github.com/emscripten-core/emscripten/issues/21516
59+
# missing symbol: _LLVMAddSymbol
60+
CMAKE_EXE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
61+
CMAKE_SHARED_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
62+
CMAKE_MODULE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
6263
CMAKE_VERBOSE_MAKEFILE = "ON"
6364

6465
# so that NATIVE doesn't try to get built
@@ -68,5 +69,3 @@ MLIR_LINALG_ODS_YAML_GEN = { env = "MLIR_LINALG_ODS_YAML_GEN", default = "" }
6869
MLIR_TABLEGEN = { env = "MLIR_TABLEGEN", default = "" }
6970

7071
MLIR_ENABLE_BINDINGS_PYTHON = "ON"
71-
MLIR_ENABLE_EXECUTION_ENGINE = "ON"
72-
MLIR_ENABLE_SPIRV_CPU_RUNNER = "ON"

projects/mlir-wgpu/CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ if(POLICY CMP0135)
3636
endif()
3737

3838
set(DAWN_FETCH_DEPENDENCIES ON)
39+
set(TINT_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
40+
set(TINT_BUILD_DOCS OFF CACHE BOOL "" FORCE)
41+
set(TINT_BUILD_TESTS OFF CACHE BOOL "" FORCE)
42+
set(TINT_BUILD_SPV_READER ON CACHE BOOL "" FORCE)
43+
set(TINT_BUILD_WGSL_READER OFF CACHE BOOL "" FORCE)
44+
set(TINT_BUILD_GLSL_WRITER OFF CACHE BOOL "" FORCE)
45+
set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE)
46+
set(TINT_BUILD_MSL_WRITER OFF CACHE BOOL "" FORCE)
47+
set(TINT_BUILD_SPV_WRITER OFF CACHE BOOL "" FORCE)
48+
set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "" FORCE)
49+
3950
add_subdirectory(
4051
"${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/dawn"
4152
EXCLUDE_FROM_ALL
@@ -46,6 +57,20 @@ if(NOT Dawn_SOURCE_DIR OR NOT EXISTS ${Dawn_SOURCE_DIR})
4657
endif()
4758
set(DAWN_SOURCE_DIR ${Dawn_SOURCE_DIR})
4859

60+
set(SPIRV_HEADERS_SKIP_EXAMPLES ON CACHE BOOL "" FORCE)
61+
set(SPIRV_HEADERS_SKIP_INSTALL ON CACHE BOOL "" FORCE)
62+
add_subdirectory(
63+
"${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/SPIRV-Headers"
64+
EXCLUDE_FROM_ALL
65+
${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Headers
66+
)
67+
68+
add_subdirectory(
69+
"${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/SPIRV-Tools"
70+
EXCLUDE_FROM_ALL
71+
${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools
72+
)
73+
4974
# https://github.com/kainino0x/webgpu-cross-platform-demo
5075
add_executable(dawn_app shader_test.cpp)
5176
target_compile_definitions(dawn_app PRIVATE DEMO_USE_ASYNCIFY=1)

scripts/llvm_wasm/llvm_wasm_cache.cmake

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,15 @@
77

88
set(LLVM_ENABLE_PROJECTS "mlir;llvm;lld" CACHE STRING "")
99

10-
set(LLVM_ENABLE_DUMP ON CACHE BOOL "")
11-
set(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
12-
set(LLVM_TARGETS_TO_BUILD "WebAssembly" CACHE STRING "")
13-
set(LLVM_TARGET_ARCH "wasm32" CACHE STRING "")
1410
set(LLVM_DEFAULT_TARGET_TRIPLE "wasm32-unknown-emscripten" CACHE STRING "")
15-
set(LLVM_HOST_TRIPLE "wasm32-unknown-emscripten" CACHE STRING "")
1611
set(LLVM_ENABLE_RTTI ON CACHE BOOL "")
12+
set(LLVM_HOST_TRIPLE "wasm32-unknown-emscripten" CACHE STRING "")
13+
set(LLVM_TARGETS_TO_BUILD "WebAssembly" CACHE STRING "")
14+
set(LLVM_TARGET_ARCH "wasm32" CACHE STRING "")
1715

18-
# all of these are to try to solve this problem:
19-
# em++: error: undefined exported symbol: "_LLVMAddSymbol" [-Wundefined] [-Werror]
20-
# within mlir_runner_utils and mlir_c_runner_utils
21-
# for some mysterious reason (worked before!!!) but we can't use those libs anyway
22-
#set(LLVM_NO_DEAD_STRIP ON CACHE BOOL "")
23-
## sets the correct LLVM_C_ABI macro
24-
set(LLVM_ENABLE_LLVM_C_EXPORT_ANNOTATIONS ON CACHE BOOL "")
25-
## this doesn't do anything see https://github.com/llvm/llvm-project/pull/171060
26-
#set(MLIR_ENABLE_EXECUTION_ENGINE OFF CACHE BOOL "")
27-
# this fixes but i have no idea why
28-
set(LLVM_ENABLE_PIC OFF CACHE BOOL "")
16+
set(LLVM_BUILD_STATIC ON CACHE BOOL "")
17+
# for ExecutionEngine
18+
set(LLVM_ENABLE_PIC ON CACHE BOOL "")
2919

3020
set(MLIR_ENABLE_BINDINGS_PYTHON ON CACHE BOOL "")
3121

scripts/llvm_wasm/pyproject.toml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ minimum-version = "0.10"
3737
build-dir = "build"
3838
cmake.source-dir = "../../third_party/llvm-project/llvm"
3939
build.targets = ["install-mlirdevelopment-distribution"]
40-
build.tool-args = ["-k", "0"]
4140
install.components = ["install-mlirdevelopment-distribution"]
4241

4342
cmake.args = ["-C", "llvm_wasm_cache.cmake"]
@@ -46,18 +45,15 @@ cmake.args = ["-C", "llvm_wasm_cache.cmake"]
4645
CMAKE_BUILD_TYPE = { env = "CMAKE_BUILD_TYPE", default = "Release" }
4746
CMAKE_C_COMPILER_LAUNCHER = { env = "CMAKE_C_COMPILER_LAUNCHER", default = "" }
4847
CMAKE_CXX_COMPILER_LAUNCHER = { env = "CMAKE_CXX_COMPILER_LAUNCHER", default = "" }
49-
#CMAKE_CXX_FLAGS = "-sNO_DISABLE_EXCEPTION_CATCHING"
50-
#CMAKE_EXE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
51-
#CMAKE_SHARED_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
52-
#CMAKE_MODULE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING -sWASM_BIGINT"
53-
CMAKE_EXE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT"
54-
CMAKE_SHARED_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT"
55-
CMAKE_MODULE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT"
48+
# re -Wno-undefined see https://github.com/emscripten-core/emscripten/issues/21516
49+
# missing symbol: _LLVMAddSymbol
50+
CMAKE_EXE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
51+
CMAKE_SHARED_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
52+
CMAKE_MODULE_LINKER_FLAGS = "-sALLOW_TABLE_GROWTH -sASSERTIONS -sWASM_BIGINT -Wno-undefined"
5653
CMAKE_VERBOSE_MAKEFILE = "ON"
5754

5855
# so that NATIVE doesn't try to get built
5956
LLVM_NATIVE_TOOL_DIR = { env = "LLVM_NATIVE_TOOL_DIR", default = "" }
6057
LLVM_TABLEGEN = { env = "LLVM_TABLEGEN", default = "" }
6158
MLIR_LINALG_ODS_YAML_GEN = { env = "MLIR_LINALG_ODS_YAML_GEN", default = "" }
6259
MLIR_TABLEGEN = { env = "MLIR_TABLEGEN", default = "" }
63-
MLIR_ENABLE_EXECUTION_ENGINE = "OFF"

third_party/SPIRV-Headers

Submodule SPIRV-Headers added at 6146b3d

third_party/SPIRV-Tools

Submodule SPIRV-Tools added at 8c1e6ca

0 commit comments

Comments
 (0)