2020-08-24 00:28:15 +00:00
|
|
|
add_subdirectory(host_shaders)
|
|
|
|
|
2018-01-18 00:37:34 +00:00
|
|
|
add_library(video_core STATIC
|
2019-07-19 14:50:40 +00:00
|
|
|
buffer_cache/buffer_block.h
|
|
|
|
buffer_cache/buffer_cache.h
|
2020-05-21 04:06:40 +00:00
|
|
|
buffer_cache/map_interval.cpp
|
2019-07-19 14:50:40 +00:00
|
|
|
buffer_cache/map_interval.h
|
2020-10-27 03:07:36 +00: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
|
|
|
|
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-26 22:22:29 +00:00
|
|
|
compatible_formats.cpp
|
|
|
|
compatible_formats.h
|
2020-02-21 04:56:00 +00:00
|
|
|
dirty_flags.cpp
|
2019-12-27 01:14:10 +00:00
|
|
|
dirty_flags.h
|
2018-11-24 04:20:56 +00:00
|
|
|
dma_pusher.cpp
|
|
|
|
dma_pusher.h
|
2019-09-23 18:02:02 +00:00
|
|
|
engines/const_buffer_engine_interface.h
|
2019-05-31 20:33:21 +00:00
|
|
|
engines/const_buffer_info.h
|
2020-04-28 17:53:47 +00:00
|
|
|
engines/engine_interface.h
|
2019-04-22 22:50:56 +00:00
|
|
|
engines/engine_upload.cpp
|
|
|
|
engines/engine_upload.h
|
2018-02-12 02:34:20 +00:00
|
|
|
engines/fermi_2d.cpp
|
|
|
|
engines/fermi_2d.h
|
2019-01-22 23:49:31 +00:00
|
|
|
engines/kepler_compute.cpp
|
|
|
|
engines/kepler_compute.h
|
2018-09-08 20:58:20 +00:00
|
|
|
engines/kepler_memory.cpp
|
|
|
|
engines/kepler_memory.h
|
2018-02-12 02:34:20 +00:00
|
|
|
engines/maxwell_3d.cpp
|
|
|
|
engines/maxwell_3d.h
|
2018-06-10 22:02:33 +00:00
|
|
|
engines/maxwell_dma.cpp
|
|
|
|
engines/maxwell_dma.h
|
2018-04-05 01:43:40 +00:00
|
|
|
engines/shader_bytecode.h
|
2018-09-11 01:00:55 +00:00
|
|
|
engines/shader_header.h
|
2019-11-18 21:35:21 +00:00
|
|
|
engines/shader_type.h
|
2020-05-29 04:53:27 +00:00
|
|
|
macro/macro.cpp
|
|
|
|
macro/macro.h
|
2020-06-04 15:42:19 +00:00
|
|
|
macro/macro_hle.cpp
|
|
|
|
macro/macro_hle.h
|
2020-05-29 04:53:27 +00:00
|
|
|
macro/macro_interpreter.cpp
|
|
|
|
macro/macro_interpreter.h
|
|
|
|
macro/macro_jit_x64.cpp
|
|
|
|
macro/macro_jit_x64.h
|
2020-02-18 00:19:26 +00:00
|
|
|
fence_manager.h
|
2018-03-18 20:15:05 +00:00
|
|
|
gpu.cpp
|
2018-02-12 04:44:12 +00:00
|
|
|
gpu.h
|
2019-02-09 04:21:53 +00:00
|
|
|
gpu_asynch.cpp
|
|
|
|
gpu_asynch.h
|
|
|
|
gpu_synch.cpp
|
|
|
|
gpu_synch.h
|
2019-01-24 03:17:55 +00:00
|
|
|
gpu_thread.cpp
|
|
|
|
gpu_thread.h
|
2020-01-03 20:16:29 +00:00
|
|
|
guest_driver.cpp
|
|
|
|
guest_driver.h
|
2018-02-12 04:44:12 +00:00
|
|
|
memory_manager.cpp
|
|
|
|
memory_manager.h
|
2018-11-25 02:53:17 +00:00
|
|
|
morton.cpp
|
|
|
|
morton.h
|
2020-02-11 19:02:41 +00:00
|
|
|
query_cache.h
|
2019-10-27 06:40:08 +00:00
|
|
|
rasterizer_accelerated.cpp
|
|
|
|
rasterizer_accelerated.h
|
2018-03-20 03:00:59 +00:00
|
|
|
rasterizer_interface.h
|
2018-01-18 00:37:34 +00:00
|
|
|
renderer_base.cpp
|
|
|
|
renderer_base.h
|
2020-06-03 21:07:35 +00:00
|
|
|
renderer_opengl/gl_arb_decompiler.cpp
|
|
|
|
renderer_opengl/gl_arb_decompiler.h
|
2018-08-28 22:27:03 +00:00
|
|
|
renderer_opengl/gl_buffer_cache.cpp
|
2018-09-06 18:49:49 +00:00
|
|
|
renderer_opengl/gl_buffer_cache.h
|
2019-04-10 18:56:12 +00:00
|
|
|
renderer_opengl/gl_device.cpp
|
|
|
|
renderer_opengl/gl_device.h
|
2020-02-18 00:19:26 +00:00
|
|
|
renderer_opengl/gl_fence_manager.cpp
|
|
|
|
renderer_opengl/gl_fence_manager.h
|
2019-05-11 06:15:49 +00:00
|
|
|
renderer_opengl/gl_framebuffer_cache.cpp
|
|
|
|
renderer_opengl/gl_framebuffer_cache.h
|
2018-03-20 03:00:59 +00:00
|
|
|
renderer_opengl/gl_rasterizer.cpp
|
|
|
|
renderer_opengl/gl_rasterizer.h
|
2018-11-06 09:40:49 +00:00
|
|
|
renderer_opengl/gl_resource_manager.cpp
|
2018-01-18 00:37:34 +00:00
|
|
|
renderer_opengl/gl_resource_manager.h
|
2019-04-02 19:58:08 +00:00
|
|
|
renderer_opengl/gl_sampler_cache.cpp
|
|
|
|
renderer_opengl/gl_sampler_cache.h
|
2018-08-23 21:30:27 +00:00
|
|
|
renderer_opengl/gl_shader_cache.cpp
|
|
|
|
renderer_opengl/gl_shader_cache.h
|
2018-12-26 04:57:14 +00:00
|
|
|
renderer_opengl/gl_shader_decompiler.cpp
|
|
|
|
renderer_opengl/gl_shader_decompiler.h
|
2019-01-14 01:36:52 +00:00
|
|
|
renderer_opengl/gl_shader_disk_cache.cpp
|
|
|
|
renderer_opengl/gl_shader_disk_cache.h
|
2018-04-07 09:12:38 +00:00
|
|
|
renderer_opengl/gl_shader_manager.cpp
|
|
|
|
renderer_opengl/gl_shader_manager.h
|
2018-01-18 00:37:34 +00:00
|
|
|
renderer_opengl/gl_shader_util.cpp
|
|
|
|
renderer_opengl/gl_shader_util.h
|
2019-12-25 20:02:17 +00:00
|
|
|
renderer_opengl/gl_state_tracker.cpp
|
|
|
|
renderer_opengl/gl_state_tracker.h
|
2018-03-19 21:10:59 +00:00
|
|
|
renderer_opengl/gl_stream_buffer.cpp
|
|
|
|
renderer_opengl/gl_stream_buffer.h
|
2019-04-11 20:14:55 +00:00
|
|
|
renderer_opengl/gl_texture_cache.cpp
|
|
|
|
renderer_opengl/gl_texture_cache.h
|
2019-07-27 22:40:10 +00:00
|
|
|
renderer_opengl/gl_query_cache.cpp
|
|
|
|
renderer_opengl/gl_query_cache.h
|
2018-03-25 01:09:30 +00:00
|
|
|
renderer_opengl/maxwell_to_gl.h
|
2018-01-18 00:37:34 +00:00
|
|
|
renderer_opengl/renderer_opengl.cpp
|
|
|
|
renderer_opengl/renderer_opengl.h
|
2018-10-29 00:54:08 +00:00
|
|
|
renderer_opengl/utils.cpp
|
|
|
|
renderer_opengl/utils.h
|
2020-12-24 23:22:07 +00: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
|
|
|
|
renderer_vulkan/nsight_aftermath_tracker.cpp
|
|
|
|
renderer_vulkan/nsight_aftermath_tracker.h
|
|
|
|
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_device.cpp
|
|
|
|
renderer_vulkan/vk_device.h
|
|
|
|
renderer_vulkan/vk_fence_manager.cpp
|
|
|
|
renderer_vulkan/vk_fence_manager.h
|
|
|
|
renderer_vulkan/vk_graphics_pipeline.cpp
|
|
|
|
renderer_vulkan/vk_graphics_pipeline.h
|
|
|
|
renderer_vulkan/vk_image.cpp
|
|
|
|
renderer_vulkan/vk_image.h
|
|
|
|
renderer_vulkan/vk_master_semaphore.cpp
|
|
|
|
renderer_vulkan/vk_master_semaphore.h
|
|
|
|
renderer_vulkan/vk_memory_manager.cpp
|
|
|
|
renderer_vulkan/vk_memory_manager.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
|
|
|
|
renderer_vulkan/vk_renderpass_cache.cpp
|
|
|
|
renderer_vulkan/vk_renderpass_cache.h
|
|
|
|
renderer_vulkan/vk_resource_pool.cpp
|
|
|
|
renderer_vulkan/vk_resource_pool.h
|
|
|
|
renderer_vulkan/vk_sampler_cache.cpp
|
|
|
|
renderer_vulkan/vk_sampler_cache.h
|
|
|
|
renderer_vulkan/vk_scheduler.cpp
|
|
|
|
renderer_vulkan/vk_scheduler.h
|
|
|
|
renderer_vulkan/vk_shader_decompiler.cpp
|
|
|
|
renderer_vulkan/vk_shader_decompiler.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_stream_buffer.cpp
|
|
|
|
renderer_vulkan/vk_stream_buffer.h
|
|
|
|
renderer_vulkan/vk_swapchain.cpp
|
|
|
|
renderer_vulkan/vk_swapchain.h
|
|
|
|
renderer_vulkan/vk_texture_cache.cpp
|
|
|
|
renderer_vulkan/vk_texture_cache.h
|
|
|
|
renderer_vulkan/vk_update_descriptor.cpp
|
|
|
|
renderer_vulkan/vk_update_descriptor.h
|
|
|
|
renderer_vulkan/wrapper.cpp
|
|
|
|
renderer_vulkan/wrapper.h
|
2019-04-02 18:54:11 +00:00
|
|
|
sampler_cache.cpp
|
|
|
|
sampler_cache.h
|
2020-05-22 23:53:27 +00:00
|
|
|
shader_cache.h
|
2020-07-10 03:36:38 +00:00
|
|
|
shader_notify.cpp
|
|
|
|
shader_notify.h
|
2018-12-20 22:09:21 +00:00
|
|
|
shader/decode/arithmetic.cpp
|
|
|
|
shader/decode/arithmetic_immediate.cpp
|
|
|
|
shader/decode/bfe.cpp
|
|
|
|
shader/decode/bfi.cpp
|
|
|
|
shader/decode/shift.cpp
|
|
|
|
shader/decode/arithmetic_integer.cpp
|
|
|
|
shader/decode/arithmetic_integer_immediate.cpp
|
|
|
|
shader/decode/arithmetic_half.cpp
|
|
|
|
shader/decode/arithmetic_half_immediate.cpp
|
|
|
|
shader/decode/ffma.cpp
|
|
|
|
shader/decode/hfma2.cpp
|
|
|
|
shader/decode/conversion.cpp
|
|
|
|
shader/decode/memory.cpp
|
2019-02-22 05:19:45 +00:00
|
|
|
shader/decode/texture.cpp
|
2019-04-27 05:07:18 +00:00
|
|
|
shader/decode/image.cpp
|
2018-12-20 22:09:21 +00:00
|
|
|
shader/decode/float_set_predicate.cpp
|
|
|
|
shader/decode/integer_set_predicate.cpp
|
|
|
|
shader/decode/half_set_predicate.cpp
|
|
|
|
shader/decode/predicate_set_register.cpp
|
|
|
|
shader/decode/predicate_set_predicate.cpp
|
|
|
|
shader/decode/register_set_predicate.cpp
|
|
|
|
shader/decode/float_set.cpp
|
|
|
|
shader/decode/integer_set.cpp
|
|
|
|
shader/decode/half_set.cpp
|
2018-12-24 04:23:00 +00:00
|
|
|
shader/decode/video.cpp
|
2019-08-10 02:50:21 +00:00
|
|
|
shader/decode/warp.cpp
|
2018-12-20 22:09:21 +00:00
|
|
|
shader/decode/xmad.cpp
|
|
|
|
shader/decode/other.cpp
|
2019-06-27 04:39:40 +00:00
|
|
|
shader/ast.cpp
|
|
|
|
shader/ast.h
|
2020-07-10 03:36:38 +00:00
|
|
|
shader/async_shaders.cpp
|
|
|
|
shader/async_shaders.h
|
2019-08-16 20:25:02 +00:00
|
|
|
shader/compiler_settings.cpp
|
|
|
|
shader/compiler_settings.h
|
2019-09-23 18:02:02 +00:00
|
|
|
shader/control_flow.cpp
|
|
|
|
shader/control_flow.h
|
2018-12-20 22:09:21 +00:00
|
|
|
shader/decode.cpp
|
2019-06-29 00:54:21 +00:00
|
|
|
shader/expr.cpp
|
2019-06-27 04:39:40 +00:00
|
|
|
shader/expr.h
|
2020-04-24 04:44:14 +00:00
|
|
|
shader/memory_util.cpp
|
|
|
|
shader/memory_util.h
|
2019-06-05 01:44:06 +00:00
|
|
|
shader/node_helper.cpp
|
|
|
|
shader/node_helper.h
|
2019-06-06 22:31:14 +00:00
|
|
|
shader/node.h
|
2020-02-28 23:53:10 +00:00
|
|
|
shader/registry.cpp
|
|
|
|
shader/registry.h
|
2018-12-20 22:09:21 +00:00
|
|
|
shader/shader_ir.cpp
|
|
|
|
shader/shader_ir.h
|
2018-12-29 05:44:54 +00:00
|
|
|
shader/track.cpp
|
2020-03-02 21:54:08 +00:00
|
|
|
shader/transform_feedback.cpp
|
|
|
|
shader/transform_feedback.h
|
2018-10-29 01:14:25 +00:00
|
|
|
surface.cpp
|
|
|
|
surface.h
|
2019-11-09 06:26:30 +00:00
|
|
|
texture_cache/format_lookup_table.cpp
|
|
|
|
texture_cache/format_lookup_table.h
|
2019-04-24 19:35:54 +00:00
|
|
|
texture_cache/surface_base.cpp
|
|
|
|
texture_cache/surface_base.h
|
|
|
|
texture_cache/surface_params.cpp
|
|
|
|
texture_cache/surface_params.h
|
|
|
|
texture_cache/surface_view.cpp
|
|
|
|
texture_cache/surface_view.h
|
|
|
|
texture_cache/texture_cache.h
|
2018-06-18 03:50:44 +00:00
|
|
|
textures/astc.cpp
|
|
|
|
textures/astc.h
|
2019-02-24 01:45:47 +00:00
|
|
|
textures/convert.cpp
|
|
|
|
textures/convert.h
|
2018-03-19 23:00:29 +00:00
|
|
|
textures/decoders.cpp
|
|
|
|
textures/decoders.h
|
2020-04-07 23:38:14 +00:00
|
|
|
textures/texture.cpp
|
2018-03-19 23:00:29 +00:00
|
|
|
textures/texture.h
|
2018-01-18 00:37:34 +00:00
|
|
|
video_core.cpp
|
|
|
|
video_core.h
|
|
|
|
)
|
2014-04-05 20:04:25 +00:00
|
|
|
|
2018-01-18 00:37:34 +00:00
|
|
|
create_target_directory_groups(video_core)
|
2014-08-24 01:22:05 +00:00
|
|
|
|
2017-05-28 01:26:55 +00:00
|
|
|
target_link_libraries(video_core PUBLIC common core)
|
2020-05-30 00:55:27 +00:00
|
|
|
target_link_libraries(video_core PRIVATE glad xbyak)
|
2020-03-30 08:21:59 +00:00
|
|
|
|
2020-10-27 03:07:36 +00:00
|
|
|
if (MSVC)
|
|
|
|
target_include_directories(video_core PRIVATE ${FFMPEG_INCLUDE_DIR})
|
|
|
|
target_link_libraries(video_core PUBLIC ${FFMPEG_LIBRARY_DIR}/swscale.lib ${FFMPEG_LIBRARY_DIR}/avcodec.lib ${FFMPEG_LIBRARY_DIR}/avutil.lib)
|
|
|
|
else()
|
|
|
|
target_include_directories(video_core PRIVATE ${FFMPEG_INCLUDE_DIR})
|
|
|
|
target_link_libraries(video_core PRIVATE ${FFMPEG_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
2020-08-24 00:28:15 +00:00
|
|
|
add_dependencies(video_core host_shaders)
|
|
|
|
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
|
2020-12-24 23:22:07 +00:00
|
|
|
target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
|
|
|
|
target_link_libraries(video_core PRIVATE sirit)
|
2019-11-08 20:14:21 +00:00
|
|
|
|
2020-03-30 08:21:59 +00:00
|
|
|
if (ENABLE_NSIGHT_AFTERMATH)
|
|
|
|
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
|
|
|
|
message(ERROR "Environment variable NSIGHT_AFTERMATH_SDK has to be provided")
|
|
|
|
endif()
|
|
|
|
if (NOT WIN32)
|
|
|
|
message(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()
|
|
|
|
|
2019-11-08 20:14:21 +00:00
|
|
|
if (MSVC)
|
2020-12-05 16:40:14 +00:00
|
|
|
target_compile_options(video_core PRIVATE
|
|
|
|
/we4267 # 'var' : conversion from 'size_t' to 'type', possible loss of data
|
|
|
|
/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 20:14:21 +00:00
|
|
|
else()
|
2020-10-03 00:19:35 +00:00
|
|
|
target_compile_options(video_core PRIVATE
|
|
|
|
-Werror=conversion
|
|
|
|
-Wno-error=sign-conversion
|
2020-10-28 05:25:40 +00:00
|
|
|
-Werror=pessimizing-move
|
|
|
|
-Werror=redundant-move
|
2020-12-05 16:40:14 +00:00
|
|
|
-Werror=shadow
|
2020-10-03 00:19:35 +00:00
|
|
|
-Werror=switch
|
2020-10-28 05:31:30 +00:00
|
|
|
-Werror=type-limits
|
2020-10-03 00:19:35 +00:00
|
|
|
-Werror=unused-variable
|
2020-10-20 23:24:28 +00: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 00:19:35 +00:00
|
|
|
)
|
2019-11-08 20:14:21 +00:00
|
|
|
endif()
|