| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
- # SPDX-License-Identifier: GPL-2.0-or-later
- add_library(shader_recompiler STATIC
- backend/bindings.h
- backend/glasm/emit_glasm.cpp
- backend/glasm/emit_glasm.h
- backend/glasm/emit_glasm_barriers.cpp
- backend/glasm/emit_glasm_bitwise_conversion.cpp
- backend/glasm/emit_glasm_composite.cpp
- backend/glasm/emit_glasm_context_get_set.cpp
- backend/glasm/emit_glasm_control_flow.cpp
- backend/glasm/emit_glasm_convert.cpp
- backend/glasm/emit_glasm_floating_point.cpp
- backend/glasm/emit_glasm_image.cpp
- backend/glasm/emit_glasm_instructions.h
- backend/glasm/emit_glasm_integer.cpp
- backend/glasm/emit_glasm_logical.cpp
- backend/glasm/emit_glasm_memory.cpp
- backend/glasm/emit_glasm_not_implemented.cpp
- backend/glasm/emit_glasm_select.cpp
- backend/glasm/emit_glasm_shared_memory.cpp
- backend/glasm/emit_glasm_special.cpp
- backend/glasm/emit_glasm_undefined.cpp
- backend/glasm/emit_glasm_warp.cpp
- backend/glasm/glasm_emit_context.cpp
- backend/glasm/glasm_emit_context.h
- backend/glasm/reg_alloc.cpp
- backend/glasm/reg_alloc.h
- backend/glsl/emit_glsl.cpp
- backend/glsl/emit_glsl.h
- backend/glsl/emit_glsl_atomic.cpp
- backend/glsl/emit_glsl_barriers.cpp
- backend/glsl/emit_glsl_bitwise_conversion.cpp
- backend/glsl/emit_glsl_composite.cpp
- backend/glsl/emit_glsl_context_get_set.cpp
- backend/glsl/emit_glsl_control_flow.cpp
- backend/glsl/emit_glsl_convert.cpp
- backend/glsl/emit_glsl_floating_point.cpp
- backend/glsl/emit_glsl_image.cpp
- backend/glsl/emit_glsl_instructions.h
- backend/glsl/emit_glsl_integer.cpp
- backend/glsl/emit_glsl_logical.cpp
- backend/glsl/emit_glsl_memory.cpp
- backend/glsl/emit_glsl_not_implemented.cpp
- backend/glsl/emit_glsl_select.cpp
- backend/glsl/emit_glsl_shared_memory.cpp
- backend/glsl/emit_glsl_special.cpp
- backend/glsl/emit_glsl_undefined.cpp
- backend/glsl/emit_glsl_warp.cpp
- backend/glsl/glsl_emit_context.cpp
- backend/glsl/glsl_emit_context.h
- backend/glsl/var_alloc.cpp
- backend/glsl/var_alloc.h
- backend/spirv/emit_spirv.cpp
- backend/spirv/emit_spirv.h
- backend/spirv/emit_spirv_atomic.cpp
- backend/spirv/emit_spirv_barriers.cpp
- 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
- backend/spirv/emit_spirv_convert.cpp
- backend/spirv/emit_spirv_floating_point.cpp
- backend/spirv/emit_spirv_image.cpp
- backend/spirv/emit_spirv_image_atomic.cpp
- backend/spirv/emit_spirv_instructions.h
- 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
- backend/spirv/emit_spirv_undefined.cpp
- backend/spirv/emit_spirv_warp.cpp
- backend/spirv/spirv_emit_context.cpp
- backend/spirv/spirv_emit_context.h
- environment.h
- exception.h
- frontend/ir/abstract_syntax_list.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
- 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/modifiers.h
- frontend/ir/opcodes.cpp
- frontend/ir/opcodes.h
- frontend/ir/opcodes.inc
- frontend/ir/patch.cpp
- frontend/ir/patch.h
- frontend/ir/post_order.cpp
- frontend/ir/post_order.h
- frontend/ir/pred.h
- frontend/ir/program.cpp
- frontend/ir/program.h
- 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/indirect_branch_table_track.cpp
- frontend/maxwell/indirect_branch_table_track.h
- frontend/maxwell/instruction.h
- frontend/maxwell/location.h
- frontend/maxwell/maxwell.inc
- frontend/maxwell/opcodes.cpp
- frontend/maxwell/opcodes.h
- frontend/maxwell/structured_control_flow.cpp
- frontend/maxwell/structured_control_flow.h
- frontend/maxwell/translate/impl/atomic_operations_global_memory.cpp
- frontend/maxwell/translate/impl/atomic_operations_shared_memory.cpp
- frontend/maxwell/translate/impl/attribute_memory_to_physical.cpp
- frontend/maxwell/translate/impl/barrier_operations.cpp
- frontend/maxwell/translate/impl/bitfield_extract.cpp
- frontend/maxwell/translate/impl/bitfield_insert.cpp
- frontend/maxwell/translate/impl/branch_indirect.cpp
- frontend/maxwell/translate/impl/common_encoding.h
- frontend/maxwell/translate/impl/common_funcs.cpp
- frontend/maxwell/translate/impl/common_funcs.h
- frontend/maxwell/translate/impl/condition_code_set.cpp
- frontend/maxwell/translate/impl/double_add.cpp
- frontend/maxwell/translate/impl/double_compare_and_set.cpp
- frontend/maxwell/translate/impl/double_fused_multiply_add.cpp
- frontend/maxwell/translate/impl/double_min_max.cpp
- frontend/maxwell/translate/impl/double_multiply.cpp
- frontend/maxwell/translate/impl/double_set_predicate.cpp
- frontend/maxwell/translate/impl/exit_program.cpp
- frontend/maxwell/translate/impl/find_leading_one.cpp
- 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
- frontend/maxwell/translate/impl/floating_point_conversion_floating_point.cpp
- frontend/maxwell/translate/impl/floating_point_conversion_integer.cpp
- frontend/maxwell/translate/impl/floating_point_fused_multiply_add.cpp
- frontend/maxwell/translate/impl/floating_point_min_max.cpp
- frontend/maxwell/translate/impl/floating_point_multi_function.cpp
- 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
- frontend/maxwell/translate/impl/floating_point_swizzled_add.cpp
- frontend/maxwell/translate/impl/half_floating_point_add.cpp
- 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
- frontend/maxwell/translate/impl/half_floating_point_multiply.cpp
- frontend/maxwell/translate/impl/half_floating_point_set.cpp
- frontend/maxwell/translate/impl/half_floating_point_set_predicate.cpp
- frontend/maxwell/translate/impl/impl.cpp
- frontend/maxwell/translate/impl/impl.h
- frontend/maxwell/translate/impl/integer_add.cpp
- frontend/maxwell/translate/impl/integer_add_three_input.cpp
- frontend/maxwell/translate/impl/integer_compare.cpp
- frontend/maxwell/translate/impl/integer_compare_and_set.cpp
- frontend/maxwell/translate/impl/integer_floating_point_conversion.cpp
- frontend/maxwell/translate/impl/integer_funnel_shift.cpp
- frontend/maxwell/translate/impl/integer_minimum_maximum.cpp
- frontend/maxwell/translate/impl/integer_popcount.cpp
- frontend/maxwell/translate/impl/integer_scaled_add.cpp
- frontend/maxwell/translate/impl/integer_set_predicate.cpp
- frontend/maxwell/translate/impl/integer_shift_left.cpp
- frontend/maxwell/translate/impl/integer_shift_right.cpp
- frontend/maxwell/translate/impl/integer_short_multiply_add.cpp
- frontend/maxwell/translate/impl/integer_to_integer_conversion.cpp
- frontend/maxwell/translate/impl/internal_stage_buffer_entry_read.cpp
- frontend/maxwell/translate/impl/load_constant.cpp
- frontend/maxwell/translate/impl/load_constant.h
- frontend/maxwell/translate/impl/load_effective_address.cpp
- frontend/maxwell/translate/impl/load_store_attribute.cpp
- frontend/maxwell/translate/impl/load_store_local_shared.cpp
- frontend/maxwell/translate/impl/load_store_memory.cpp
- 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
- frontend/maxwell/translate/impl/move_register.cpp
- frontend/maxwell/translate/impl/move_register_to_predicate.cpp
- frontend/maxwell/translate/impl/move_special_register.cpp
- frontend/maxwell/translate/impl/not_implemented.cpp
- frontend/maxwell/translate/impl/output_geometry.cpp
- frontend/maxwell/translate/impl/pixel_load.cpp
- frontend/maxwell/translate/impl/predicate_set_predicate.cpp
- frontend/maxwell/translate/impl/predicate_set_register.cpp
- frontend/maxwell/translate/impl/select_source_with_predicate.cpp
- frontend/maxwell/translate/impl/surface_atomic_operations.cpp
- frontend/maxwell/translate/impl/surface_load_store.cpp
- frontend/maxwell/translate/impl/texture_fetch.cpp
- frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
- frontend/maxwell/translate/impl/texture_gather.cpp
- frontend/maxwell/translate/impl/texture_gather_swizzled.cpp
- frontend/maxwell/translate/impl/texture_gradient.cpp
- frontend/maxwell/translate/impl/texture_load.cpp
- frontend/maxwell/translate/impl/texture_load_swizzled.cpp
- frontend/maxwell/translate/impl/texture_mipmap_level.cpp
- frontend/maxwell/translate/impl/texture_query.cpp
- 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
- frontend/maxwell/translate/impl/vote.cpp
- frontend/maxwell/translate/impl/warp_shuffle.cpp
- frontend/maxwell/translate/translate.cpp
- frontend/maxwell/translate/translate.h
- frontend/maxwell/translate_program.cpp
- frontend/maxwell/translate_program.h
- host_translate_info.h
- ir_opt/collect_shader_info_pass.cpp
- ir_opt/constant_propagation_pass.cpp
- ir_opt/dead_code_elimination_pass.cpp
- ir_opt/dual_vertex_pass.cpp
- ir_opt/global_memory_to_storage_buffer_pass.cpp
- ir_opt/identity_removal_pass.cpp
- ir_opt/layer_pass.cpp
- ir_opt/lower_fp16_to_fp32.cpp
- ir_opt/lower_int64_to_int32.cpp
- ir_opt/passes.h
- ir_opt/position_pass.cpp
- ir_opt/rescaling_pass.cpp
- ir_opt/ssa_rewrite_pass.cpp
- ir_opt/texture_pass.cpp
- ir_opt/verification_pass.cpp
- object_pool.h
- precompiled_headers.h
- profile.h
- program_header.h
- runtime_info.h
- shader_info.h
- varying_state.h
- )
- target_link_libraries(shader_recompiler PUBLIC common fmt::fmt sirit)
- if (MSVC)
- target_compile_options(shader_recompiler PRIVATE
- /W4
- /we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
- /we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
- /we4800 # Implicit conversion from 'type' to bool. Possible information loss
- )
- else()
- target_compile_options(shader_recompiler PRIVATE
- -Werror=conversion
- # 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>
- $<$<CXX_COMPILER_ID:AppleClang>:-fbracket-depth=1024>
- )
- endif()
- create_target_directory_groups(shader_recompiler)
- if (YUZU_USE_PRECOMPILED_HEADERS)
- target_precompile_headers(shader_recompiler PRIVATE precompiled_headers.h)
- endif()
|