restore stupid lock, make ps4sup library
This commit is contained in:
parent
1a343bbb1c
commit
cdf0ea5910
|
|
@ -6,7 +6,7 @@ function(create_ps4_eboot project target content_id)
|
|||
set(sce_sys_param ${sce_sys_dir}/param.sfo)
|
||||
add_custom_command(
|
||||
OUTPUT "${target}.pkg"
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-fself -in=bin/${target} -out=${target}.oelf --eboot eboot.bin
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-fself -in=bin/${target} -out=${target}.oelf --eboot ${target}_eboot.bin
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
DEPENDS ${project}
|
||||
|
|
@ -19,7 +19,7 @@ function(create_ps4_pkg project target content_id)
|
|||
set(sce_sys_param ${sce_sys_dir}/param.sfo)
|
||||
add_custom_command(
|
||||
OUTPUT "${target}.pkg"
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-fself -in=bin/${target} -out=${target}.oelf --eboot eboot.bin
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-fself -in=bin/${target} -out=${target}.oelf --eboot ${target}_eboot.bin
|
||||
COMMAND mkdir -p ${sce_sys_dir}
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core sfo_new ${sce_sys_param}
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core sfo_setentry ${sce_sys_param} APP_TYPE --type Integer --maxsize 4 --value 1
|
||||
|
|
@ -32,7 +32,7 @@ function(create_ps4_pkg project target content_id)
|
|||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core sfo_setentry ${sce_sys_param} TITLE --type Utf8 --maxsize 128 --value ${target}
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core sfo_setentry ${sce_sys_param} TITLE_ID --type Utf8 --maxsize 12 --value BREW00090
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core sfo_setentry ${sce_sys_param} VERSION --type Utf8 --maxsize 8 --value 1.03
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-gp4 -out ${target}.gp4 --content-id=${content_id} --files "eboot.bin ${sce_sys_param} sce_module/libc.prx sce_module/libSceFios2.prx"
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/create-gp4 -out ${target}.gp4 --content-id=${content_id} --files "${target}_eboot.bin ${sce_sys_param} sce_module/libc.prx sce_module/libSceFios2.prx"
|
||||
COMMAND ${CMAKE_SYSROOT}/bin/PkgTool.Core pkg_build ${target}.gp4 .
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
|
|
|
|||
|
|
@ -275,6 +275,9 @@ target_include_directories(tz PUBLIC ./tz)
|
|||
add_library(bc_decoder bc_decoder/bc_decoder.cpp)
|
||||
target_include_directories(bc_decoder PUBLIC ./bc_decoder)
|
||||
|
||||
add_library(ps4sup ps4sup/emutls.c ps4sup/stub.cpp)
|
||||
target_include_directories(ps4sup PUBLIC ./ps4sup)
|
||||
|
||||
if (NOT TARGET RenderDoc::API)
|
||||
add_library(renderdoc INTERFACE)
|
||||
target_include_directories(renderdoc SYSTEM INTERFACE ./renderdoc)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#define STUB_WEAK(name) \
|
||||
extern "C" void name() { \
|
||||
printf("called " #name); \
|
||||
asm volatile("ud2"); \
|
||||
}
|
||||
|
||||
extern "C" void __cxa_thread_atexit_impl() {}
|
||||
|
||||
STUB_WEAK(__assert)
|
||||
STUB_WEAK(ZSTD_trace_compress_begin)
|
||||
STUB_WEAK(ZSTD_trace_compress_end)
|
||||
STUB_WEAK(ZSTD_trace_decompress_begin)
|
||||
STUB_WEAK(ZSTD_trace_decompress_end)
|
||||
FILE* __stderrp = stdout;
|
||||
|
||||
#undef STUB_WEAK
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2017 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
|
|
|||
|
|
@ -135,3 +135,9 @@ target_compile_options(dynarmic_tests PRIVATE ${DYNARMIC_CXX_FLAGS})
|
|||
target_compile_definitions(dynarmic_tests PRIVATE FMT_USE_USER_DEFINED_LITERALS=1)
|
||||
|
||||
add_test(NAME dynarmic_tests COMMAND dynarmic_tests --durations yes)
|
||||
|
||||
if (PLATFORM_PS4)
|
||||
target_link_libraries(dynarmic_tests PRIVATE SceVideoOut SceAudioOut ScePad SceSystemService)
|
||||
target_link_libraries(dynarmic_tests PRIVATE ps4sup)
|
||||
create_ps4_eboot(dynarmic_tests dynarmic_tests IV0000-BREW00090_00-DYNARMICTS000000)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ Result ResourceManager::CreateAppletResource(u64 aruid) {
|
|||
}
|
||||
|
||||
Result ResourceManager::CreateAppletResourceImpl(u64 aruid) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
return applet_resource->CreateAppletResource(aruid);
|
||||
}
|
||||
|
||||
|
|
@ -294,17 +294,17 @@ void ResourceManager::InitializeAHidSampler() {
|
|||
}
|
||||
|
||||
Result ResourceManager::RegisterCoreAppletResource() {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
return applet_resource->RegisterCoreAppletResource();
|
||||
}
|
||||
|
||||
Result ResourceManager::UnregisterCoreAppletResource() {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
return applet_resource->UnregisterCoreAppletResource();
|
||||
}
|
||||
|
||||
Result ResourceManager::RegisterAppletResourceUserId(u64 aruid, bool bool_value) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
auto result = applet_resource->RegisterAppletResourceUserId(aruid, bool_value);
|
||||
if (result.IsSuccess()) {
|
||||
result = npad->RegisterAppletResourceUserId(aruid);
|
||||
|
|
@ -313,40 +313,40 @@ Result ResourceManager::RegisterAppletResourceUserId(u64 aruid, bool bool_value)
|
|||
}
|
||||
|
||||
void ResourceManager::UnregisterAppletResourceUserId(u64 aruid) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->UnregisterAppletResourceUserId(aruid);
|
||||
npad->UnregisterAppletResourceUserId(aruid);
|
||||
// palma->UnregisterAppletResourceUserId(aruid);
|
||||
}
|
||||
|
||||
Result ResourceManager::GetSharedMemoryHandle(Kernel::KSharedMemory** out_handle, u64 aruid) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
return applet_resource->GetSharedMemoryHandle(out_handle, aruid);
|
||||
}
|
||||
|
||||
void ResourceManager::FreeAppletResourceId(u64 aruid) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->FreeAppletResourceId(aruid);
|
||||
npad->FreeAppletResourceId(aruid);
|
||||
}
|
||||
|
||||
void ResourceManager::EnableInput(u64 aruid, bool is_enabled) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->EnableInput(aruid, is_enabled);
|
||||
}
|
||||
|
||||
void ResourceManager::EnableSixAxisSensor(u64 aruid, bool is_enabled) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->EnableSixAxisSensor(aruid, is_enabled);
|
||||
}
|
||||
|
||||
void ResourceManager::EnablePadInput(u64 aruid, bool is_enabled) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->EnablePadInput(aruid, is_enabled);
|
||||
}
|
||||
|
||||
void ResourceManager::EnableTouchScreen(u64 aruid, bool is_enabled) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
applet_resource->EnableTouchScreen(aruid, is_enabled);
|
||||
}
|
||||
|
||||
|
|
@ -371,7 +371,7 @@ NpadGcVibrationDevice* ResourceManager::GetGcVibrationDevice(
|
|||
}
|
||||
|
||||
Result ResourceManager::SetAruidValidForVibration(u64 aruid, bool is_enabled) {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
const bool has_changed = applet_resource->SetAruidValidForVibration(aruid, is_enabled);
|
||||
|
||||
if (has_changed) {
|
||||
|
|
@ -394,7 +394,7 @@ void ResourceManager::SetForceHandheldStyleVibration(bool is_forced) {
|
|||
}
|
||||
|
||||
Result ResourceManager::IsVibrationAruidActive(u64 aruid, bool& is_active) const {
|
||||
//std::scoped_lock lock{shared_mutex};
|
||||
std::scoped_lock lock{shared_mutex};
|
||||
is_active = applet_resource->IsVibrationAruidActive(aruid);
|
||||
return ResultSuccess;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ void AbstractPad::Update() {
|
|||
|
||||
interface_type = properties_handler.GetInterfaceType();
|
||||
|
||||
//std::scoped_lock lock{*applet_resource_holder->shared_mutex};
|
||||
std::scoped_lock lock{*applet_resource_holder->shared_mutex};
|
||||
properties_handler.UpdateAllDeviceProperties();
|
||||
battery_handler.UpdateCoreBatteryState();
|
||||
button_handler.UpdateCoreBatteryState();
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ void DebugPad::OnInit() {}
|
|||
void DebugPad::OnRelease() {}
|
||||
|
||||
void DebugPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ void Digitizer::OnInit() {}
|
|||
void Digitizer::OnRelease() {}
|
||||
|
||||
void Digitizer::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ void Keyboard::OnInit() {}
|
|||
void Keyboard::OnRelease() {}
|
||||
|
||||
void Keyboard::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ void DebugMouse::OnInit() {}
|
|||
void DebugMouse::OnRelease() {}
|
||||
|
||||
void DebugMouse::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ void Mouse::OnInit() {}
|
|||
void Mouse::OnRelease() {}
|
||||
|
||||
void Mouse::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ Result NPad::Activate() {
|
|||
|
||||
Result NPad::Activate(u64 aruid) {
|
||||
std::scoped_lock lock{mutex};
|
||||
//std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
|
||||
auto* data = applet_resource_holder.applet_resource->GetAruidData(aruid);
|
||||
const auto aruid_index = applet_resource_holder.applet_resource->GetIndexFromAruid(aruid);
|
||||
|
|
@ -393,7 +393,7 @@ void NPad::WriteEmptyEntry(NpadInternalState* npad) {
|
|||
}
|
||||
|
||||
void NPad::RequestPadStateUpdate(u64 aruid, Core::HID::NpadIdType npad_id) {
|
||||
//std::scoped_lock lock{*applet_resource_holder.shared_mutex};
|
||||
std::scoped_lock lock{*applet_resource_holder.shared_mutex};
|
||||
auto& controller = GetControllerFromNpadIdType(aruid, npad_id);
|
||||
const auto controller_type = controller.device->GetNpadStyleIndex();
|
||||
|
||||
|
|
@ -466,7 +466,7 @@ void NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
|||
return;
|
||||
}
|
||||
|
||||
//std::scoped_lock lock{*applet_resource_holder.shared_mutex};
|
||||
std::scoped_lock lock{*applet_resource_holder.shared_mutex};
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; ++aruid_index) {
|
||||
const auto* data = applet_resource_holder.applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
||||
|
|
@ -1221,7 +1221,7 @@ Result NPad::SetNpadSystemExtStateEnabled(u64 aruid, bool is_enabled) {
|
|||
const auto result = npad_resource.SetNpadSystemExtStateEnabled(aruid, is_enabled);
|
||||
|
||||
if (result.IsSuccess()) {
|
||||
//std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
// TODO: abstracted_pad->EnableAppletToGetInput(aruid);
|
||||
}
|
||||
|
||||
|
|
@ -1339,7 +1339,7 @@ void NPad::UpdateHandheldAbstractState() {
|
|||
|
||||
void NPad::EnableAppletToGetInput(u64 aruid) {
|
||||
std::scoped_lock lock{mutex};
|
||||
//std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex};
|
||||
for (auto& abstract_pad : abstracted_pads) {
|
||||
abstract_pad.EnableAppletToGetInput(aruid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ void ConsoleSixAxis::OnInit() {}
|
|||
void ConsoleSixAxis::OnRelease() {}
|
||||
|
||||
void ConsoleSixAxis::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ void SixAxis::OnInit() {}
|
|||
void SixAxis::OnRelease() {}
|
||||
|
||||
void SixAxis::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; ++aruid_index) {
|
||||
const auto* data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ void CaptureButton::OnInit() {}
|
|||
void CaptureButton::OnRelease() {}
|
||||
|
||||
void CaptureButton::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ void HomeButton::OnInit() {}
|
|||
void HomeButton::OnRelease() {}
|
||||
|
||||
void HomeButton::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ void SleepButton::OnInit() {}
|
|||
void SleepButton::OnRelease() {}
|
||||
|
||||
void SleepButton::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
|
||||
//std::scoped_lock shared_lock{*shared_mutex};
|
||||
std::scoped_lock shared_lock{*shared_mutex};
|
||||
const u64 aruid = applet_resource->GetActiveAruid();
|
||||
auto* data = applet_resource->GetAruidData(aruid);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Result TouchResource::ActivateTouch() {
|
|||
}
|
||||
|
||||
if (global_ref_counter == 0) {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
const auto result = touch_driver->StartTouchSensor();
|
||||
if (result.IsError()) {
|
||||
|
|
@ -60,7 +60,7 @@ Result TouchResource::ActivateTouch() {
|
|||
}
|
||||
|
||||
Result TouchResource::ActivateTouch(u64 aruid) {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
@ -121,7 +121,7 @@ Result TouchResource::ActivateGesture() {
|
|||
}
|
||||
|
||||
Result TouchResource::ActivateGesture(u64 aruid, u32 basic_gesture_id) {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
@ -300,7 +300,7 @@ void TouchResource::SetTouchScreenMagnification(f32 point1_x, f32 point1_y, f32
|
|||
}
|
||||
|
||||
Result TouchResource::SetTouchScreenResolution(u32 width, u32 height, u64 aruid) {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
const auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
@ -321,7 +321,7 @@ Result TouchResource::SetTouchScreenResolution(u32 width, u32 height, u64 aruid)
|
|||
|
||||
Result TouchResource::SetTouchScreenConfiguration(
|
||||
const Core::HID::TouchScreenConfigurationForNx& touch_configuration, u64 aruid) {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
const auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
@ -341,7 +341,7 @@ Result TouchResource::SetTouchScreenConfiguration(
|
|||
|
||||
Result TouchResource::GetTouchScreenConfiguration(
|
||||
Core::HID::TouchScreenConfigurationForNx& out_touch_configuration, u64 aruid) const {
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
const auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
@ -518,7 +518,7 @@ void TouchResource::OnTouchUpdate(s64 timestamp) {
|
|||
gesture_handler.SetTouchState(current_touch_state.states, current_touch_state.entry_count,
|
||||
timestamp);
|
||||
|
||||
//std::scoped_lock lock{*shared_mutex};
|
||||
std::scoped_lock lock{*shared_mutex};
|
||||
|
||||
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {
|
||||
const auto* applet_data = applet_resource->GetAruidDataByIndex(aruid_index);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ add_executable(yuzu-cmd
|
|||
sdl_config.cpp
|
||||
sdl_config.h
|
||||
yuzu.cpp
|
||||
emutls.c
|
||||
yuzu.rc
|
||||
)
|
||||
|
||||
|
|
@ -35,8 +34,6 @@ target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common
|
|||
target_link_libraries(yuzu-cmd PRIVATE glad)
|
||||
if (MSVC)
|
||||
target_link_libraries(yuzu-cmd PRIVATE getopt)
|
||||
elseif(PLATFORM_PS4)
|
||||
target_link_libraries(yuzu-cmd PRIVATE SceVideoOut SceAudioOut ScePad SceSystemService)
|
||||
endif()
|
||||
target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
||||
|
||||
|
|
@ -71,6 +68,7 @@ if (NOT MSVC)
|
|||
endif()
|
||||
|
||||
if (PLATFORM_PS4)
|
||||
target_link_libraries(yuzu-cmd PRIVATE SceVideoOut SceAudioOut ScePad SceSystemService)
|
||||
target_link_libraries(yuzu-cmd PRIVATE ps4sup)
|
||||
create_ps4_eboot(yuzu-cmd eden-cli IV0000-BREW00090_00-EDENEMULAT000000)
|
||||
#create_ps4_pkg(yuzu-cmd eden-cli IV0000-BREW00090_00-EDENEMULAT000000)
|
||||
endif()
|
||||
|
|
|
|||
Loading…
Reference in New Issue