Index: head/emulators/rpcs3/Makefile =================================================================== --- head/emulators/rpcs3/Makefile (revision 503929) +++ head/emulators/rpcs3/Makefile (revision 503930) @@ -1,83 +1,88 @@ # $FreeBSD$ PORTNAME= rpcs3 DISTVERSIONPREFIX= v -DISTVERSION= 0.0.6-8196 # git rev-list --count HEAD -DISTVERSIONSUFFIX= -g2bc0ea37a +DISTVERSION= 0.0.6-8205 # git rev-list --count HEAD +DISTVERSIONSUFFIX= -gb3513cd7f CATEGORIES= emulators PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 1e28a22860c0.patch:-p1 # Clang 7 MAINTAINER= jbeich@FreeBSD.org COMMENT= PS3 emulator/debugger LICENSE= BSD3CLAUSE BSL GPLv2 MIT ZLIB LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC_cereal}/LICENSE LICENSE_FILE_MIT= ${WRKSRC_GSL}/LICENSE LICENSE_FILE_ZLIB= ${WRKSRC_asmjit}/LICENSE.md LIB_DEPENDS= libpng.so:graphics/png \ libavcodec.so:multimedia/ffmpeg ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= requires int128 and SSE2 USE_GITHUB= yes GH_ACCOUNT= RPCS3 GH_TUPLE= RPCS3:hidapi:hidapi-0.8.0-rc1-27-g9220f5e:hidapi/3rdparty/hidapi \ RPCS3:llvm:b860b5e8f4ee:llvm/llvm \ Cyan4973:xxHash:v0.6.5:xxHash/3rdparty/xxHash \ jbeder:yaml-cpp:yaml-cpp-0.6.2-23-geca9cfd:yamlcpp/3rdparty/yaml-cpp \ kobalicek:asmjit:1e550aa:asmjit/asmjit \ KhronosGroup:glslang:7.11.3214:glslang/Vulkan/glslang \ Microsoft:GSL:v2.0.0:GSL/3rdparty/GSL \ USCiLab:cereal:v1.2.0:cereal/3rdparty/cereal \ zeux:pugixml:v1.9-51-g8bf806c:pugixml/3rdparty/pugixml USES= cmake compiler:c++17-lang iconv:wchar_t localbase:ldflags \ openal:soft pkgconfig qt:5 USE_GL= gl glew USE_QT= qmake_build buildtools_build core dbus declarative gui network widgets USE_XORG= x11 LLD_UNSAFE= yes # XXX ports/219089 CMAKE_ON= CMAKE_SKIP_RPATH USE_SYSTEM_FFMPEG USE_SYSTEM_LIBPNG CMAKE_OFF= USE_NATIVE_INSTRUCTIONS CXXFLAGS+= -Wno-macro-redefined # __STDC_*_MACROS sys/cdefs.h vs. llvm-config LDFLAGS+= -Wl,--as-needed # GLU + +# XXX Remove after FreeBSD 11.2/12.0 reach EOL i.e., around 2020-02-01 +.if !exists(/usr/include/c++/v1/charconv) && exists(/usr/lib/libc++.so) +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-revert-f9ad6358563b +.endif OPTIONS_DEFINE= ALSA EVDEV GDB LLVM PULSEAUDIO VULKAN OPTIONS_DEFAULT=ALSA LLVM VULKAN ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins ALSA_CMAKE_BOOL= USE_ALSA EVDEV_DESC= libevdev-based joystick support EVDEV_CMAKE_BOOL= USE_LIBEVDEV EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev GDB_DESC= GDB remote stub (powerpc64 target) GDB_CMAKE_BOOL= WITH_GDB GDB_BROKEN= https://github.com/RPCS3/rpcs3/issues/5946 LLVM_DESC= LLVM-based PPU recompiler LLVM_CMAKE_BOOL_OFF= WITHOUT_LLVM PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE VULKAN_DESC= Vulkan renderer VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader VULKAN_CMAKE_BOOL= USE_VULKAN post-patch: @${REINPLACE_CMD} -e '/GIT_BRANCH/s/unknown/master/' \ -e '/GIT_TAG/s/unknown/${GH_TAGNAME:C/-.*//}/' \ -e '/GIT_VERSION/s/unknown/${GH_TAGNAME:C/[^-]*-//}/' \ ${WRKSRC}/${PORTNAME}/git-version.cmake .include Index: head/emulators/rpcs3/distinfo =================================================================== --- head/emulators/rpcs3/distinfo (revision 503929) +++ head/emulators/rpcs3/distinfo (revision 503930) @@ -1,23 +1,23 @@ -TIMESTAMP = 1560011695 -SHA256 (RPCS3-rpcs3-v0.0.6-8196-g2bc0ea37a_GH0.tar.gz) = 51b0f4b56e03da1d860004016ea7868ab356e4efec96031e29b61592bfc19955 -SIZE (RPCS3-rpcs3-v0.0.6-8196-g2bc0ea37a_GH0.tar.gz) = 5390668 +TIMESTAMP = 1560203291 +SHA256 (RPCS3-rpcs3-v0.0.6-8205-gb3513cd7f_GH0.tar.gz) = a7702c05bde3c01844aa6d682014ab8458550e7d0f9ee21db90e20cd814c3daa +SIZE (RPCS3-rpcs3-v0.0.6-8205-gb3513cd7f_GH0.tar.gz) = 5436746 SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 3120e0b701943f452760e45f9fc1ac50bab356ad4c807b4cac4598041c5ca1a5 SIZE (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 105400 SHA256 (RPCS3-llvm-b860b5e8f4ee_GH0.tar.gz) = c151972a0c8ceac568c24b61e63d2ecbdac0f125185e23fc2238e0a14048256e SIZE (RPCS3-llvm-b860b5e8f4ee_GH0.tar.gz) = 47286737 SHA256 (Cyan4973-xxHash-v0.6.5_GH0.tar.gz) = 19030315f4fc1b4b2cdb9d7a317069a109f90e39d1fe4c9159b7aaa39030eb95 SIZE (Cyan4973-xxHash-v0.6.5_GH0.tar.gz) = 37521 SHA256 (jbeder-yaml-cpp-yaml-cpp-0.6.2-23-geca9cfd_GH0.tar.gz) = 554f6fac1d9524f807345f95ba9223332c644e56d7a7fdb2bcea1f5793b764fa SIZE (jbeder-yaml-cpp-yaml-cpp-0.6.2-23-geca9cfd_GH0.tar.gz) = 1397220 SHA256 (kobalicek-asmjit-1e550aa_GH0.tar.gz) = 89bdf974211da90940b0b58ea515234885aefc3b0af9385612d1c73da9bea4a2 SIZE (kobalicek-asmjit-1e550aa_GH0.tar.gz) = 446874 SHA256 (KhronosGroup-glslang-7.11.3214_GH0.tar.gz) = b30b4668734328d256e30c94037e60d3775b1055743c04d8fd709f2960f302a9 SIZE (KhronosGroup-glslang-7.11.3214_GH0.tar.gz) = 2841979 SHA256 (Microsoft-GSL-v2.0.0_GH0.tar.gz) = 6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e SIZE (Microsoft-GSL-v2.0.0_GH0.tar.gz) = 64726 SHA256 (USCiLab-cereal-v1.2.0_GH0.tar.gz) = 1ccf3ed205a7a2f0d6a060415b123f1ae0d984cd4435db01af8de11a2eda49c1 SIZE (USCiLab-cereal-v1.2.0_GH0.tar.gz) = 299883 SHA256 (zeux-pugixml-v1.9-51-g8bf806c_GH0.tar.gz) = 37bed90f3dadb642acca41508391d1409a75af05f34f13da56c866d5c3c4b00d SIZE (zeux-pugixml-v1.9-51-g8bf806c_GH0.tar.gz) = 560956 SHA256 (1e28a22860c0.patch) = d3724271593ea91093e4adfcb98a4ada9741a9204961a3737f60461bdcf13393 SIZE (1e28a22860c0.patch) = 1052 Index: head/emulators/rpcs3/files/extra-patch-revert-f9ad6358563b =================================================================== --- head/emulators/rpcs3/files/extra-patch-revert-f9ad6358563b (nonexistent) +++ head/emulators/rpcs3/files/extra-patch-revert-f9ad6358563b (revision 503930) @@ -0,0 +1,169 @@ +In file included from rpcs3/Emu/RSX/GL/GLGSRender.cpp:4: +In file included from rpcs3/Emu/RSX/GL/GLGSRender.h:8: +In file included from rpcs3/Emu/RSX/GL/GLTextOut.h:5: +rpcs3/Emu/RSX/GL/../Common/TextGlyphs.h:4:10: fatal error: 'charconv' file not found +#include + ^~~~~~~~~~ +rpcs3/Emu/RSX/GL/../Common/TextGlyphs.h:174:9: error: + no member named 'from_chars' in namespace 'std' + std::from_chars(index.data(), index.data() + index.size(), this_glyph.character, 16); + ~~~~~^ +rpcs3/Emu/RSX/GL/../Common/TextGlyphs.h:182:11: error: + no member named 'from_chars' in namespace 'std' + std::from_chars(line.data(), line.data() + line.size(), this_glyph... + ~~~~~^ + +--- rpcs3/Emu/RSX/Common/TextGlyphs.h.orig 2019-06-10 11:57:03 UTC ++++ rpcs3/Emu/RSX/Common/TextGlyphs.h +@@ -1,13 +1,9 @@ + #pragma once + +-#include +-#include +-#include +-#include + #include ++#include ++#include + +-#include "Utilities/types.h" +- + /** + * FONT GLYPHS GO HERE + * Any font in hex format should work here. +@@ -16,7 +12,7 @@ + * This example is the GNU unifont glyph set + */ + +-constexpr std::array GNU_UNIFONT_GLYPHS = ++const static std::string GNU_UNIFONT_GLYPHS[128] = + { + "0000 : AAAA00018000000180004A51EA505A51C99E0001800000018000000180005555", + "0001 : AAAA00018000000180003993C252325F8A527193800000018000000180005555", +@@ -157,37 +153,40 @@ class GlyphManager (private) + u8 character; + u32 glyph_point_offset; + u32 points_count; +- std::array plot; ++ std::vector plot; + }; + +- std::vector glyph_map; ++ std::unordered_map glyph_map; + +- void decode_glyph_map(const std::array& font_glyphs) ++ void decode_glyph_map(const std::string glyphs[128]) + { +- glyph_map.reserve(font_glyphs.size()); +- +- for (const auto &font_glyph : font_glyphs) ++ for (int i = 0; i < 128; ++i) + { +- glyph this_glyph{}; ++ std::string character = glyphs[i]; ++ std::string index = character.substr(0, 4); ++ std::string glyph_data = character.substr(7); + +- const auto index = font_glyph.substr(0, 4); +- std::from_chars(index.data(), index.data() + index.size(), this_glyph.character, 16); ++ glyph this_glyph; ++ this_glyph.character = (u8)strtol(index.c_str(), nullptr, 16); ++ this_glyph.plot.reserve(16); + +- const auto glyph_data = font_glyph.substr(7); + if (glyph_data.length() == 32) + { +- for (std::size_t n = 0; n < this_glyph.plot.size(); ++n) ++ for (int n = 0; n < 16; ++n) + { +- const auto line = glyph_data.substr(n * 2, 2); +- std::from_chars(line.data(), line.data() + line.size(), this_glyph.plot[n], 16); ++ std::string line = glyph_data.substr(n * 2, 2); ++ u8 value = (u8)strtol(line.c_str(), nullptr, 16); ++ this_glyph.plot.push_back(value); + } + } + else + { +- // TODO: Support 16-wide characters ++ //TODO: Support 16-wide characters ++ for (int n = 0; n < 16; ++n) ++ this_glyph.plot.push_back(0); + } + +- glyph_map.push_back(this_glyph); ++ glyph_map[this_glyph.character] = this_glyph; + } + } + +@@ -198,12 +197,13 @@ class GlyphManager (private) + float x; + float y; + +- explicit glyph_point(float _x, float _y) : x(_x), y(_y) ++ glyph_point(float _x, float _y) : x(_x), y(_y) + {} + }; + + GlyphManager() + { ++ glyph_map = {}; + decode_glyph_map(GNU_UNIFONT_GLYPHS); + } + +@@ -213,11 +213,12 @@ class GlyphManager (private) + + for (auto &entry : glyph_map) + { +- entry.glyph_point_offset = (u32)result.size(); ++ glyph& text = entry.second; ++ text.glyph_point_offset = (u32)result.size(); + +- for (std::size_t j = 0; j < entry.plot.size(); ++j) ++ for (int j = 0; j < 16; ++j) + { +- const auto &line = entry.plot[j]; ++ auto &line = text.plot[j]; + if (line == 0) + continue; + +@@ -225,29 +226,28 @@ class GlyphManager (private) + { + if (line & (1 << i)) + { +- // Font is inverted, so we correct it for conventional renderers +- const auto x = (float)(7 - i); +- const auto y = (float)(15 - j); +- result.emplace_back(x, y); ++ //Font is inverted, so we correct it for conventional renderers ++ float x = (float)(7 - i); ++ float y = (float)(15 - j); ++ result.push_back({ x, y }); + } + } + } + +- entry.points_count = (u32)result.size() - entry.glyph_point_offset; ++ text.points_count = (u32)result.size() - text.glyph_point_offset; + } + + return result; + } + +- std::unordered_map> get_glyph_offsets() const ++ std::unordered_map> get_glyph_offsets() + { + std::unordered_map> result = {}; +- +- for (const auto &entry : glyph_map) ++ for (auto &entry : glyph_map) + { +- result[entry.character] = std::make_pair(entry.glyph_point_offset, entry.points_count); ++ result[entry.second.character] = std::make_pair(entry.second.glyph_point_offset, entry.second.points_count); + } + + return result; + } +-}; ++}; +\ No newline at end of file Property changes on: head/emulators/rpcs3/files/extra-patch-revert-f9ad6358563b ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/emulators/rpcs3/files/patch-rpcs3_Emu_RSX_VK_VulkanAPI.h =================================================================== --- head/emulators/rpcs3/files/patch-rpcs3_Emu_RSX_VK_VulkanAPI.h (nonexistent) +++ head/emulators/rpcs3/files/patch-rpcs3_Emu_RSX_VK_VulkanAPI.h (revision 503930) @@ -0,0 +1,31 @@ +Revert https://github.com/RPCS3/rpcs3/commit/39fa1d7031e3 to unbreak +with devel/vulkan-headers < 1.1.96 + +In file included from rpcs3/Emu/RSX/VK/VKFormats.cpp:2: +In file included from rpcs3/Emu/RSX/VK/VKFormats.h:2: +rpcs3/Emu/RSX/VK/VKHelpers.h:603:5: error: unknown type name 'VkPhysicalDeviceFloat16Int8FeaturesKHR'; did you mean 'VkPhysicalDeviceMultiviewFeaturesKHR'? + VkPhysicalDeviceFloat16Int8FeaturesKHR shader_support_info{}; + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- rpcs3/Emu/RSX/VK/VulkanAPI.h.orig 2019-06-10 11:57:03 UTC ++++ rpcs3/Emu/RSX/VK/VulkanAPI.h +@@ -14,6 +14,19 @@ + #include "define_new_memleakdetect.h" + #include "Utilities/types.h" + ++#if VK_HEADER_VERSION < 95 ++ ++typedef struct VkPhysicalDeviceFloat16Int8FeaturesKHR { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderFloat16; ++ VkBool32 shaderInt8; ++} VkPhysicalDeviceFloat16Int8FeaturesKHR; ++ ++#define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR VkStructureType(1000082000) ++ ++#endif ++ + namespace vk + { + void init(); Property changes on: head/emulators/rpcs3/files/patch-rpcs3_Emu_RSX_VK_VulkanAPI.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property