Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
b5207d4b5b Update src/video_core/CMakeLists.txt 2025-08-04 09:40:06 +02:00
fd06ce4bfd [cmake] Unbreak FreeBSD Building Process 2025-08-04 09:35:33 +00:00

View file

@ -1,325 +1,328 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project SPDX-License-Identifier:
# GPL-2.0-or-later
add_subdirectory(host_shaders) add_subdirectory(host_shaders)
if(LIBVA_FOUND) if(LIBVA_FOUND)
set_source_files_properties(host1x/ffmpeg/ffmpeg.cpp set_source_files_properties(host1x/ffmpeg/ffmpeg.cpp
PROPERTIES COMPILE_DEFINITIONS LIBVA_FOUND=1) PROPERTIES COMPILE_DEFINITIONS LIBVA_FOUND=1)
list(APPEND FFmpeg_LIBRARIES ${LIBVA_LIBRARIES}) list(APPEND FFmpeg_LIBRARIES ${LIBVA_LIBRARIES})
endif() endif()
add_library(video_core STATIC add_library(
buffer_cache/buffer_base.h video_core STATIC
buffer_cache/buffer_cache_base.h buffer_cache/buffer_base.h
buffer_cache/buffer_cache.cpp buffer_cache/buffer_cache_base.h
buffer_cache/buffer_cache.h buffer_cache/buffer_cache.cpp
buffer_cache/memory_tracker_base.h buffer_cache/buffer_cache.h
buffer_cache/usage_tracker.h buffer_cache/memory_tracker_base.h
buffer_cache/word_manager.h buffer_cache/usage_tracker.h
cache_types.h buffer_cache/word_manager.h
capture.h cache_types.h
cdma_pusher.cpp capture.h
cdma_pusher.h cdma_pusher.cpp
compatible_formats.cpp cdma_pusher.h
compatible_formats.h compatible_formats.cpp
control/channel_state.cpp compatible_formats.h
control/channel_state.h control/channel_state.cpp
control/channel_state_cache.cpp control/channel_state.h
control/channel_state_cache.h control/channel_state_cache.cpp
control/scheduler.cpp control/channel_state_cache.h
control/scheduler.h control/scheduler.cpp
delayed_destruction_ring.h control/scheduler.h
dirty_flags.cpp delayed_destruction_ring.h
dirty_flags.h dirty_flags.cpp
dma_pusher.cpp dirty_flags.h
dma_pusher.h dma_pusher.cpp
engines/sw_blitter/blitter.cpp dma_pusher.h
engines/sw_blitter/blitter.h engines/sw_blitter/blitter.cpp
engines/sw_blitter/converter.cpp engines/sw_blitter/blitter.h
engines/sw_blitter/converter.h engines/sw_blitter/converter.cpp
engines/const_buffer_info.h engines/sw_blitter/converter.h
engines/draw_manager.cpp engines/const_buffer_info.h
engines/draw_manager.h engines/draw_manager.cpp
engines/engine_interface.h engines/draw_manager.h
engines/engine_upload.cpp engines/engine_interface.h
engines/engine_upload.h engines/engine_upload.cpp
engines/fermi_2d.cpp engines/engine_upload.h
engines/fermi_2d.h engines/fermi_2d.cpp
engines/kepler_compute.cpp engines/fermi_2d.h
engines/kepler_compute.h engines/kepler_compute.cpp
engines/kepler_memory.cpp engines/kepler_compute.h
engines/kepler_memory.h engines/kepler_memory.cpp
engines/maxwell_3d.cpp engines/kepler_memory.h
engines/maxwell_3d.h engines/maxwell_3d.cpp
engines/maxwell_dma.cpp engines/maxwell_3d.h
engines/maxwell_dma.h engines/maxwell_dma.cpp
engines/puller.cpp engines/maxwell_dma.h
engines/puller.h engines/puller.cpp
framebuffer_config.cpp engines/puller.h
framebuffer_config.h framebuffer_config.cpp
fsr.cpp framebuffer_config.h
fsr.h fsr.cpp
host1x/codecs/decoder.cpp fsr.h
host1x/codecs/decoder.h host1x/codecs/decoder.cpp
host1x/codecs/h264.cpp host1x/codecs/decoder.h
host1x/codecs/h264.h host1x/codecs/h264.cpp
host1x/codecs/vp8.cpp host1x/codecs/h264.h
host1x/codecs/vp8.h host1x/codecs/vp8.cpp
host1x/codecs/vp9.cpp host1x/codecs/vp8.h
host1x/codecs/vp9.h host1x/codecs/vp9.cpp
host1x/codecs/vp9_types.h host1x/codecs/vp9.h
host1x/ffmpeg/ffmpeg.cpp host1x/codecs/vp9_types.h
host1x/ffmpeg/ffmpeg.h host1x/ffmpeg/ffmpeg.cpp
host1x/control.cpp host1x/ffmpeg/ffmpeg.h
host1x/control.h host1x/control.cpp
host1x/gpu_device_memory_manager.cpp host1x/control.h
host1x/gpu_device_memory_manager.h host1x/gpu_device_memory_manager.cpp
host1x/host1x.cpp host1x/gpu_device_memory_manager.h
host1x/host1x.h host1x/host1x.cpp
host1x/nvdec.cpp host1x/host1x.h
host1x/nvdec.h host1x/nvdec.cpp
host1x/nvdec_common.h host1x/nvdec.h
host1x/syncpoint_manager.cpp host1x/nvdec_common.h
host1x/syncpoint_manager.h host1x/syncpoint_manager.cpp
host1x/vic.cpp host1x/syncpoint_manager.h
host1x/vic.h host1x/vic.cpp
macro/macro.cpp host1x/vic.h
macro/macro.h macro/macro.cpp
macro/macro_hle.cpp macro/macro.h
macro/macro_hle.h macro/macro_hle.cpp
macro/macro_interpreter.cpp macro/macro_hle.h
macro/macro_interpreter.h macro/macro_interpreter.cpp
fence_manager.h macro/macro_interpreter.h
gpu.cpp fence_manager.h
gpu.h gpu.cpp
gpu_thread.cpp gpu.h
gpu_thread.h gpu_thread.cpp
guest_memory.h gpu_thread.h
invalidation_accumulator.h guest_memory.h
memory_manager.cpp invalidation_accumulator.h
memory_manager.h memory_manager.cpp
precompiled_headers.h memory_manager.h
present.h precompiled_headers.h
pte_kind.h present.h
query_cache/bank_base.h pte_kind.h
query_cache/query_base.h query_cache/bank_base.h
query_cache/query_cache_base.h query_cache/query_base.h
query_cache/query_cache.h query_cache/query_cache_base.h
query_cache/query_stream.h query_cache/query_cache.h
query_cache/types.h query_cache/query_stream.h
query_cache.h query_cache/types.h
rasterizer_interface.h query_cache.h
renderer_base.cpp rasterizer_interface.h
renderer_base.h renderer_base.cpp
renderer_null/null_rasterizer.cpp renderer_base.h
renderer_null/null_rasterizer.h renderer_null/null_rasterizer.cpp
renderer_null/renderer_null.cpp renderer_null/null_rasterizer.h
renderer_null/renderer_null.h renderer_null/renderer_null.cpp
renderer_opengl/present/filters.cpp renderer_null/renderer_null.h
renderer_opengl/present/filters.h renderer_opengl/present/filters.cpp
renderer_opengl/present/fsr.cpp renderer_opengl/present/filters.h
renderer_opengl/present/fsr.h renderer_opengl/present/fsr.cpp
renderer_opengl/present/fxaa.cpp renderer_opengl/present/fsr.h
renderer_opengl/present/fxaa.h renderer_opengl/present/fxaa.cpp
renderer_opengl/present/layer.cpp renderer_opengl/present/fxaa.h
renderer_opengl/present/layer.h renderer_opengl/present/layer.cpp
renderer_opengl/present/present_uniforms.h renderer_opengl/present/layer.h
renderer_opengl/present/smaa.cpp renderer_opengl/present/present_uniforms.h
renderer_opengl/present/smaa.h renderer_opengl/present/smaa.cpp
renderer_opengl/present/util.h renderer_opengl/present/smaa.h
renderer_opengl/present/window_adapt_pass.cpp renderer_opengl/present/util.h
renderer_opengl/present/window_adapt_pass.h renderer_opengl/present/window_adapt_pass.cpp
renderer_opengl/blit_image.cpp renderer_opengl/present/window_adapt_pass.h
renderer_opengl/blit_image.h renderer_opengl/blit_image.cpp
renderer_opengl/gl_blit_screen.cpp renderer_opengl/blit_image.h
renderer_opengl/gl_blit_screen.h renderer_opengl/gl_blit_screen.cpp
renderer_opengl/gl_buffer_cache_base.cpp renderer_opengl/gl_blit_screen.h
renderer_opengl/gl_buffer_cache.cpp renderer_opengl/gl_buffer_cache_base.cpp
renderer_opengl/gl_buffer_cache.h renderer_opengl/gl_buffer_cache.cpp
renderer_opengl/gl_compute_pipeline.cpp renderer_opengl/gl_buffer_cache.h
renderer_opengl/gl_compute_pipeline.h renderer_opengl/gl_compute_pipeline.cpp
renderer_opengl/gl_device.cpp renderer_opengl/gl_compute_pipeline.h
renderer_opengl/gl_device.h renderer_opengl/gl_device.cpp
renderer_opengl/gl_fence_manager.cpp renderer_opengl/gl_device.h
renderer_opengl/gl_fence_manager.h renderer_opengl/gl_fence_manager.cpp
renderer_opengl/gl_graphics_pipeline.cpp renderer_opengl/gl_fence_manager.h
renderer_opengl/gl_graphics_pipeline.h renderer_opengl/gl_graphics_pipeline.cpp
renderer_opengl/gl_rasterizer.cpp renderer_opengl/gl_graphics_pipeline.h
renderer_opengl/gl_rasterizer.h renderer_opengl/gl_rasterizer.cpp
renderer_opengl/gl_resource_manager.cpp renderer_opengl/gl_rasterizer.h
renderer_opengl/gl_resource_manager.h renderer_opengl/gl_resource_manager.cpp
renderer_opengl/gl_shader_cache.cpp renderer_opengl/gl_resource_manager.h
renderer_opengl/gl_shader_cache.h renderer_opengl/gl_shader_cache.cpp
renderer_opengl/gl_shader_manager.cpp renderer_opengl/gl_shader_cache.h
renderer_opengl/gl_shader_manager.h renderer_opengl/gl_shader_manager.cpp
renderer_opengl/gl_shader_context.h renderer_opengl/gl_shader_manager.h
renderer_opengl/gl_shader_util.cpp renderer_opengl/gl_shader_context.h
renderer_opengl/gl_shader_util.h renderer_opengl/gl_shader_util.cpp
renderer_opengl/gl_state_tracker.cpp renderer_opengl/gl_shader_util.h
renderer_opengl/gl_state_tracker.h renderer_opengl/gl_state_tracker.cpp
renderer_opengl/gl_staging_buffer_pool.cpp renderer_opengl/gl_state_tracker.h
renderer_opengl/gl_staging_buffer_pool.h renderer_opengl/gl_staging_buffer_pool.cpp
renderer_opengl/gl_texture_cache.cpp renderer_opengl/gl_staging_buffer_pool.h
renderer_opengl/gl_texture_cache.h renderer_opengl/gl_texture_cache.cpp
renderer_opengl/gl_texture_cache_base.cpp renderer_opengl/gl_texture_cache.h
renderer_opengl/gl_query_cache.cpp renderer_opengl/gl_texture_cache_base.cpp
renderer_opengl/gl_query_cache.h renderer_opengl/gl_query_cache.cpp
renderer_opengl/maxwell_to_gl.h renderer_opengl/gl_query_cache.h
renderer_opengl/renderer_opengl.cpp renderer_opengl/maxwell_to_gl.h
renderer_opengl/renderer_opengl.h renderer_opengl/renderer_opengl.cpp
renderer_opengl/util_shaders.cpp renderer_opengl/renderer_opengl.h
renderer_opengl/util_shaders.h renderer_opengl/util_shaders.cpp
renderer_vulkan/present/anti_alias_pass.h renderer_opengl/util_shaders.h
renderer_vulkan/present/filters.cpp renderer_vulkan/present/anti_alias_pass.h
renderer_vulkan/present/filters.h renderer_vulkan/present/filters.cpp
renderer_vulkan/present/fsr.cpp renderer_vulkan/present/filters.h
renderer_vulkan/present/fsr.h renderer_vulkan/present/fsr.cpp
renderer_vulkan/present/fxaa.cpp renderer_vulkan/present/fsr.h
renderer_vulkan/present/fxaa.h renderer_vulkan/present/fxaa.cpp
renderer_vulkan/present/layer.cpp renderer_vulkan/present/fxaa.h
renderer_vulkan/present/layer.h renderer_vulkan/present/layer.cpp
renderer_vulkan/present/present_push_constants.h renderer_vulkan/present/layer.h
renderer_vulkan/present/smaa.cpp renderer_vulkan/present/present_push_constants.h
renderer_vulkan/present/smaa.h renderer_vulkan/present/smaa.cpp
renderer_vulkan/present/util.cpp renderer_vulkan/present/smaa.h
renderer_vulkan/present/util.h renderer_vulkan/present/util.cpp
renderer_vulkan/present/window_adapt_pass.cpp renderer_vulkan/present/util.h
renderer_vulkan/present/window_adapt_pass.h renderer_vulkan/present/window_adapt_pass.cpp
renderer_vulkan/blit_image.cpp renderer_vulkan/present/window_adapt_pass.h
renderer_vulkan/blit_image.h renderer_vulkan/blit_image.cpp
renderer_vulkan/fixed_pipeline_state.cpp renderer_vulkan/blit_image.h
renderer_vulkan/fixed_pipeline_state.h renderer_vulkan/fixed_pipeline_state.cpp
renderer_vulkan/maxwell_to_vk.cpp renderer_vulkan/fixed_pipeline_state.h
renderer_vulkan/maxwell_to_vk.h renderer_vulkan/maxwell_to_vk.cpp
renderer_vulkan/pipeline_helper.h renderer_vulkan/maxwell_to_vk.h
renderer_vulkan/pipeline_statistics.cpp renderer_vulkan/pipeline_helper.h
renderer_vulkan/pipeline_statistics.h renderer_vulkan/pipeline_statistics.cpp
renderer_vulkan/renderer_vulkan.h renderer_vulkan/pipeline_statistics.h
renderer_vulkan/renderer_vulkan.cpp renderer_vulkan/renderer_vulkan.h
renderer_vulkan/vk_blit_screen.cpp renderer_vulkan/renderer_vulkan.cpp
renderer_vulkan/vk_blit_screen.h renderer_vulkan/vk_blit_screen.cpp
renderer_vulkan/vk_buffer_cache_base.cpp renderer_vulkan/vk_blit_screen.h
renderer_vulkan/vk_buffer_cache.cpp renderer_vulkan/vk_buffer_cache_base.cpp
renderer_vulkan/vk_buffer_cache.h renderer_vulkan/vk_buffer_cache.cpp
renderer_vulkan/vk_command_pool.cpp renderer_vulkan/vk_buffer_cache.h
renderer_vulkan/vk_command_pool.h renderer_vulkan/vk_command_pool.cpp
renderer_vulkan/vk_compute_pass.cpp renderer_vulkan/vk_command_pool.h
renderer_vulkan/vk_compute_pass.h renderer_vulkan/vk_compute_pass.cpp
renderer_vulkan/vk_compute_pipeline.cpp renderer_vulkan/vk_compute_pass.h
renderer_vulkan/vk_compute_pipeline.h renderer_vulkan/vk_compute_pipeline.cpp
renderer_vulkan/vk_descriptor_pool.cpp renderer_vulkan/vk_compute_pipeline.h
renderer_vulkan/vk_descriptor_pool.h renderer_vulkan/vk_descriptor_pool.cpp
renderer_vulkan/vk_fence_manager.cpp renderer_vulkan/vk_descriptor_pool.h
renderer_vulkan/vk_fence_manager.h renderer_vulkan/vk_fence_manager.cpp
renderer_vulkan/vk_graphics_pipeline.cpp renderer_vulkan/vk_fence_manager.h
renderer_vulkan/vk_graphics_pipeline.h renderer_vulkan/vk_graphics_pipeline.cpp
renderer_vulkan/vk_master_semaphore.cpp renderer_vulkan/vk_graphics_pipeline.h
renderer_vulkan/vk_master_semaphore.h renderer_vulkan/vk_master_semaphore.cpp
renderer_vulkan/vk_pipeline_cache.cpp renderer_vulkan/vk_master_semaphore.h
renderer_vulkan/vk_pipeline_cache.h renderer_vulkan/vk_pipeline_cache.cpp
renderer_vulkan/vk_present_manager.cpp renderer_vulkan/vk_pipeline_cache.h
renderer_vulkan/vk_present_manager.h renderer_vulkan/vk_present_manager.cpp
renderer_vulkan/vk_query_cache.cpp renderer_vulkan/vk_present_manager.h
renderer_vulkan/vk_query_cache.h renderer_vulkan/vk_query_cache.cpp
renderer_vulkan/vk_rasterizer.cpp renderer_vulkan/vk_query_cache.h
renderer_vulkan/vk_rasterizer.h renderer_vulkan/vk_rasterizer.cpp
renderer_vulkan/vk_render_pass_cache.cpp renderer_vulkan/vk_rasterizer.h
renderer_vulkan/vk_render_pass_cache.h renderer_vulkan/vk_render_pass_cache.cpp
renderer_vulkan/vk_resource_pool.cpp renderer_vulkan/vk_render_pass_cache.h
renderer_vulkan/vk_resource_pool.h renderer_vulkan/vk_resource_pool.cpp
renderer_vulkan/vk_scheduler.cpp renderer_vulkan/vk_resource_pool.h
renderer_vulkan/vk_scheduler.h renderer_vulkan/vk_scheduler.cpp
renderer_vulkan/vk_shader_util.cpp renderer_vulkan/vk_scheduler.h
renderer_vulkan/vk_shader_util.h renderer_vulkan/vk_shader_util.cpp
renderer_vulkan/vk_staging_buffer_pool.cpp renderer_vulkan/vk_shader_util.h
renderer_vulkan/vk_staging_buffer_pool.h renderer_vulkan/vk_staging_buffer_pool.cpp
renderer_vulkan/vk_state_tracker.cpp renderer_vulkan/vk_staging_buffer_pool.h
renderer_vulkan/vk_state_tracker.h renderer_vulkan/vk_state_tracker.cpp
renderer_vulkan/vk_swapchain.cpp renderer_vulkan/vk_state_tracker.h
renderer_vulkan/vk_swapchain.h renderer_vulkan/vk_swapchain.cpp
renderer_vulkan/vk_texture_cache.cpp renderer_vulkan/vk_swapchain.h
renderer_vulkan/vk_texture_cache.h renderer_vulkan/vk_texture_cache.cpp
renderer_vulkan/vk_texture_cache_base.cpp renderer_vulkan/vk_texture_cache.h
renderer_vulkan/vk_turbo_mode.cpp renderer_vulkan/vk_texture_cache_base.cpp
renderer_vulkan/vk_turbo_mode.h renderer_vulkan/vk_turbo_mode.cpp
renderer_vulkan/vk_update_descriptor.cpp renderer_vulkan/vk_turbo_mode.h
renderer_vulkan/vk_update_descriptor.h renderer_vulkan/vk_update_descriptor.cpp
shader_cache.cpp renderer_vulkan/vk_update_descriptor.h
shader_cache.h shader_cache.cpp
shader_environment.cpp shader_cache.h
shader_environment.h shader_environment.cpp
shader_notify.cpp shader_environment.h
shader_notify.h shader_notify.cpp
smaa_area_tex.h shader_notify.h
smaa_search_tex.h smaa_area_tex.h
surface.cpp smaa_search_tex.h
surface.h surface.cpp
texture_cache/accelerated_swizzle.cpp surface.h
texture_cache/accelerated_swizzle.h texture_cache/accelerated_swizzle.cpp
texture_cache/decode_bc.cpp texture_cache/accelerated_swizzle.h
texture_cache/decode_bc.h texture_cache/decode_bc.cpp
texture_cache/descriptor_table.h texture_cache/decode_bc.h
texture_cache/formatter.cpp texture_cache/descriptor_table.h
texture_cache/formatter.h texture_cache/formatter.cpp
texture_cache/format_lookup_table.cpp texture_cache/formatter.h
texture_cache/format_lookup_table.h texture_cache/format_lookup_table.cpp
texture_cache/image_base.cpp texture_cache/format_lookup_table.h
texture_cache/image_base.h texture_cache/image_base.cpp
texture_cache/image_info.cpp texture_cache/image_base.h
texture_cache/image_info.h texture_cache/image_info.cpp
texture_cache/image_view_base.cpp texture_cache/image_info.h
texture_cache/image_view_base.h texture_cache/image_view_base.cpp
texture_cache/image_view_info.cpp texture_cache/image_view_base.h
texture_cache/image_view_info.h texture_cache/image_view_info.cpp
texture_cache/render_targets.h texture_cache/image_view_info.h
texture_cache/samples_helper.h texture_cache/render_targets.h
texture_cache/texture_cache.cpp texture_cache/samples_helper.h
texture_cache/texture_cache.h texture_cache/texture_cache.cpp
texture_cache/texture_cache_base.h texture_cache/texture_cache.h
texture_cache/types.h texture_cache/texture_cache_base.h
texture_cache/util.cpp texture_cache/types.h
texture_cache/util.h texture_cache/util.cpp
textures/astc.h texture_cache/util.h
textures/astc.cpp textures/astc.h
textures/bcn.cpp textures/astc.cpp
textures/bcn.h textures/bcn.cpp
textures/decoders.cpp textures/bcn.h
textures/decoders.h textures/decoders.cpp
textures/texture.cpp textures/decoders.h
textures/texture.h textures/texture.cpp
textures/workers.cpp textures/texture.h
textures/workers.h textures/workers.cpp
transform_feedback.cpp textures/workers.h
transform_feedback.h transform_feedback.cpp
video_core.cpp transform_feedback.h
video_core.h video_core.cpp
vulkan_common/vulkan_debug_callback.cpp video_core.h
vulkan_common/vulkan_debug_callback.h vulkan_common/vulkan_debug_callback.cpp
vulkan_common/vulkan_device.cpp vulkan_common/vulkan_debug_callback.h
vulkan_common/vulkan_device.h vulkan_common/vulkan_device.cpp
vulkan_common/vulkan_instance.cpp vulkan_common/vulkan_device.h
vulkan_common/vulkan_instance.h vulkan_common/vulkan_instance.cpp
vulkan_common/vulkan_library.cpp vulkan_common/vulkan_instance.h
vulkan_common/vulkan_library.h vulkan_common/vulkan_library.cpp
vulkan_common/vulkan_memory_allocator.cpp vulkan_common/vulkan_library.h
vulkan_common/vulkan_memory_allocator.h vulkan_common/vulkan_memory_allocator.cpp
vulkan_common/vulkan_surface.cpp vulkan_common/vulkan_memory_allocator.h
vulkan_common/vulkan_surface.h vulkan_common/vulkan_surface.cpp
vulkan_common/vulkan_wrapper.cpp vulkan_common/vulkan_surface.h
vulkan_common/vulkan_wrapper.h vulkan_common/vulkan_wrapper.cpp
vulkan_common/nsight_aftermath_tracker.cpp vulkan_common/vulkan_wrapper.h
vulkan_common/nsight_aftermath_tracker.h vulkan_common/nsight_aftermath_tracker.cpp
vulkan_common/vma.cpp vulkan_common/nsight_aftermath_tracker.h
vulkan_common/vma.h vulkan_common/vma.cpp
vulkan_common/vulkan.h vulkan_common/vma.h
) vulkan_common/vulkan.h)
target_link_libraries(video_core PUBLIC common core) target_link_libraries(video_core PUBLIC common core)
target_link_libraries(video_core PUBLIC glad shader_recompiler stb bc_decoder) target_link_libraries(video_core PUBLIC glad shader_recompiler stb bc_decoder)
if (YUZU_USE_BUNDLED_FFMPEG AND NOT (WIN32 OR ANDROID)) if(YUZU_USE_BUNDLED_FFMPEG AND NOT (WIN32 OR ANDROID))
add_dependencies(video_core ffmpeg-build) add_dependencies(video_core ffmpeg-build)
endif() endif()
target_include_directories(video_core PRIVATE ${FFmpeg_INCLUDE_DIR}) target_include_directories(video_core PRIVATE ${FFmpeg_INCLUDE_DIR})
@ -329,83 +332,99 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
add_dependencies(video_core host_shaders) add_dependencies(video_core host_shaders)
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
if (VulkanMemoryAllocator_ADDED) if(VulkanMemoryAllocator_ADDED)
target_include_directories(video_core PUBLIC ${VulkanMemoryAllocator_SOURCE_DIR}/include) target_include_directories(video_core
PUBLIC ${VulkanMemoryAllocator_SOURCE_DIR}/include)
endif() endif()
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers VulkanUtilityHeaders) if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers
if (ENABLE_NSIGHT_AFTERMATH) VulkanUtilityHeaders)
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
message(FATAL_ERROR "Environment variable NSIGHT_AFTERMATH_SDK has to be provided")
endif()
if (NOT WIN32)
message(FATAL_ERROR "Nsight Aftermath doesn't support non-Windows platforms")
endif()
target_compile_definitions(video_core PRIVATE HAS_NSIGHT_AFTERMATH)
target_include_directories(video_core PRIVATE "$ENV{NSIGHT_AFTERMATH_SDK}/include")
endif() endif()
if (MSVC) if(ENABLE_NSIGHT_AFTERMATH)
target_compile_options(video_core PRIVATE if(NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data message(
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data FATAL_ERROR "Environment variable NSIGHT_AFTERMATH_SDK has to be provided"
) )
endif()
if(NOT WIN32)
message(
FATAL_ERROR "Nsight Aftermath doesn't support non-Windows platforms")
endif()
target_compile_definitions(video_core PRIVATE HAS_NSIGHT_AFTERMATH)
target_include_directories(video_core
PRIVATE "$ENV{NSIGHT_AFTERMATH_SDK}/include")
endif()
if(MSVC)
target_compile_options(
video_core
PRIVATE /we4242 # 'identifier': conversion from 'type1' to 'type2', possible
# loss of data
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible
# loss of data
)
else() else()
if (APPLE) if(APPLE)
# error: declaration shadows a typedef in 'interval_base_set<SubType, DomainT, Compare, Interval, Alloc>' # error: declaration shadows a typedef in 'interval_base_set<SubType,
# error: implicit conversion loses integer precision: 'int' to 'boost::icl::bound_type' (aka 'unsigned char') # DomainT, Compare, Interval, Alloc>' error: implicit conversion loses
target_compile_options(video_core PRIVATE -Wno-shadow -Wno-unused-local-typedef) # integer precision: 'int' to 'boost::icl::bound_type' (aka 'unsigned char')
else() target_compile_options(video_core PRIVATE -Wno-shadow
target_compile_options(video_core PRIVATE -Werror=conversion) -Wno-unused-local-typedef)
endif() else()
target_compile_options(video_core PRIVATE -Werror=conversion)
endif()
target_compile_options(video_core PRIVATE target_compile_options(video_core PRIVATE -Wno-sign-conversion)
-Wno-sign-conversion
)
# xbyak # xbyak
set_source_files_properties(macro/macro_jit_x64.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-shadow") set_source_files_properties(
macro/macro_jit_x64.cpp PROPERTIES COMPILE_OPTIONS
"-Wno-conversion;-Wno-shadow")
# VMA # VMA
set_source_files_properties(vulkan_common/vma.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-unused-variable;-Wno-unused-parameter;-Wno-missing-field-initializers") set_source_files_properties(
vulkan_common/vma.cpp
PROPERTIES
COMPILE_OPTIONS
"-Wno-conversion;-Wno-unused-variable;-Wno-unused-parameter;-Wno-missing-field-initializers"
)
# Get around GCC failing with intrinsics in Debug # Get around GCC failing with intrinsics in Debug
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug")
set_source_files_properties(host1x/vic.cpp PROPERTIES COMPILE_OPTIONS "-O2") set_source_files_properties(host1x/vic.cpp PROPERTIES COMPILE_OPTIONS "-O2")
endif() endif()
endif() endif()
if (ARCHITECTURE_x86_64) if(ARCHITECTURE_x86_64)
target_sources(video_core PRIVATE target_sources(video_core PRIVATE macro/macro_jit_x64.cpp
macro/macro_jit_x64.cpp macro/macro_jit_x64.h)
macro/macro_jit_x64.h target_link_libraries(video_core PUBLIC xbyak::xbyak)
)
target_link_libraries(video_core PUBLIC xbyak::xbyak)
if (NOT MSVC) if(NOT MSVC)
target_compile_options(video_core PRIVATE -msse4.1) target_compile_options(video_core PRIVATE -msse4.1)
endif() endif()
endif() endif()
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) if(ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
target_link_libraries(video_core PRIVATE dynarmic::dynarmic) target_link_libraries(video_core PRIVATE dynarmic::dynarmic)
endif() endif()
if (YUZU_USE_PRECOMPILED_HEADERS) if(YUZU_USE_PRECOMPILED_HEADERS)
target_precompile_headers(video_core PRIVATE precompiled_headers.h) target_precompile_headers(video_core PRIVATE precompiled_headers.h)
endif() endif()
if (YUZU_ENABLE_LTO) if(YUZU_ENABLE_LTO)
set_property(TARGET video_core PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) set_property(TARGET video_core PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif() endif()
if (ANDROID AND ARCHITECTURE_arm64) if(ANDROID AND ARCHITECTURE_arm64)
target_link_libraries(video_core PRIVATE adrenotools) target_link_libraries(video_core PRIVATE adrenotools)
endif() endif()
if (ARCHITECTURE_arm64) if(ARCHITECTURE_arm64)
target_link_libraries(video_core PRIVATE sse2neon) target_link_libraries(video_core PRIVATE sse2neon)
endif() endif()
create_target_directory_groups(video_core) create_target_directory_groups(video_core)