From ba00d71a3330458ef577c1f8a8d52d5b2ebd6f62 Mon Sep 17 00:00:00 2001 From: InoriRus Date: Mon, 6 Dec 2021 17:23:53 +1000 Subject: [PATCH] Fix compilation issues (#2) --- source/3rdparty/easy_profiler/CMakeLists.txt | 4 ++-- source/CMakeLists.txt | 8 ++++++-- source/emulator/CMakeLists.txt | 2 +- source/emulator/src/Graphics/GraphicsRender.cpp | 8 ++++---- source/emulator/src/Graphics/Shader.cpp | 2 +- source/emulator/src/Graphics/Tile.cpp | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/source/3rdparty/easy_profiler/CMakeLists.txt b/source/3rdparty/easy_profiler/CMakeLists.txt index 4073e64..969e6e7 100644 --- a/source/3rdparty/easy_profiler/CMakeLists.txt +++ b/source/3rdparty/easy_profiler/CMakeLists.txt @@ -16,9 +16,9 @@ file(GLOB easy_profiler_src if (MINGW) if (CLANG) - set_source_files_properties(${easy_profiler_src} PROPERTIES COMPILE_FLAGS "-DBUILD_WITH_EASY_PROFILER -DEASY_PROFILER_STATIC -DEASY_DEFAULT_PORT=28077 -DEASY_PROFILER_VERSION_MAJOR=2 -DEASY_PROFILER_VERSION_MINOR=1 -DEASY_PROFILER_VERSION_PATCH=0 -DSTRSAFE_NO_DEPRECATE -Wno-unused-variable -Wno-writable-strings -Wno-braced-scalar-init -Wno-defaulted-function-deleted -Wno-unknown-pragmas -Wno-reorder-ctor -femulated-tls") + set_source_files_properties(${easy_profiler_src} PROPERTIES COMPILE_FLAGS "-DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DBUILD_WITH_EASY_PROFILER -DEASY_PROFILER_STATIC -DEASY_DEFAULT_PORT=28077 -DEASY_PROFILER_VERSION_MAJOR=2 -DEASY_PROFILER_VERSION_MINOR=1 -DEASY_PROFILER_VERSION_PATCH=0 -DSTRSAFE_NO_DEPRECATE -Wno-unused-variable -Wno-writable-strings -Wno-braced-scalar-init -Wno-defaulted-function-deleted -Wno-unknown-pragmas -Wno-reorder-ctor -femulated-tls") else() - set_source_files_properties(${easy_profiler_src} PROPERTIES COMPILE_FLAGS "-DBUILD_WITH_EASY_PROFILER -DEASY_PROFILER_STATIC -DEASY_DEFAULT_PORT=28077 -DEASY_PROFILER_VERSION_MAJOR=2 -DEASY_PROFILER_VERSION_MINOR=1 -DEASY_PROFILER_VERSION_PATCH=0 -DSTRSAFE_NO_DEPRECATE -Wno-reorder-ctor -Wno-reorder -Wno-unknown-pragmas -Wno-format -Wno-class-memaccess") + set_source_files_properties(${easy_profiler_src} PROPERTIES COMPILE_FLAGS "-DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DBUILD_WITH_EASY_PROFILER -DEASY_PROFILER_STATIC -DEASY_DEFAULT_PORT=28077 -DEASY_PROFILER_VERSION_MAJOR=2 -DEASY_PROFILER_VERSION_MINOR=1 -DEASY_PROFILER_VERSION_PATCH=0 -DSTRSAFE_NO_DEPRECATE -Wno-reorder-ctor -Wno-reorder -Wno-unknown-pragmas -Wno-format -Wno-class-memaccess") endif() endif() diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 576fb26..05d0f3c 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -75,6 +75,10 @@ if (CLANG AND (KYTY_LINKER STREQUAL LLD)) set(KYTY_LD_OPTIONS "-fuse-ld=lld") endif() +if (KYTY_LINKER STREQUAL LD) + set(KYTY_LD_OPTIONS "-Wl,--image-base=0x100000000000") +endif() + project(Kyty${KYTY_PROJECT_NAME}${CMAKE_BUILD_TYPE}${KYTY_COMPILER} VERSION 0.0.2) include(src_script.cmake) @@ -136,8 +140,6 @@ target_link_libraries(fc_script math) target_link_libraries(fc_script scripts) target_link_libraries(fc_script lua) target_link_libraries(fc_script opengl32) -target_link_libraries(fc_script ws2_32) -target_link_libraries(fc_script psapi) target_link_libraries(fc_script iphlpapi) target_link_libraries(fc_script sdl2) target_link_libraries(fc_script setupapi) @@ -147,6 +149,8 @@ target_link_libraries(fc_script lzma) target_link_libraries(fc_script sqlite) target_link_libraries(fc_script zstd) target_link_libraries(fc_script easy_profiler) +target_link_libraries(fc_script ws2_32) +target_link_libraries(fc_script psapi) if (CLANG AND NOT MSVC) target_link_libraries(fc_script pthread) endif() diff --git a/source/emulator/CMakeLists.txt b/source/emulator/CMakeLists.txt index 79b62bf..dafaa60 100644 --- a/source/emulator/CMakeLists.txt +++ b/source/emulator/CMakeLists.txt @@ -14,7 +14,7 @@ endif() add_library(emulator_obj OBJECT ${emulator_src}) add_library(emulator STATIC $) -target_link_libraries(emulator core math scripts lua vulkan-1 spirv-tools spirv-tools-opt easy_profiler) +target_link_libraries(emulator core math scripts lua vulkan-1 spirv-tools-opt spirv-tools easy_profiler) target_include_directories(emulator PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") diff --git a/source/emulator/src/Graphics/GraphicsRender.cpp b/source/emulator/src/Graphics/GraphicsRender.cpp index 9454e61..eeb59d4 100644 --- a/source/emulator/src/Graphics/GraphicsRender.cpp +++ b/source/emulator/src/Graphics/GraphicsRender.cpp @@ -2407,7 +2407,7 @@ VulkanDescriptorSet* DescriptorCache::GetDescriptor(Stage stage, int storage_buf if (storage_buffers_num > 0) { - EXIT_IF(binding_num >= sizeof(descriptor_write) / sizeof(descriptor_write[0])); + EXIT_IF(binding_num >= static_cast(sizeof(descriptor_write) / sizeof(descriptor_write[0]))); descriptor_write[binding_num].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; descriptor_write[binding_num].pNext = nullptr; descriptor_write[binding_num].dstSet = new_set->set; @@ -2423,7 +2423,7 @@ VulkanDescriptorSet* DescriptorCache::GetDescriptor(Stage stage, int storage_buf if (textures2d_num > 0) { - EXIT_IF(binding_num >= sizeof(descriptor_write) / sizeof(descriptor_write[0])); + EXIT_IF(binding_num >= static_cast(sizeof(descriptor_write) / sizeof(descriptor_write[0]))); descriptor_write[binding_num].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; descriptor_write[binding_num].pNext = nullptr; descriptor_write[binding_num].dstSet = new_set->set; @@ -2439,7 +2439,7 @@ VulkanDescriptorSet* DescriptorCache::GetDescriptor(Stage stage, int storage_buf if (samplers_num > 0) { - EXIT_IF(binding_num >= sizeof(descriptor_write) / sizeof(descriptor_write[0])); + EXIT_IF(binding_num >= static_cast(sizeof(descriptor_write) / sizeof(descriptor_write[0]))); descriptor_write[binding_num].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; descriptor_write[binding_num].pNext = nullptr; descriptor_write[binding_num].dstSet = new_set->set; @@ -2455,7 +2455,7 @@ VulkanDescriptorSet* DescriptorCache::GetDescriptor(Stage stage, int storage_buf if (gds_buffers_num > 0) { - EXIT_IF(binding_num >= sizeof(descriptor_write) / sizeof(descriptor_write[0])); + EXIT_IF(binding_num >= static_cast(sizeof(descriptor_write) / sizeof(descriptor_write[0]))); descriptor_write[binding_num].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; descriptor_write[binding_num].pNext = nullptr; descriptor_write[binding_num].dstSet = new_set->set; diff --git a/source/emulator/src/Graphics/Shader.cpp b/source/emulator/src/Graphics/Shader.cpp index 15f8c21..fc7cdbe 100644 --- a/source/emulator/src/Graphics/Shader.cpp +++ b/source/emulator/src/Graphics/Shader.cpp @@ -492,7 +492,7 @@ KYTY_SHADER_PARSER(shader_parse_sopp) if (inst.type == ShaderInstructionType::SCbranchScc0 || inst.type == ShaderInstructionType::SCbranchExecz) { - dst->GetLabels().Add({inst.pc + 4 + inst.src[0].constant.i, inst.pc}); + dst->GetLabels().Add(ShaderLabel({inst.pc + 4 + inst.src[0].constant.i, inst.pc})); } return 1; diff --git a/source/emulator/src/Graphics/Tile.cpp b/source/emulator/src/Graphics/Tile.cpp index 7abd20c..1c7ee72 100644 --- a/source/emulator/src/Graphics/Tile.cpp +++ b/source/emulator/src/Graphics/Tile.cpp @@ -431,7 +431,7 @@ void TileConvertTiledToLinear(void* dst, const void* src, TileMode mode, uint32_ auto* dstptr = static_cast(dst); const auto* srcptr = static_cast(src); - for (int l = 0; l < levels; l++) + for (uint32_t l = 0; l < levels; l++) { Tiler1d t; t.Init(dfmt, nfmt, mip_width, mip_height, padded_width[l], padded_height[l], neo);