Skip to content

Commit

Permalink
Remove cereal submodule
Browse files Browse the repository at this point in the history
  • Loading branch information
elad335 committed Jun 2, 2021
1 parent 8405314 commit 5cd61fb
Show file tree
Hide file tree
Showing 14 changed files with 347 additions and 98 deletions.
4 changes: 0 additions & 4 deletions .gitmodules
Expand Up @@ -23,10 +23,6 @@
path = 3rdparty/SPIRV/SPIRV-Headers
url = ../../KhronosGroup/SPIRV-Headers.git
ignore = dirty
[submodule "3rdparty/cereal"]
path = 3rdparty/cereal
url = ../../RPCS3/cereal.git
ignore = dirty
[submodule "3rdparty/zlib"]
path = 3rdparty/zlib
url = ../../madler/zlib
Expand Down
7 changes: 0 additions & 7 deletions 3rdparty/CMakeLists.txt
Expand Up @@ -117,12 +117,6 @@ else()
target_include_directories(xxhash INTERFACE xxHash)
endif()


# cereal
add_library(3rdparty_cereal INTERFACE)
target_include_directories(3rdparty_cereal INTERFACE cereal/include)


# OpenGL

# Prefer GLVND for OpenGL rather than legacy, unless it's been defined elsewhere, in the case of AppImage builds
Expand Down Expand Up @@ -365,7 +359,6 @@ add_library(3rdparty::yaml-cpp ALIAS yaml-cpp)
add_library(3rdparty::xxhash ALIAS xxhash)
add_library(3rdparty::hidapi ALIAS 3rdparty_hidapi)
add_library(3rdparty::libpng ALIAS ${LIBPNG_TARGET})
add_library(3rdparty::cereal ALIAS 3rdparty_cereal)
add_library(3rdparty::opengl ALIAS 3rdparty_opengl)
add_library(3rdparty::stblib ALIAS 3rdparty_stblib)
add_library(3rdparty::discordRPC ALIAS 3rdparty_discordRPC)
Expand Down
1 change: 0 additions & 1 deletion 3rdparty/cereal
Submodule cereal deleted from 60c69d
2 changes: 1 addition & 1 deletion buildfiles/msvc/rpcs3_default.props
Expand Up @@ -3,7 +3,7 @@
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\hidapi\hidapi;..\3rdparty\Optional;..\3rdparty\xxhash</IncludePath>
<IncludePath>.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\hidapi\hidapi;..\3rdparty\Optional;..\3rdparty\xxhash</IncludePath>
<OutDir>$(SolutionDir)lib\$(Configuration)-$(Platform)\</OutDir>
<LibraryPath>$(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)</LibraryPath>
<IntDir>$(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\</IntDir>
Expand Down
9 changes: 1 addition & 8 deletions rpcs3/Emu/CMakeLists.txt
Expand Up @@ -38,7 +38,6 @@ target_sources(rpcs3_emu PRIVATE
../util/atomic.cpp
../util/logs.cpp
../util/yaml.cpp
../util/cereal.cpp
../util/vm_native.cpp
../util/dyn_lib.cpp
../util/sysinfo.cpp
Expand Down Expand Up @@ -76,12 +75,6 @@ else()
set_source_files_properties("../util/yaml.cpp" PROPERTIES COMPILE_FLAGS -fexceptions)
endif()

if(MSVC)
set_source_files_properties("../util/cereal.cpp" PROPERTIES COMPILE_FLAGS /GR)
else()
set_source_files_properties("../util/cereal.cpp" PROPERTIES COMPILE_FLAGS -frtti)
endif()

# Crypto
target_sources(rpcs3_emu PRIVATE
../Crypto/aes.cpp
Expand Down Expand Up @@ -499,7 +492,7 @@ endif()

target_link_libraries(rpcs3_emu
PUBLIC
3rdparty::ffmpeg 3rdparty::cereal
3rdparty::ffmpeg
3rdparty::opengl 3rdparty::stblib
3rdparty::vulkan 3rdparty::glew
3rdparty::libusb 3rdparty::wolfssl
Expand Down
33 changes: 29 additions & 4 deletions rpcs3/Emu/RSX/Capture/rsx_replay.h
Expand Up @@ -8,8 +8,12 @@

namespace rsx
{
constexpr u32 FRAME_CAPTURE_MAGIC = 0x52524300; // ascii 'RRC/0'
constexpr u32 FRAME_CAPTURE_VERSION = 0x4;
enum : u32
{
FRAME_CAPTURE_MAGIC = 0x52524300, // ascii 'RRC/0'
FRAME_CAPTURE_VERSION = 0x5,
};

struct frame_capture_data
{
struct memory_block_data
Expand Down Expand Up @@ -138,8 +142,9 @@ namespace rsx
}
};

u32 magic;
u32 version;
u32 magic = FRAME_CAPTURE_MAGIC;
u32 version = FRAME_CAPTURE_VERSION;

// hashmap of holding various states for tile
std::unordered_map<u64, tile_state> tile_map;
// hashmap of various memory 'changes' that can be applied to ps3 memory
Expand All @@ -157,7 +162,27 @@ namespace rsx
void serialize(Archive & ar)
{
ar(magic);

// Check if deserializing
if constexpr (std::is_same_v<std::invoke_result_t<Archive>, bool>)
{
if (magic != FRAME_CAPTURE_MAGIC)
{
// Failure
return;
}
}

ar(version);

if constexpr (std::is_same_v<std::invoke_result_t<Archive>, bool>)
{
if (version != FRAME_CAPTURE_VERSION)
{
return;
}
}

ar(tile_map);
ar(memory_map);
ar(memory_data_map);
Expand Down
9 changes: 6 additions & 3 deletions rpcs3/Emu/RSX/RSXThread.cpp
Expand Up @@ -19,7 +19,7 @@
#include "Utilities/date_time.h"
#include "Utilities/StrUtil.h"

#include "util/cereal.hpp"
#include "util/serialization.hpp"
#include "util/asm.hpp"

#include <span>
Expand Down Expand Up @@ -2861,11 +2861,14 @@ namespace rsx
const std::string file_path = fs::get_config_dir() + "captures/" + Emu.GetTitleID() + "_" + date_time::current_time_narrow() + "_capture.rrc";

// todo: may want to compress this data?
const std::string file_data = cereal_serialize(frame_capture);
utils::serial save_manager;
save_manager.reserve(0x800'0000); // 128MB

save_manager(frame_capture);

fs::pending_file temp(file_path);

if (temp.file && (temp.file.write(file_data), temp.commit(false)))
if (temp.file && (temp.file.write(save_manager.data), temp.commit(false)))
{
rsx_log.success("Capture successful: %s", file_path);
}
Expand Down
7 changes: 4 additions & 3 deletions rpcs3/Emu/System.cpp
Expand Up @@ -30,7 +30,7 @@
#include "../Crypto/unself.h"
#include "util/yaml.hpp"
#include "util/logs.hpp"
#include "util/cereal.hpp"
#include "util/serialization.hpp"

#include <fstream>
#include <memory>
Expand Down Expand Up @@ -380,7 +380,8 @@ bool Emulator::BootRsxCapture(const std::string& path)
}

std::unique_ptr<rsx::frame_capture_data> frame = std::make_unique<rsx::frame_capture_data>();
cereal_deserialize(*frame, in_file.to_string());
utils::deserial load_manager{ in_file.to_vector<u8>() };
load_manager(*frame);
in_file.close();

if (frame->magic != rsx::FRAME_CAPTURE_MAGIC)
Expand All @@ -391,7 +392,7 @@ bool Emulator::BootRsxCapture(const std::string& path)

if (frame->version != rsx::FRAME_CAPTURE_VERSION)
{
sys_log.error("Rsx capture file version not supported! Expected %d, found %d", rsx::FRAME_CAPTURE_VERSION, frame->version);
sys_log.error("Rsx capture file version not supported! Expected %d, found %d", +rsx::FRAME_CAPTURE_VERSION, frame->version);
return false;
}

Expand Down
5 changes: 1 addition & 4 deletions rpcs3/emucore.vcxproj
Expand Up @@ -100,10 +100,6 @@
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ExceptionHandling>Sync</ExceptionHandling>
</ClCompile>
<ClCompile Include="util\cereal.cpp">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
</ClCompile>
<ClCompile Include="..\Utilities\bin_patch.cpp">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
Expand Down Expand Up @@ -490,6 +486,7 @@
<ClInclude Include="Emu\system_config_types.h" />
<ClInclude Include="Loader\mself.hpp" />
<ClInclude Include="util\atomic.hpp" />
<ClInclude Include="util\serialization.hpp" />
<ClInclude Include="util\v128.hpp" />
<ClInclude Include="util\v128sse.hpp" />
<ClInclude Include="util\to_endian.hpp" />
Expand Down
6 changes: 3 additions & 3 deletions rpcs3/emucore.vcxproj.filters
Expand Up @@ -843,9 +843,6 @@
<ClCompile Include="util\yaml.cpp">
<Filter>Utilities</Filter>
</ClCompile>
<ClCompile Include="util\cereal.cpp">
<Filter>Utilities</Filter>
</ClCompile>
<ClCompile Include="util\cpu_stats.cpp">
<Filter>Utilities</Filter>
</ClCompile>
Expand Down Expand Up @@ -1962,6 +1959,9 @@
<ClInclude Include="Emu\RSX\Overlays\overlay_progress_bar.hpp">
<Filter>Emu\GPU\RSX\Overlays</Filter>
</ClInclude>
<ClInclude Include="util\serialization.hpp">
<Filter>Utilities</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Emu\RSX\Common\Interpreter\FragmentInterpreter.glsl">
Expand Down
4 changes: 2 additions & 2 deletions rpcs3/rpcs3.vcxproj
Expand Up @@ -62,12 +62,12 @@
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IncludePath>..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi\hidapi;.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib</IncludePath>
<IncludePath>..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi\hidapi;.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib</IncludePath>
<LibraryPath>$(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LibraryPath>$(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)</LibraryPath>
<IncludePath>..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi\hidapi;.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib</IncludePath>
<IncludePath>..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi\hidapi;.\;..\;..\3rdparty\asmjit\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\include;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
Expand Down
49 changes: 0 additions & 49 deletions rpcs3/util/cereal.cpp

This file was deleted.

9 changes: 0 additions & 9 deletions rpcs3/util/cereal.hpp

This file was deleted.

0 comments on commit 5cd61fb

Please sign in to comment.