Skip to content

Commit 54b3d6d

Browse files
[WebGPU, Dawn]: Fixed build for MacOS
1 parent 9bf8cfb commit 54b3d6d

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ elseif(PLATFORM_LINUX)
201201
elseif(PLATFORM_MACOS)
202202
set(GL_SUPPORTED TRUE CACHE INTERNAL "OpenGL is supported on MacOS platform")
203203
set(VULKAN_SUPPORTED TRUE CACHE INTERNAL "Vulkan is enabled through MoltenVK on MacOS platform")
204+
set(WEBGPU_SUPPORTED TRUE CACHE INTERNAL "WebGPU is supported on MacOS platform via Dawn")
204205
set(ARCHIVER_SUPPORTED TRUE CACHE INTERNAL "Archiver is supported on MacOS platform")
205206
target_compile_definitions(Diligent-PublicBuildSettings INTERFACE PLATFORM_MACOS=1 PLATFORM_APPLE=1)
206207
elseif(PLATFORM_IOS)

Graphics/GraphicsEngineWebGPU/src/SwapChainWebGPUImpl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ void SwapChainWebGPUImpl::CreateSurface()
164164
wgpuSurfaceNativeDesc.chain = {nullptr, WGPUSType_SurfaceSourceXCBWindow};
165165
wgpuSurfaceNativeDesc.connection = m_NativeWindow.pXCBConnection;
166166
wgpuSurfaceNativeDesc.window = m_NativeWindow.WindowId;
167-
#elif PLATFROM_MACOS
167+
#elif PLATFORM_MACOS
168168
WGPUSurfaceSourceMetalLayer wgpuSurfaceNativeDesc{};
169-
wgpuSurfaceNativeDesc.chain = {nullptr, WGPUSType_SurfaceSourceMetalLayer};
170-
wgpuSurfaceNativeDesc.window = m_NativeWindow.MetalLayer;
169+
wgpuSurfaceNativeDesc.chain = {nullptr, WGPUSType_SurfaceSourceMetalLayer};
170+
wgpuSurfaceNativeDesc.layer = m_NativeWindow.GetLayer();
171171
#elif PLATFORM_WEB
172172
WGPUSurfaceSourceCanvasHTMLSelector_Emscripten wgpuSurfaceNativeDesc{};
173173
wgpuSurfaceNativeDesc.chain = {nullptr, WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten};

ThirdParty/dawn/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,6 @@ set(TINT_BUILD_SPV_READER ON CACHE BOOL "" FORCE)
2929
set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "" FORCE)
3030
set(TINT_BUILD_WGSL_READER ON CACHE BOOL "" FORCE)
3131
set(TINT_BUILD_IR_BINARY ON CACHE BOOL "" FORCE)
32-
if (PLATFORM_WEB)
33-
set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE)
34-
else()
35-
set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "" FORCE)
36-
endif()
3732

3833
set(TINT_BUILD_GLSL_WRITER OFF CACHE BOOL "" FORCE)
3934
set(TINT_BUILD_MSL_WRITER OFF CACHE BOOL "" FORCE)
@@ -58,10 +53,15 @@ set(DAWN_ENABLE_OPENGLES OFF CACHE BOOL "" FORCE)
5853
# Dawn's CMake defines DAWN_EMSCRIPTEN_TOOLCHAIN through the option command, which
5954
# sets its default value to OFF instead of ""
6055
set(DAWN_EMSCRIPTEN_TOOLCHAIN "" CACHE STRING "" FORCE)
56+
6157
if (PLATFORM_WEB)
62-
set(DAWN_ENABLE_D3D12 OFF CACHE BOOL "" FORCE)
63-
else()
64-
set(DAWN_ENABLE_D3D12 ON CACHE BOOL "" FORCE)
58+
set(TINT_BUILD_HLSL_WRITER OFF CACHE BOOL "" FORCE)
59+
elseif(PLATFORM_MACOS)
60+
set(DAWN_ENABLE_METAL ON CACHE BOOL "" FORCE)
61+
set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "" FORCE)
62+
elseif(PLATFORM_WIN32)
63+
set(DAWN_ENABLE_D3D12 ON CACHE BOOL "" FORCE)
64+
set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "" FORCE)
6565
endif()
6666

6767
set(DAWN_USE_GLFW OFF CACHE BOOL "" FORCE)

0 commit comments

Comments
 (0)