2021-02-16 22:59:28 -05:00
|
|
|
add_library(shader_recompiler STATIC
|
2021-02-16 02:10:22 -05:00
|
|
|
backend/spirv/emit_context.cpp
|
|
|
|
backend/spirv/emit_context.h
|
2021-02-08 00:54:35 -05:00
|
|
|
backend/spirv/emit_spirv.cpp
|
2021-02-05 21:11:23 -05:00
|
|
|
backend/spirv/emit_spirv.h
|
2021-02-08 00:54:35 -05: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-19 16:10:18 -05:00
|
|
|
backend/spirv/emit_spirv_convert.cpp
|
2021-02-08 00:54:35 -05:00
|
|
|
backend/spirv/emit_spirv_floating_point.cpp
|
2021-03-08 16:31:53 -05:00
|
|
|
backend/spirv/emit_spirv_image.cpp
|
2021-02-08 00:54:35 -05: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
|
2021-03-24 00:33:45 -04:00
|
|
|
backend/spirv/emit_spirv_special.cpp
|
2021-02-08 00:54:35 -05:00
|
|
|
backend/spirv/emit_spirv_undefined.cpp
|
2021-03-25 11:31:37 -04:00
|
|
|
backend/spirv/emit_spirv_warp.cpp
|
2021-01-09 01:30:07 -05: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/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 01:30:13 -05:00
|
|
|
frontend/ir/modifiers.h
|
2021-02-05 21:11:23 -05:00
|
|
|
frontend/ir/opcodes.cpp
|
|
|
|
frontend/ir/opcodes.h
|
|
|
|
frontend/ir/opcodes.inc
|
2021-02-14 18:15:42 -05:00
|
|
|
frontend/ir/post_order.cpp
|
|
|
|
frontend/ir/post_order.h
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/ir/pred.h
|
2021-02-05 21:11:23 -05:00
|
|
|
frontend/ir/program.cpp
|
|
|
|
frontend/ir/program.h
|
2021-01-09 01:30:07 -05: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
|
|
|
|
frontend/maxwell/instruction.h
|
|
|
|
frontend/maxwell/location.h
|
|
|
|
frontend/maxwell/maxwell.inc
|
2021-02-05 21:11:23 -05:00
|
|
|
frontend/maxwell/opcodes.cpp
|
|
|
|
frontend/maxwell/opcodes.h
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/program.cpp
|
|
|
|
frontend/maxwell/program.h
|
2021-03-14 01:41:05 -05:00
|
|
|
frontend/maxwell/structured_control_flow.cpp
|
|
|
|
frontend/maxwell/structured_control_flow.h
|
2021-02-27 01:45:13 -05:00
|
|
|
frontend/maxwell/translate/impl/bitfield_extract.cpp
|
2021-02-27 16:37:49 -05:00
|
|
|
frontend/maxwell/translate/impl/bitfield_insert.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/common_encoding.h
|
2021-03-01 01:30:09 -05:00
|
|
|
frontend/maxwell/translate/impl/common_funcs.cpp
|
|
|
|
frontend/maxwell/translate/impl/common_funcs.h
|
2021-03-17 00:53:53 -04:00
|
|
|
frontend/maxwell/translate/impl/condition_code_set.cpp
|
2021-03-18 02:53:57 -04:00
|
|
|
frontend/maxwell/translate/impl/double_add.cpp
|
2021-03-21 19:28:37 -04:00
|
|
|
frontend/maxwell/translate/impl/double_compare_and_set.cpp
|
2021-03-21 02:09:14 -04:00
|
|
|
frontend/maxwell/translate/impl/double_fused_multiply_add.cpp
|
2021-03-21 19:28:37 -04:00
|
|
|
frontend/maxwell/translate/impl/double_min_max.cpp
|
2021-03-21 02:09:14 -04:00
|
|
|
frontend/maxwell/translate/impl/double_multiply.cpp
|
2021-03-21 19:28:37 -04:00
|
|
|
frontend/maxwell/translate/impl/double_set_predicate.cpp
|
2021-03-19 18:28:31 -04:00
|
|
|
frontend/maxwell/translate/impl/exit_program.cpp
|
2021-03-01 15:58:16 -05:00
|
|
|
frontend/maxwell/translate/impl/find_leading_one.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_add.cpp
|
2021-03-10 22:42:17 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_compare.cpp
|
2021-03-16 00:57:07 -04:00
|
|
|
frontend/maxwell/translate/impl/floating_point_compare_and_set.cpp
|
2021-03-21 04:32:16 -04:00
|
|
|
frontend/maxwell/translate/impl/floating_point_conversion_floating_point.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_conversion_integer.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_fused_multiply_add.cpp
|
2021-03-14 01:23:56 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_min_max.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_multi_function.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_multiply.cpp
|
2021-02-22 20:59:16 -05:00
|
|
|
frontend/maxwell/translate/impl/floating_point_range_reduction.cpp
|
2021-03-16 00:57:07 -04:00
|
|
|
frontend/maxwell/translate/impl/floating_point_set_predicate.cpp
|
2021-03-03 01:07:19 -05:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_add.cpp
|
2021-03-20 20:03:21 -04:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_fused_multiply_add.cpp
|
2021-03-20 16:22:21 -04:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_helper.cpp
|
|
|
|
frontend/maxwell/translate/impl/half_floating_point_helper.h
|
2021-03-20 21:08:04 -04:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_multiply.cpp
|
2021-03-20 23:24:30 -04:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_set_predicate.cpp
|
2021-03-20 22:48:40 -04:00
|
|
|
frontend/maxwell/translate/impl/half_floating_point_set.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/translate/impl/impl.cpp
|
|
|
|
frontend/maxwell/translate/impl/impl.h
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_add.cpp
|
2021-03-02 14:59:28 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_add_three_input.cpp
|
2021-03-01 00:18:30 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_compare.cpp
|
2021-03-01 01:30:09 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_compare_and_set.cpp
|
2021-03-20 04:04:12 -04:00
|
|
|
frontend/maxwell/translate/impl/integer_floating_point_conversion.cpp
|
2021-03-07 14:48:03 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_funnel_shift.cpp
|
2021-02-28 23:33:53 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_minimum_maximum.cpp
|
2021-02-26 21:41:46 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_popcount.cpp
|
2021-02-03 14:43:04 -05: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 00:46:40 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_shift_right.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_short_multiply_add.cpp
|
2021-03-04 01:02:44 -05:00
|
|
|
frontend/maxwell/translate/impl/integer_to_integer_conversion.cpp
|
2021-03-09 15:14:57 -05:00
|
|
|
frontend/maxwell/translate/impl/load_constant.cpp
|
2021-03-05 01:15:16 -05:00
|
|
|
frontend/maxwell/translate/impl/load_effective_address.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/translate/impl/load_store_attribute.cpp
|
|
|
|
frontend/maxwell/translate/impl/load_store_memory.cpp
|
2021-03-03 00:41:05 -05:00
|
|
|
frontend/maxwell/translate/impl/logic_operation.cpp
|
|
|
|
frontend/maxwell/translate/impl/logic_operation_three_input.cpp
|
2021-02-21 15:50:14 -05:00
|
|
|
frontend/maxwell/translate/impl/move_predicate_to_register.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/move_register.cpp
|
2021-03-07 22:01:22 -05:00
|
|
|
frontend/maxwell/translate/impl/move_register_to_predicate.cpp
|
2021-02-03 14:43:04 -05:00
|
|
|
frontend/maxwell/translate/impl/move_special_register.cpp
|
2021-02-21 15:50:14 -05:00
|
|
|
frontend/maxwell/translate/impl/not_implemented.cpp
|
2021-03-02 13:42:09 -05:00
|
|
|
frontend/maxwell/translate/impl/predicate_set_predicate.cpp
|
|
|
|
frontend/maxwell/translate/impl/predicate_set_register.cpp
|
2021-02-24 20:31:15 -05:00
|
|
|
frontend/maxwell/translate/impl/select_source_with_predicate.cpp
|
2021-03-15 03:54:43 -04:00
|
|
|
frontend/maxwell/translate/impl/texture_fetch.cpp
|
|
|
|
frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
|
2021-03-25 14:59:35 -04:00
|
|
|
frontend/maxwell/translate/impl/texture_gather_swizzled.cpp
|
2021-03-24 18:41:55 -04:00
|
|
|
frontend/maxwell/translate/impl/texture_gather.cpp
|
2021-03-23 20:27:17 -04:00
|
|
|
frontend/maxwell/translate/impl/vote.cpp
|
2021-03-25 11:31:37 -04:00
|
|
|
frontend/maxwell/translate/impl/warp_shuffle.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
frontend/maxwell/translate/translate.cpp
|
|
|
|
frontend/maxwell/translate/translate.h
|
2021-02-16 02:10:22 -05:00
|
|
|
ir_opt/collect_shader_info_pass.cpp
|
2021-02-05 03:58:02 -05:00
|
|
|
ir_opt/constant_propagation_pass.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
ir_opt/dead_code_elimination_pass.cpp
|
2021-02-05 03:58:02 -05:00
|
|
|
ir_opt/global_memory_to_storage_buffer_pass.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
ir_opt/identity_removal_pass.cpp
|
2021-02-19 16:10:18 -05:00
|
|
|
ir_opt/lower_fp16_to_fp32.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
ir_opt/passes.h
|
2021-02-02 19:07:00 -05:00
|
|
|
ir_opt/ssa_rewrite_pass.cpp
|
2021-03-08 16:31:53 -05:00
|
|
|
ir_opt/texture_pass.cpp
|
2021-01-09 01:30:07 -05:00
|
|
|
ir_opt/verification_pass.cpp
|
2021-02-05 21:11:23 -05:00
|
|
|
object_pool.h
|
2021-03-19 18:28:31 -04:00
|
|
|
program_header.h
|
2021-02-16 22:59:28 -05:00
|
|
|
profile.h
|
2021-02-16 02:10:22 -05:00
|
|
|
shader_info.h
|
2021-01-09 01:30:07 -05:00
|
|
|
)
|
2021-02-08 00:54:35 -05:00
|
|
|
|
2021-02-20 01:30:13 -05:00
|
|
|
target_link_libraries(shader_recompiler PUBLIC fmt::fmt sirit)
|
2021-02-16 22:59:28 -05:00
|
|
|
|
|
|
|
add_executable(shader_util main.cpp)
|
|
|
|
target_link_libraries(shader_util PRIVATE shader_recompiler)
|
2021-01-09 01:30:07 -05: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
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
create_target_directory_groups(shader_recompiler)
|
2021-02-16 22:59:28 -05:00
|
|
|
create_target_directory_groups(shader_util)
|