Files
Vulkan-Samples/samples/extensions/open_cl_interop/CMakeLists.txt
T
2025-09-04 10:54:47 +08:00

44 lines
1.8 KiB
CMake

# Copyright (c) 2023-2024, Sascha Willems
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 the "License";
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
if (NOT APPLE)
# Not enabled on Apple platforms, as OpenCL has been deprecated on that platform
get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
get_filename_component(PARENT_DIR ${CMAKE_CURRENT_LIST_DIR} PATH)
get_filename_component(CATEGORY_NAME ${PARENT_DIR} NAME)
add_sample_with_tags(
ID ${FOLDER_NAME}
CATEGORY ${CATEGORY_NAME}
AUTHOR "Sascha Willems"
NAME "OpenCL Interoperability"
DESCRIPTION "Example showing sharing resources between OpenCL and Vulkan using cross vendor extensions"
LIBS opencl
FILES
../open_cl_common/open_cl_functions.inl
../open_cl_common/open_cl_utils.h
../open_cl_common/open_cl_utils.cpp
SHADER_FILES_GLSL
open_cl_interop/glsl/texture_display.vert
open_cl_interop/glsl/texture_display.frag
# Also add the OpenCL kernel so it cean be opened from the IDE
open_cl_interop/procedural_texture.cl
SHADER_FILES_HLSL
open_cl_interop/hlsl/texture_display.vert.hlsl
open_cl_interop/hlsl/texture_display.frag.hlsl)
endif()