mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-11 01:25:07 +02:00
Use the libretro VFS interface in libretro builds
This commit is contained in:
@@ -12,6 +12,19 @@ if(WIN32)
|
||||
LibretroD3D11Context.cpp)
|
||||
endif()
|
||||
|
||||
set(LIBRETRO_SRCS ${LIBRETRO_SRCS}
|
||||
libretro-common/compat/compat_posix_string.c
|
||||
libretro-common/compat/fopen_utf8.c
|
||||
libretro-common/compat/compat_strl.c
|
||||
libretro-common/encodings/encoding_utf.c
|
||||
libretro-common/file/file_path.c
|
||||
libretro-common/file/file_path_io.c
|
||||
libretro-common/streams/file_stream.c
|
||||
libretro-common/streams/file_stream_transforms.c
|
||||
libretro-common/string/stdstring.c
|
||||
libretro-common/time/rtime.c
|
||||
libretro-common/vfs/vfs_implementation.c)
|
||||
|
||||
include_directories(libretro)
|
||||
|
||||
add_library(ppsspp_libretro SHARED ${LIBRETRO_SRCS})
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <streams/file_stream_transforms.h>
|
||||
#undef fopen
|
||||
#undef fseek
|
||||
#undef ftell
|
||||
@@ -13,6 +13,8 @@
|
||||
#include <libretro_vulkan.h>
|
||||
#include <GPU/Vulkan/VulkanRenderManager.h>
|
||||
|
||||
#undef fflush
|
||||
|
||||
static VulkanContext *vk;
|
||||
|
||||
void vk_libretro_init(VkInstance instance, VkPhysicalDevice gpu, VkSurfaceKHR surface, PFN_vkGetInstanceProcAddr get_instance_proc_addr, const char **required_device_extensions, unsigned num_required_device_extensions, const char **required_device_layers, unsigned num_required_device_layers, const VkPhysicalDeviceFeatures *required_features);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <vector>
|
||||
#include <cstdlib>
|
||||
#include <mutex>
|
||||
#include <fstream>
|
||||
|
||||
#include "Common/CPUDetect.h"
|
||||
#include "Common/Log.h"
|
||||
@@ -401,11 +402,11 @@ void retro_set_environment(retro_environment_t cb)
|
||||
update_display_cb.callback = set_variable_visibility;
|
||||
environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_UPDATE_DISPLAY_CALLBACK, &update_display_cb);
|
||||
|
||||
#ifdef HAVE_LIBRETRO_VFS
|
||||
struct retro_vfs_interface_info vfs_iface_info { 1, nullptr };
|
||||
if (cb(RETRO_ENVIRONMENT_GET_VFS_INTERFACE, &vfs_iface_info))
|
||||
filestream_vfs_init(&vfs_iface_info);
|
||||
#endif
|
||||
#ifdef HAVE_LIBRETRO_VFS
|
||||
struct retro_vfs_interface_info vfs_iface_info { 2, nullptr };
|
||||
if (cb(RETRO_ENVIRONMENT_GET_VFS_INTERFACE, &vfs_iface_info))
|
||||
File::InitLibretroVFS(&vfs_iface_info);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int get_language_auto(void)
|
||||
|
||||
Reference in New Issue
Block a user