mirror of
				https://github.com/yuzu-emu/yuzu.git
				synced 2025-11-04 15:53:42 +00:00 
			
		
		
		
	service/fsp_srv: Don't pass SaveDataDescriptor instances by value.
Passing around a 64 byte data struct by value is kind of wasteful, instead pass a reference to the struct.
This commit is contained in:
		
							parent
							
								
									d0ed3ff4b7
								
							
						
					
					
						commit
						c05c8a7a06
					
				@ -30,7 +30,7 @@ SaveDataFactory::SaveDataFactory(VirtualDir save_directory) : dir(std::move(save
 | 
			
		||||
 | 
			
		||||
SaveDataFactory::~SaveDataFactory() = default;
 | 
			
		||||
 | 
			
		||||
ResultVal<VirtualDir> SaveDataFactory::Open(SaveDataSpaceId space, SaveDataDescriptor meta) {
 | 
			
		||||
ResultVal<VirtualDir> SaveDataFactory::Open(SaveDataSpaceId space, const SaveDataDescriptor& meta) {
 | 
			
		||||
    if (meta.type == SaveDataType::SystemSaveData || meta.type == SaveDataType::SaveData) {
 | 
			
		||||
        if (meta.zero_1 != 0) {
 | 
			
		||||
            LOG_WARNING(Service_FS,
 | 
			
		||||
 | 
			
		||||
@ -64,7 +64,7 @@ public:
 | 
			
		||||
    explicit SaveDataFactory(VirtualDir dir);
 | 
			
		||||
    ~SaveDataFactory();
 | 
			
		||||
 | 
			
		||||
    ResultVal<VirtualDir> Open(SaveDataSpaceId space, SaveDataDescriptor meta);
 | 
			
		||||
    ResultVal<VirtualDir> Open(SaveDataSpaceId space, const SaveDataDescriptor& meta);
 | 
			
		||||
 | 
			
		||||
    VirtualDir GetSaveDataSpaceDirectory(SaveDataSpaceId space) const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -319,15 +319,15 @@ ResultVal<FileSys::VirtualFile> OpenRomFS(u64 title_id, FileSys::StorageId stora
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ResultVal<FileSys::VirtualDir> OpenSaveData(FileSys::SaveDataSpaceId space,
 | 
			
		||||
                                            FileSys::SaveDataDescriptor save_struct) {
 | 
			
		||||
                                            const FileSys::SaveDataDescriptor& descriptor) {
 | 
			
		||||
    LOG_TRACE(Service_FS, "Opening Save Data for space_id={:01X}, save_struct={}",
 | 
			
		||||
              static_cast<u8>(space), save_struct.DebugInfo());
 | 
			
		||||
              static_cast<u8>(space), descriptor.DebugInfo());
 | 
			
		||||
 | 
			
		||||
    if (save_data_factory == nullptr) {
 | 
			
		||||
        return FileSys::ERROR_ENTITY_NOT_FOUND;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return save_data_factory->Open(space, save_struct);
 | 
			
		||||
    return save_data_factory->Open(space, descriptor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ResultVal<FileSys::VirtualDir> OpenSaveDataSpace(FileSys::SaveDataSpaceId space) {
 | 
			
		||||
 | 
			
		||||
@ -46,7 +46,7 @@ ResultVal<FileSys::VirtualFile> OpenRomFSCurrentProcess();
 | 
			
		||||
ResultVal<FileSys::VirtualFile> OpenRomFS(u64 title_id, FileSys::StorageId storage_id,
 | 
			
		||||
                                          FileSys::ContentRecordType type);
 | 
			
		||||
ResultVal<FileSys::VirtualDir> OpenSaveData(FileSys::SaveDataSpaceId space,
 | 
			
		||||
                                            FileSys::SaveDataDescriptor save_struct);
 | 
			
		||||
                                            const FileSys::SaveDataDescriptor& descriptor);
 | 
			
		||||
ResultVal<FileSys::VirtualDir> OpenSaveDataSpace(FileSys::SaveDataSpaceId space);
 | 
			
		||||
ResultVal<FileSys::VirtualDir> OpenSDMC();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user