1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
# ~~~
# Copyright (c) 2024-2025 LunarG, Inc.
#
# 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.
# ~~~
add_library(gpu_av_spirv STATIC)
target_sources(gpu_av_spirv PRIVATE
# Passes
descriptor_indexing_oob_pass.h
descriptor_indexing_oob_pass.cpp
descriptor_class_general_buffer_pass.h
descriptor_class_general_buffer_pass.cpp
descriptor_class_texel_buffer_pass.h
descriptor_class_texel_buffer_pass.cpp
buffer_device_address_pass.h
buffer_device_address_pass.cpp
ray_query_pass.h
ray_query_pass.cpp
debug_printf_pass.h
debug_printf_pass.cpp
post_process_descriptor_indexing_pass.h
post_process_descriptor_indexing_pass.cpp
vertex_attribute_fetch_oob.h
vertex_attribute_fetch_oob.cpp
log_error_pass.h
log_error_pass.cpp
# Framework
function_basic_block.h
function_basic_block.cpp
interface.h
link.h
module.h
module.cpp
type_manager.h
type_manager.cpp
pass.h
pass.cpp
${VVL_SOURCE_DIR}/layers/${API_TYPE}/generated/spirv_grammar_helper.cpp
${VVL_SOURCE_DIR}/layers/${API_TYPE}/generated/gpuav_offline_spirv.h
${VVL_SOURCE_DIR}/layers/${API_TYPE}/generated/gpuav_offline_spirv.cpp
)
target_include_directories(gpu_av_spirv PRIVATE .
${VVL_SOURCE_DIR}/layers
${VVL_SOURCE_DIR}/layers/external
${VVL_SOURCE_DIR}/layers/${API_TYPE}
)
target_link_libraries(gpu_av_spirv PRIVATE
SPIRV-Headers::SPIRV-Headers
VkLayer_utils # To pull in compile_definitions
)
if (VVL_ENABLE_TRACY)
target_link_libraries(gpu_av_spirv PRIVATE TracyClient)
endif()
if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
target_compile_options(gpu_av_spirv PRIVATE
-Wno-sign-conversion
-Wno-implicit-int-conversion
)
elseif(MSVC)
target_compile_options(gpu_av_spirv PRIVATE
/wd4324 # padding
/wd4458 # hiding class member
/wd4457 # hiding function parameter
/wd4702 # unreachable code
/wd4389 # signed/unsigned mismatch
)
endif()
|