CMake: Add support with Swiftshader with DAWN_ENABLE_SWIFTSHADER
Change-Id: I2b3d906bac760a22f33104231a6341415cbff3b5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85365 Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
6efd54e2ae
commit
be352ea5b9
|
@ -128,6 +128,7 @@ option_if_not_defined(DAWN_USE_X11 "Enable support for X11 surface" ${USE_X11})
|
|||
|
||||
option_if_not_defined(DAWN_BUILD_SAMPLES "Enables building Dawn's samples" ${BUILD_SAMPLES})
|
||||
option_if_not_defined(DAWN_BUILD_NODE_BINDINGS "Enables building Dawn's NodeJS bindings" OFF)
|
||||
option_if_not_defined(DAWN_ENABLE_SWIFTSHADER "Enables building Swiftshader as part of the build and Vulkan adapter discovery" OFF)
|
||||
|
||||
option_if_not_defined(DAWN_ENABLE_PIC "Build with Position-Independent-Code enabled" OFF)
|
||||
|
||||
|
@ -141,6 +142,7 @@ set_if_not_defined(DAWN_GLFW_DIR "${DAWN_THIRD_PARTY_DIR}/glfw" "Directory in wh
|
|||
set_if_not_defined(DAWN_JINJA2_DIR "${DAWN_THIRD_PARTY_DIR}/jinja2" "Directory in which to find Jinja2")
|
||||
set_if_not_defined(DAWN_SPIRV_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps/spirv-headers/src" "Directory in which to find SPIRV-Headers")
|
||||
set_if_not_defined(DAWN_SPIRV_TOOLS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps/spirv-tools/src" "Directory in which to find SPIRV-Tools")
|
||||
set_if_not_defined(DAWN_SWIFTSHADER_DIR "${DAWN_THIRD_PARTY_DIR}/swiftshader" "Directory in which to find swiftshader")
|
||||
set_if_not_defined(DAWN_TINT_DIR "${Dawn_SOURCE_DIR}" "Directory in which to find Tint")
|
||||
set_if_not_defined(DAWN_VULKAN_DEPS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps" "Directory in which to find vulkan-deps")
|
||||
set_if_not_defined(DAWN_VULKAN_HEADERS_DIR "${DAWN_VULKAN_DEPS_DIR}/vulkan-headers/src" "Directory in which to find Vulkan-Headers")
|
||||
|
|
|
@ -442,6 +442,10 @@ if (DAWN_ENABLE_OPENGL)
|
|||
target_link_libraries(dawn_native PRIVATE dawn_khronos_platform)
|
||||
endif()
|
||||
|
||||
if (DAWN_ENABLE_SWIFTSHADER)
|
||||
target_compile_definitions(dawn_native PRIVATE "DAWN_ENABLE_SWIFTSHADER")
|
||||
endif()
|
||||
|
||||
if (DAWN_ENABLE_VULKAN)
|
||||
target_sources(dawn_native PRIVATE
|
||||
"${DAWN_INCLUDE_DIR}/dawn/native/VulkanBackend.h"
|
||||
|
|
|
@ -96,6 +96,14 @@ target_sources(dawn_vulkan_headers INTERFACE
|
|||
)
|
||||
target_include_directories(dawn_vulkan_headers INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/khronos")
|
||||
|
||||
if (${DAWN_ENABLE_SWIFTSHADER} AND NOT TARGET vk_swiftshader)
|
||||
set(SWIFTSHADER_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(SWIFTSHADER_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE)
|
||||
|
||||
message(STATUS "Dawn: using Swiftshader at ${DAWN_SWIFTSHADER_DIR}")
|
||||
add_subdirectory(${DAWN_SWIFTSHADER_DIR} "${CMAKE_CURRENT_BINARY_DIR}/swiftshader")
|
||||
endif()
|
||||
|
||||
if (${TINT_BUILD_BENCHMARKS})
|
||||
set(BENCHMARK_ENABLE_TESTING FALSE CACHE BOOL FALSE FORCE)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/benchmark EXCLUDE_FROM_ALL)
|
||||
|
|
Loading…
Reference in New Issue