2020-08-24 02:28:15 +02:00
|
|
|
add_subdirectory(host_shaders)
|
|
|
|
|
2021-08-04 05:43:11 +02:00
|
|
|
if(LIBVA_FOUND)
|
|
|
|
set_source_files_properties(command_classes/codecs/codec.cpp
|
|
|
|
PROPERTIES COMPILE_DEFINITIONS LIBVA_FOUND=1)
|
2021-12-03 06:35:30 +01:00
|
|
|
list(APPEND FFmpeg_LIBRARIES ${LIBVA_LIBRARIES})
|
2021-08-04 05:43:11 +02:00
|
|
|
endif()
|
|
|
|
|
2018-01-18 01:37:34 +01:00
|
|
|
add_library(video_core STATIC
|
2020-12-30 22:37:31 +01:00
|
|
|
buffer_cache/buffer_base.h
|
2021-01-17 00:48:58 +01:00
|
|
|
buffer_cache/buffer_cache.cpp
|
2019-07-19 16:50:40 +02:00
|
|
|
buffer_cache/buffer_cache.h
|
2020-10-27 04:07:36 +01:00
|
|
|
cdma_pusher.cpp
|
|
|
|
cdma_pusher.h
|
|
|
|
command_classes/codecs/codec.cpp
|
|
|
|
command_classes/codecs/codec.h
|
|
|
|
command_classes/codecs/h264.cpp
|
|
|
|
command_classes/codecs/h264.h
|
2021-11-13 01:28:21 +01:00
|
|
|
command_classes/codecs/vp8.cpp
|
|
|
|
command_classes/codecs/vp8.h
|
2020-10-27 04:07:36 +01:00
|
|
|
command_classes/codecs/vp9.cpp
|
|
|
|
command_classes/codecs/vp9.h
|
|
|
|
command_classes/codecs/vp9_types.h
|
|
|
|
command_classes/host1x.cpp
|
|
|
|
command_classes/host1x.h
|
|
|
|
command_classes/nvdec.cpp
|
|
|
|
command_classes/nvdec.h
|
|
|
|
command_classes/nvdec_common.h
|
|
|
|
command_classes/sync_manager.cpp
|
|
|
|
command_classes/sync_manager.h
|
|
|
|
command_classes/vic.cpp
|
|
|
|
command_classes/vic.h
|
2020-06-27 00:22:29 +02:00
|
|
|
compatible_formats.cpp
|
|
|
|
compatible_formats.h
|
2020-12-30 06:06:22 +01:00
|
|
|
delayed_destruction_ring.h
|
2020-02-21 05:56:00 +01:00
|
|
|
dirty_flags.cpp
|
2019-12-27 02:14:10 +01:00
|
|
|
dirty_flags.h
|
2018-11-24 05:20:56 +01:00
|
|
|
dma_pusher.cpp
|
|
|
|
dma_pusher.h
|
2019-05-31 22:33:21 +02:00
|
|
|
engines/const_buffer_info.h
|
2020-04-28 19:53:47 +02:00
|
|
|
engines/engine_interface.h
|
2019-04-23 00:50:56 +02:00
|
|
|
engines/engine_upload.cpp
|
|
|
|
engines/engine_upload.h
|
2018-02-12 03:34:20 +01:00
|
|
|
engines/fermi_2d.cpp
|
|
|
|
engines/fermi_2d.h
|
2019-01-23 00:49:31 +01:00
|
|
|
engines/kepler_compute.cpp
|
|
|
|
engines/kepler_compute.h
|
2018-09-08 22:58:20 +02:00
|
|
|
engines/kepler_memory.cpp
|
|
|
|
engines/kepler_memory.h
|
2018-02-12 03:34:20 +01:00
|
|
|
engines/maxwell_3d.cpp
|
|
|
|
engines/maxwell_3d.h
|
2018-06-11 00:02:33 +02:00
|
|
|
engines/maxwell_dma.cpp
|
|
|
|
engines/maxwell_dma.h
|
2020-12-12 07:26:14 +01:00
|
|
|
framebuffer_config.h
|
2020-05-29 06:53:27 +02:00
|
|
|
macro/macro.cpp
|
|
|
|
macro/macro.h
|
2020-06-04 17:42:19 +02:00
|
|
|
macro/macro_hle.cpp
|
|
|
|
macro/macro_hle.h
|
2020-05-29 06:53:27 +02:00
|
|
|
macro/macro_interpreter.cpp
|
|
|
|
macro/macro_interpreter.h
|
|
|
|
macro/macro_jit_x64.cpp
|
|
|
|
macro/macro_jit_x64.h
|
2020-02-18 01:19:26 +01:00
|
|
|
fence_manager.h
|
2018-03-18 21:15:05 +01:00
|
|
|
gpu.cpp
|
2018-02-12 05:44:12 +01:00
|
|
|
gpu.h
|
2019-01-24 04:17:55 +01:00
|
|
|
gpu_thread.cpp
|
|
|
|
gpu_thread.h
|
2018-02-12 05:44:12 +01:00
|
|
|
memory_manager.cpp
|
|
|
|
memory_manager.h
|
2020-02-11 20:02:41 +01:00
|
|
|
query_cache.h
|
2019-10-27 07:40:08 +01:00
|
|
|
rasterizer_accelerated.cpp
|
|
|
|
rasterizer_accelerated.h
|
2018-03-20 04:00:59 +01:00
|
|
|
rasterizer_interface.h
|
2018-01-18 01:37:34 +01:00
|
|
|
renderer_base.cpp
|
|
|
|
renderer_base.h
|
2018-08-29 00:27:03 +02:00
|
|
|
renderer_opengl/gl_buffer_cache.cpp
|
2018-09-06 20:49:49 +02:00
|
|
|
renderer_opengl/gl_buffer_cache.h
|
2021-05-25 23:58:28 +02:00
|
|
|
renderer_opengl/gl_compute_pipeline.cpp
|
|
|
|
renderer_opengl/gl_compute_pipeline.h
|
2019-04-10 20:56:12 +02:00
|
|
|
renderer_opengl/gl_device.cpp
|
|
|
|
renderer_opengl/gl_device.h
|
2020-02-18 01:19:26 +01:00
|
|
|
renderer_opengl/gl_fence_manager.cpp
|
|
|
|
renderer_opengl/gl_fence_manager.h
|
2021-05-25 23:58:28 +02:00
|
|
|
renderer_opengl/gl_graphics_pipeline.cpp
|
|
|
|
renderer_opengl/gl_graphics_pipeline.h
|
2018-03-20 04:00:59 +01:00
|
|
|
renderer_opengl/gl_rasterizer.cpp
|
|
|
|
renderer_opengl/gl_rasterizer.h
|
2018-11-06 10:40:49 +01:00
|
|
|
renderer_opengl/gl_resource_manager.cpp
|
2018-01-18 01:37:34 +01:00
|
|
|
renderer_opengl/gl_resource_manager.h
|
2018-08-23 23:30:27 +02:00
|
|
|
renderer_opengl/gl_shader_cache.cpp
|
|
|
|
renderer_opengl/gl_shader_cache.h
|
2018-04-07 11:12:38 +02:00
|
|
|
renderer_opengl/gl_shader_manager.cpp
|
|
|
|
renderer_opengl/gl_shader_manager.h
|
2021-06-15 03:06:29 +02:00
|
|
|
renderer_opengl/gl_shader_context.h
|
2018-01-18 01:37:34 +01:00
|
|
|
renderer_opengl/gl_shader_util.cpp
|
|
|
|
renderer_opengl/gl_shader_util.h
|
2019-12-25 21:02:17 +01:00
|
|
|
renderer_opengl/gl_state_tracker.cpp
|
|
|
|
renderer_opengl/gl_state_tracker.h
|
2018-03-19 22:10:59 +01:00
|
|
|
renderer_opengl/gl_stream_buffer.cpp
|
|
|
|
renderer_opengl/gl_stream_buffer.h
|
2019-04-11 22:14:55 +02:00
|
|
|
renderer_opengl/gl_texture_cache.cpp
|
|
|
|
renderer_opengl/gl_texture_cache.h
|
2021-08-05 22:46:24 +02:00
|
|
|
renderer_opengl/gl_texture_cache_base.cpp
|
2019-07-28 00:40:10 +02:00
|
|
|
renderer_opengl/gl_query_cache.cpp
|
|
|
|
renderer_opengl/gl_query_cache.h
|
2018-03-25 03:09:30 +02:00
|
|
|
renderer_opengl/maxwell_to_gl.h
|
2018-01-18 01:37:34 +01:00
|
|
|
renderer_opengl/renderer_opengl.cpp
|
|
|
|
renderer_opengl/renderer_opengl.h
|
2020-12-30 06:25:23 +01:00
|
|
|
renderer_opengl/util_shaders.cpp
|
|
|
|
renderer_opengl/util_shaders.h
|
|
|
|
renderer_vulkan/blit_image.cpp
|
|
|
|
renderer_vulkan/blit_image.h
|
2020-12-25 00:22:07 +01:00
|
|
|
renderer_vulkan/fixed_pipeline_state.cpp
|
|
|
|
renderer_vulkan/fixed_pipeline_state.h
|
|
|
|
renderer_vulkan/maxwell_to_vk.cpp
|
|
|
|
renderer_vulkan/maxwell_to_vk.h
|
2021-03-19 23:28:31 +01:00
|
|
|
renderer_vulkan/pipeline_helper.h
|
2021-07-28 00:15:32 +02:00
|
|
|
renderer_vulkan/pipeline_statistics.cpp
|
|
|
|
renderer_vulkan/pipeline_statistics.h
|
2020-12-25 00:22:07 +01:00
|
|
|
renderer_vulkan/renderer_vulkan.h
|
|
|
|
renderer_vulkan/renderer_vulkan.cpp
|
|
|
|
renderer_vulkan/vk_blit_screen.cpp
|
|
|
|
renderer_vulkan/vk_blit_screen.h
|
|
|
|
renderer_vulkan/vk_buffer_cache.cpp
|
|
|
|
renderer_vulkan/vk_buffer_cache.h
|
|
|
|
renderer_vulkan/vk_command_pool.cpp
|
|
|
|
renderer_vulkan/vk_command_pool.h
|
|
|
|
renderer_vulkan/vk_compute_pass.cpp
|
|
|
|
renderer_vulkan/vk_compute_pass.h
|
|
|
|
renderer_vulkan/vk_compute_pipeline.cpp
|
|
|
|
renderer_vulkan/vk_compute_pipeline.h
|
|
|
|
renderer_vulkan/vk_descriptor_pool.cpp
|
|
|
|
renderer_vulkan/vk_descriptor_pool.h
|
|
|
|
renderer_vulkan/vk_fence_manager.cpp
|
|
|
|
renderer_vulkan/vk_fence_manager.h
|
2021-10-17 03:33:58 +02:00
|
|
|
renderer_vulkan/vk_fsr.cpp
|
|
|
|
renderer_vulkan/vk_fsr.h
|
2021-03-19 23:28:31 +01:00
|
|
|
renderer_vulkan/vk_graphics_pipeline.cpp
|
|
|
|
renderer_vulkan/vk_graphics_pipeline.h
|
2020-12-25 00:22:07 +01:00
|
|
|
renderer_vulkan/vk_master_semaphore.cpp
|
|
|
|
renderer_vulkan/vk_master_semaphore.h
|
|
|
|
renderer_vulkan/vk_pipeline_cache.cpp
|
|
|
|
renderer_vulkan/vk_pipeline_cache.h
|
|
|
|
renderer_vulkan/vk_query_cache.cpp
|
|
|
|
renderer_vulkan/vk_query_cache.h
|
|
|
|
renderer_vulkan/vk_rasterizer.cpp
|
|
|
|
renderer_vulkan/vk_rasterizer.h
|
2021-03-19 23:28:31 +01:00
|
|
|
renderer_vulkan/vk_render_pass_cache.cpp
|
|
|
|
renderer_vulkan/vk_render_pass_cache.h
|
2020-12-25 00:22:07 +01:00
|
|
|
renderer_vulkan/vk_resource_pool.cpp
|
|
|
|
renderer_vulkan/vk_resource_pool.h
|
|
|
|
renderer_vulkan/vk_scheduler.cpp
|
|
|
|
renderer_vulkan/vk_scheduler.h
|
|
|
|
renderer_vulkan/vk_shader_util.cpp
|
|
|
|
renderer_vulkan/vk_shader_util.h
|
|
|
|
renderer_vulkan/vk_staging_buffer_pool.cpp
|
|
|
|
renderer_vulkan/vk_staging_buffer_pool.h
|
|
|
|
renderer_vulkan/vk_state_tracker.cpp
|
|
|
|
renderer_vulkan/vk_state_tracker.h
|
|
|
|
renderer_vulkan/vk_swapchain.cpp
|
|
|
|
renderer_vulkan/vk_swapchain.h
|
|
|
|
renderer_vulkan/vk_texture_cache.cpp
|
|
|
|
renderer_vulkan/vk_texture_cache.h
|
2021-08-05 22:46:24 +02:00
|
|
|
renderer_vulkan/vk_texture_cache_base.cpp
|
2020-12-25 00:22:07 +01:00
|
|
|
renderer_vulkan/vk_update_descriptor.cpp
|
|
|
|
renderer_vulkan/vk_update_descriptor.h
|
2021-04-26 08:53:26 +02:00
|
|
|
shader_cache.cpp
|
2020-05-23 01:53:27 +02:00
|
|
|
shader_cache.h
|
2021-04-26 08:53:26 +02:00
|
|
|
shader_environment.cpp
|
|
|
|
shader_environment.h
|
2020-07-10 05:36:38 +02:00
|
|
|
shader_notify.cpp
|
|
|
|
shader_notify.h
|
2018-10-29 02:14:25 +01:00
|
|
|
surface.cpp
|
|
|
|
surface.h
|
2020-12-30 06:25:23 +01:00
|
|
|
texture_cache/accelerated_swizzle.cpp
|
|
|
|
texture_cache/accelerated_swizzle.h
|
|
|
|
texture_cache/decode_bc4.cpp
|
|
|
|
texture_cache/decode_bc4.h
|
|
|
|
texture_cache/descriptor_table.h
|
|
|
|
texture_cache/formatter.cpp
|
|
|
|
texture_cache/formatter.h
|
2019-11-09 07:26:30 +01:00
|
|
|
texture_cache/format_lookup_table.cpp
|
|
|
|
texture_cache/format_lookup_table.h
|
2020-12-30 06:25:23 +01:00
|
|
|
texture_cache/image_base.cpp
|
|
|
|
texture_cache/image_base.h
|
|
|
|
texture_cache/image_info.cpp
|
|
|
|
texture_cache/image_info.h
|
|
|
|
texture_cache/image_view_base.cpp
|
|
|
|
texture_cache/image_view_base.h
|
|
|
|
texture_cache/image_view_info.cpp
|
|
|
|
texture_cache/image_view_info.h
|
|
|
|
texture_cache/render_targets.h
|
|
|
|
texture_cache/samples_helper.h
|
|
|
|
texture_cache/slot_vector.h
|
2019-04-24 21:35:54 +02:00
|
|
|
texture_cache/texture_cache.h
|
2021-08-05 22:46:24 +02:00
|
|
|
texture_cache/texture_cache_base.h
|
2020-12-30 06:25:23 +01:00
|
|
|
texture_cache/types.h
|
|
|
|
texture_cache/util.cpp
|
|
|
|
texture_cache/util.h
|
2018-06-18 05:50:44 +02:00
|
|
|
textures/astc.h
|
2021-06-13 21:15:08 +02:00
|
|
|
textures/astc.cpp
|
2018-03-20 00:00:29 +01:00
|
|
|
textures/decoders.cpp
|
|
|
|
textures/decoders.h
|
2020-04-08 01:38:14 +02:00
|
|
|
textures/texture.cpp
|
2018-03-20 00:00:29 +01:00
|
|
|
textures/texture.h
|
2021-05-21 22:19:35 +02:00
|
|
|
transform_feedback.cpp
|
|
|
|
transform_feedback.h
|
2018-01-18 01:37:34 +01:00
|
|
|
video_core.cpp
|
|
|
|
video_core.h
|
2020-12-25 06:01:13 +01:00
|
|
|
vulkan_common/vulkan_debug_callback.cpp
|
|
|
|
vulkan_common/vulkan_debug_callback.h
|
2020-12-26 05:19:46 +01:00
|
|
|
vulkan_common/vulkan_device.cpp
|
|
|
|
vulkan_common/vulkan_device.h
|
2020-12-25 02:05:48 +01:00
|
|
|
vulkan_common/vulkan_instance.cpp
|
|
|
|
vulkan_common/vulkan_instance.h
|
2020-12-25 01:24:34 +01:00
|
|
|
vulkan_common/vulkan_library.cpp
|
|
|
|
vulkan_common/vulkan_library.h
|
2021-01-03 22:17:57 +01:00
|
|
|
vulkan_common/vulkan_memory_allocator.cpp
|
|
|
|
vulkan_common/vulkan_memory_allocator.h
|
2020-12-25 06:14:15 +01:00
|
|
|
vulkan_common/vulkan_surface.cpp
|
|
|
|
vulkan_common/vulkan_surface.h
|
2020-12-25 01:30:11 +01:00
|
|
|
vulkan_common/vulkan_wrapper.cpp
|
|
|
|
vulkan_common/vulkan_wrapper.h
|
2020-12-26 05:26:52 +01:00
|
|
|
vulkan_common/nsight_aftermath_tracker.cpp
|
|
|
|
vulkan_common/nsight_aftermath_tracker.h
|
2018-01-18 01:37:34 +01:00
|
|
|
)
|
2014-04-05 22:04:25 +02:00
|
|
|
|
2018-01-18 01:37:34 +01:00
|
|
|
create_target_directory_groups(video_core)
|
2014-08-24 03:22:05 +02:00
|
|
|
|
2017-05-28 03:26:55 +02:00
|
|
|
target_link_libraries(video_core PUBLIC common core)
|
2021-04-06 04:25:22 +02:00
|
|
|
target_link_libraries(video_core PUBLIC glad shader_recompiler xbyak)
|
2020-03-30 10:21:59 +02:00
|
|
|
|
2021-02-05 19:45:10 +01:00
|
|
|
if (YUZU_USE_BUNDLED_FFMPEG AND NOT WIN32)
|
|
|
|
add_dependencies(video_core ffmpeg-build)
|
2020-10-27 04:07:36 +01:00
|
|
|
endif()
|
|
|
|
|
2021-02-05 21:39:19 +01:00
|
|
|
target_include_directories(video_core PRIVATE ${FFmpeg_INCLUDE_DIR})
|
|
|
|
target_link_libraries(video_core PRIVATE ${FFmpeg_LIBRARIES})
|
2021-08-07 07:02:51 +02:00
|
|
|
target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
|
2021-02-05 19:45:10 +01:00
|
|
|
|
2020-08-24 02:28:15 +02:00
|
|
|
add_dependencies(video_core host_shaders)
|
|
|
|
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
|
2020-12-25 00:22:07 +01:00
|
|
|
target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
|
|
|
|
target_link_libraries(video_core PRIVATE sirit)
|
2019-11-08 21:14:21 +01:00
|
|
|
|
2020-03-30 10:21:59 +02:00
|
|
|
if (ENABLE_NSIGHT_AFTERMATH)
|
|
|
|
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
|
2021-01-23 08:15:27 +01:00
|
|
|
message(FATAL_ERROR "Environment variable NSIGHT_AFTERMATH_SDK has to be provided")
|
2020-03-30 10:21:59 +02:00
|
|
|
endif()
|
|
|
|
if (NOT WIN32)
|
2021-01-23 08:15:27 +01:00
|
|
|
message(FATAL_ERROR "Nsight Aftermath doesn't support non-Windows platforms")
|
2020-03-30 10:21:59 +02:00
|
|
|
endif()
|
|
|
|
target_compile_definitions(video_core PRIVATE HAS_NSIGHT_AFTERMATH)
|
|
|
|
target_include_directories(video_core PRIVATE "$ENV{NSIGHT_AFTERMATH_SDK}/include")
|
|
|
|
endif()
|
|
|
|
|
2019-11-08 21:14:21 +01:00
|
|
|
if (MSVC)
|
2020-12-05 17:40:14 +01:00
|
|
|
target_compile_options(video_core PRIVATE
|
2021-06-28 09:53:52 +02:00
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
|
|
|
|
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data
|
2020-12-05 17:40:14 +01:00
|
|
|
/we4456 # Declaration of 'identifier' hides previous local declaration
|
|
|
|
/we4457 # Declaration of 'identifier' hides function parameter
|
|
|
|
/we4458 # Declaration of 'identifier' hides class member
|
|
|
|
/we4459 # Declaration of 'identifier' hides global declaration
|
|
|
|
)
|
2019-11-08 21:14:21 +01:00
|
|
|
else()
|
2020-10-03 02:19:35 +02:00
|
|
|
target_compile_options(video_core PRIVATE
|
|
|
|
-Werror=conversion
|
|
|
|
-Wno-error=sign-conversion
|
2020-10-28 06:25:40 +01:00
|
|
|
-Werror=pessimizing-move
|
|
|
|
-Werror=redundant-move
|
2020-12-05 17:40:14 +01:00
|
|
|
-Werror=shadow
|
2020-10-28 06:31:30 +01:00
|
|
|
-Werror=type-limits
|
2020-10-21 01:24:28 +02:00
|
|
|
|
|
|
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess>
|
|
|
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
|
|
|
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
|
2020-10-03 02:19:35 +02:00
|
|
|
)
|
2019-11-08 21:14:21 +01:00
|
|
|
endif()
|