44 lines
1.8 KiB
CMake
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() |