yuzu/src/shader_recompiler/CMakeLists.txt

208 lines
9.4 KiB
CMake
Raw Normal View History

2021-02-17 06:59:28 +03:00
add_library(shader_recompiler STATIC
2021-02-16 10:10:22 +03:00
backend/spirv/emit_context.cpp
backend/spirv/emit_context.h
2021-02-08 08:54:35 +03:00
backend/spirv/emit_spirv.cpp
2021-02-06 05:11:23 +03:00
backend/spirv/emit_spirv.h
2021-04-02 20:27:30 +03:00
backend/spirv/emit_spirv_barriers.cpp
2021-02-08 08:54:35 +03:00
backend/spirv/emit_spirv_bitwise_conversion.cpp
backend/spirv/emit_spirv_composite.cpp
backend/spirv/emit_spirv_context_get_set.cpp
backend/spirv/emit_spirv_control_flow.cpp
2021-02-20 00:10:18 +03:00
backend/spirv/emit_spirv_convert.cpp
2021-02-08 08:54:35 +03:00
backend/spirv/emit_spirv_floating_point.cpp
backend/spirv/emit_spirv_image.cpp
2021-02-08 08:54:35 +03:00
backend/spirv/emit_spirv_integer.cpp
backend/spirv/emit_spirv_logical.cpp
backend/spirv/emit_spirv_memory.cpp
backend/spirv/emit_spirv_select.cpp
backend/spirv/emit_spirv_shared_memory.cpp
backend/spirv/emit_spirv_special.cpp
2021-02-08 08:54:35 +03:00
backend/spirv/emit_spirv_undefined.cpp
2021-03-25 18:31:37 +03:00
backend/spirv/emit_spirv_warp.cpp
2021-01-09 09:30:07 +03:00
environment.h
exception.h
file_environment.cpp
file_environment.h
frontend/ir/attribute.cpp
frontend/ir/attribute.h
frontend/ir/basic_block.cpp
frontend/ir/basic_block.h
frontend/ir/breadth_first_search.h
2021-01-09 09:30:07 +03:00
frontend/ir/condition.cpp
frontend/ir/condition.h
frontend/ir/flow_test.cpp
frontend/ir/flow_test.h
frontend/ir/ir_emitter.cpp
frontend/ir/ir_emitter.h
frontend/ir/microinstruction.cpp
frontend/ir/microinstruction.h
2021-02-20 09:30:13 +03:00
frontend/ir/modifiers.h
2021-02-06 05:11:23 +03:00
frontend/ir/opcodes.cpp
frontend/ir/opcodes.h
frontend/ir/opcodes.inc
2021-02-15 02:15:42 +03:00
frontend/ir/post_order.cpp
frontend/ir/post_order.h
2021-01-09 09:30:07 +03:00
frontend/ir/pred.h
2021-02-06 05:11:23 +03:00
frontend/ir/program.cpp
frontend/ir/program.h
2021-01-09 09:30:07 +03:00
frontend/ir/reg.h
frontend/ir/type.cpp
frontend/ir/type.h
frontend/ir/value.cpp
frontend/ir/value.h
frontend/maxwell/control_flow.cpp
frontend/maxwell/control_flow.h
frontend/maxwell/decode.cpp
frontend/maxwell/decode.h
2021-03-28 00:30:24 +03:00
frontend/maxwell/indirect_branch_table_track.cpp
frontend/maxwell/indirect_branch_table_track.h
2021-01-09 09:30:07 +03:00
frontend/maxwell/instruction.h
frontend/maxwell/location.h
frontend/maxwell/maxwell.inc
2021-02-06 05:11:23 +03:00
frontend/maxwell/opcodes.cpp
frontend/maxwell/opcodes.h
2021-01-09 09:30:07 +03:00
frontend/maxwell/program.cpp
frontend/maxwell/program.h
frontend/maxwell/structured_control_flow.cpp
frontend/maxwell/structured_control_flow.h
2021-04-04 03:42:58 +03:00
frontend/maxwell/translate/impl/attribute_memory_to_physical.cpp
2021-04-02 20:27:30 +03:00
frontend/maxwell/translate/impl/barrier_operations.cpp
2021-02-27 09:45:13 +03:00
frontend/maxwell/translate/impl/bitfield_extract.cpp
2021-02-28 00:37:49 +03:00
frontend/maxwell/translate/impl/bitfield_insert.cpp
2021-03-28 00:30:24 +03:00
frontend/maxwell/translate/impl/branch_indirect.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/common_encoding.h
frontend/maxwell/translate/impl/common_funcs.cpp
frontend/maxwell/translate/impl/common_funcs.h
2021-03-17 07:53:53 +03:00
frontend/maxwell/translate/impl/condition_code_set.cpp
2021-03-18 09:53:57 +03:00
frontend/maxwell/translate/impl/double_add.cpp
2021-03-22 02:28:37 +03:00
frontend/maxwell/translate/impl/double_compare_and_set.cpp
frontend/maxwell/translate/impl/double_fused_multiply_add.cpp
2021-03-22 02:28:37 +03:00
frontend/maxwell/translate/impl/double_min_max.cpp
frontend/maxwell/translate/impl/double_multiply.cpp
2021-03-22 02:28:37 +03:00
frontend/maxwell/translate/impl/double_set_predicate.cpp
frontend/maxwell/translate/impl/exit_program.cpp
2021-03-01 23:58:16 +03:00
frontend/maxwell/translate/impl/find_leading_one.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/floating_point_add.cpp
frontend/maxwell/translate/impl/floating_point_compare.cpp
frontend/maxwell/translate/impl/floating_point_compare_and_set.cpp
2021-03-21 11:32:16 +03:00
frontend/maxwell/translate/impl/floating_point_conversion_floating_point.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/impl/floating_point_conversion_integer.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/floating_point_fused_multiply_add.cpp
frontend/maxwell/translate/impl/floating_point_min_max.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/impl/floating_point_multi_function.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/floating_point_multiply.cpp
frontend/maxwell/translate/impl/floating_point_range_reduction.cpp
frontend/maxwell/translate/impl/floating_point_set_predicate.cpp
2021-03-29 05:23:45 +03:00
frontend/maxwell/translate/impl/floating_point_swizzled_add.cpp
2021-03-03 09:07:19 +03:00
frontend/maxwell/translate/impl/half_floating_point_add.cpp
2021-03-21 03:03:21 +03:00
frontend/maxwell/translate/impl/half_floating_point_fused_multiply_add.cpp
frontend/maxwell/translate/impl/half_floating_point_helper.cpp
frontend/maxwell/translate/impl/half_floating_point_helper.h
2021-03-21 04:08:04 +03:00
frontend/maxwell/translate/impl/half_floating_point_multiply.cpp
2021-03-21 06:24:30 +03:00
frontend/maxwell/translate/impl/half_floating_point_set_predicate.cpp
2021-03-21 05:48:40 +03:00
frontend/maxwell/translate/impl/half_floating_point_set.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/impl/impl.cpp
frontend/maxwell/translate/impl/impl.h
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/integer_add.cpp
2021-03-02 22:59:28 +03:00
frontend/maxwell/translate/impl/integer_add_three_input.cpp
2021-03-01 08:18:30 +03:00
frontend/maxwell/translate/impl/integer_compare.cpp
frontend/maxwell/translate/impl/integer_compare_and_set.cpp
2021-03-20 11:04:12 +03:00
frontend/maxwell/translate/impl/integer_floating_point_conversion.cpp
2021-03-07 22:48:03 +03:00
frontend/maxwell/translate/impl/integer_funnel_shift.cpp
2021-03-01 07:33:53 +03:00
frontend/maxwell/translate/impl/integer_minimum_maximum.cpp
2021-02-27 05:41:46 +03:00
frontend/maxwell/translate/impl/integer_popcount.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/integer_scaled_add.cpp
frontend/maxwell/translate/impl/integer_set_predicate.cpp
frontend/maxwell/translate/impl/integer_shift_left.cpp
2021-02-25 08:46:40 +03:00
frontend/maxwell/translate/impl/integer_shift_right.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/integer_short_multiply_add.cpp
2021-03-04 09:02:44 +03:00
frontend/maxwell/translate/impl/integer_to_integer_conversion.cpp
2021-03-09 23:14:57 +03:00
frontend/maxwell/translate/impl/load_constant.cpp
2021-03-28 00:30:24 +03:00
frontend/maxwell/translate/impl/load_constant.h
2021-03-05 09:15:16 +03:00
frontend/maxwell/translate/impl/load_effective_address.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/impl/load_store_attribute.cpp
frontend/maxwell/translate/impl/load_store_local_shared.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/impl/load_store_memory.cpp
2021-03-03 08:41:05 +03:00
frontend/maxwell/translate/impl/logic_operation.cpp
frontend/maxwell/translate/impl/logic_operation_three_input.cpp
frontend/maxwell/translate/impl/move_predicate_to_register.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/move_register.cpp
2021-03-08 06:01:22 +03:00
frontend/maxwell/translate/impl/move_register_to_predicate.cpp
2021-02-03 22:43:04 +03:00
frontend/maxwell/translate/impl/move_special_register.cpp
frontend/maxwell/translate/impl/not_implemented.cpp
2021-03-02 21:42:09 +03:00
frontend/maxwell/translate/impl/predicate_set_predicate.cpp
frontend/maxwell/translate/impl/predicate_set_register.cpp
2021-02-25 04:31:15 +03:00
frontend/maxwell/translate/impl/select_source_with_predicate.cpp
2021-03-15 10:54:43 +03:00
frontend/maxwell/translate/impl/texture_fetch.cpp
frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
2021-03-25 21:59:35 +03:00
frontend/maxwell/translate/impl/texture_gather_swizzled.cpp
2021-03-25 01:41:55 +03:00
frontend/maxwell/translate/impl/texture_gather.cpp
2021-03-29 03:52:52 +03:00
frontend/maxwell/translate/impl/texture_gradient.cpp
2021-03-27 03:45:20 +03:00
frontend/maxwell/translate/impl/texture_load_swizzled.cpp
2021-03-26 22:51:05 +03:00
frontend/maxwell/translate/impl/texture_load.cpp
2021-03-28 22:25:08 +03:00
frontend/maxwell/translate/impl/texture_mipmap_level.cpp
frontend/maxwell/translate/impl/texture_query.cpp
2021-03-28 02:47:00 +03:00
frontend/maxwell/translate/impl/video_helper.cpp
frontend/maxwell/translate/impl/video_helper.h
frontend/maxwell/translate/impl/video_minimum_maximum.cpp
frontend/maxwell/translate/impl/video_multiply_add.cpp
frontend/maxwell/translate/impl/video_set_predicate.cpp
2021-03-24 03:27:17 +03:00
frontend/maxwell/translate/impl/vote.cpp
2021-03-25 18:31:37 +03:00
frontend/maxwell/translate/impl/warp_shuffle.cpp
2021-01-09 09:30:07 +03:00
frontend/maxwell/translate/translate.cpp
frontend/maxwell/translate/translate.h
2021-02-16 10:10:22 +03:00
ir_opt/collect_shader_info_pass.cpp
ir_opt/constant_propagation_pass.cpp
2021-01-09 09:30:07 +03:00
ir_opt/dead_code_elimination_pass.cpp
ir_opt/global_memory_to_storage_buffer_pass.cpp
2021-01-09 09:30:07 +03:00
ir_opt/identity_removal_pass.cpp
2021-02-20 00:10:18 +03:00
ir_opt/lower_fp16_to_fp32.cpp
2021-01-09 09:30:07 +03:00
ir_opt/passes.h
2021-02-03 03:07:00 +03:00
ir_opt/ssa_rewrite_pass.cpp
ir_opt/texture_pass.cpp
2021-01-09 09:30:07 +03:00
ir_opt/verification_pass.cpp
2021-02-06 05:11:23 +03:00
object_pool.h
program_header.h
2021-02-17 06:59:28 +03:00
profile.h
2021-02-16 10:10:22 +03:00
shader_info.h
2021-01-09 09:30:07 +03:00
)
2021-02-08 08:54:35 +03:00
2021-02-20 09:30:13 +03:00
target_link_libraries(shader_recompiler PUBLIC fmt::fmt sirit)
2021-02-17 06:59:28 +03:00
add_executable(shader_util main.cpp)
target_link_libraries(shader_util PRIVATE shader_recompiler)
2021-01-09 09:30:07 +03:00
if (MSVC)
target_compile_options(shader_recompiler PRIVATE
/W4
/WX
/we4018 # 'expression' : signed/unsigned mismatch
/we4244 # 'argument' : conversion from 'type1' to 'type2', possible loss of data (floating-point)
/we4245 # 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
/we4267 # 'var' : conversion from 'size_t' to 'type', possible loss of data
/we4305 # 'context' : truncation from 'type1' to 'type2'
/we4800 # Implicit conversion from 'type' to bool. Possible information loss
/we4826 # Conversion from 'type1' to 'type2' is sign-extended. This may cause unexpected runtime behavior.
)
else()
target_compile_options(shader_recompiler PRIVATE
-Werror
-Werror=conversion
-Werror=ignored-qualifiers
-Werror=implicit-fallthrough
-Werror=shadow
-Werror=sign-compare
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
-Werror=unused-variable
# Bracket depth determines maximum size of a fold expression in Clang since 9c9974c3ccb6.
# And this in turns limits the size of a std::array.
$<$<CXX_COMPILER_ID:Clang>:-fbracket-depth=1024>
2021-01-09 09:30:07 +03:00
)
endif()
create_target_directory_groups(shader_recompiler)
2021-02-17 06:59:28 +03:00
create_target_directory_groups(shader_util)