Merge pull request #530 from Xphalnos/main
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run

Lot of small fixes
This commit is contained in:
georgemoralis 2024-08-22 21:54:20 +03:00 committed by GitHub
commit bce3a9c9e7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 127 additions and 211 deletions

26
.gitmodules vendored
View file

@ -1,66 +1,84 @@
[submodule "externals/discord-rpc"]
path = externals/discord-rpc
url = https://github.com/shadps4-emu/ext-discord-rpc.git
[submodule "externals/cryptopp-cmake"] [submodule "externals/cryptopp-cmake"]
path = externals/cryptopp-cmake path = externals/cryptopp-cmake
url = https://github.com/shadps4-emu/ext-cryptopp-cmake.git url = https://github.com/shadps4-emu/ext-cryptopp-cmake.git
shallow = true
[submodule "externals/cryptopp"] [submodule "externals/cryptopp"]
path = externals/cryptopp path = externals/cryptopp
url = https://github.com/shadps4-emu/ext-cryptopp.git url = https://github.com/shadps4-emu/ext-cryptopp.git
shallow = true
[submodule "externals/cryptoppwin"] [submodule "externals/cryptoppwin"]
path = externals/cryptoppwin path = externals/cryptoppwin
url = https://github.com/shadps4-emu/ext-cryptoppwin.git url = https://github.com/shadps4-emu/ext-cryptoppwin.git
shallow = true
[submodule "externals/zlib-ng"] [submodule "externals/zlib-ng"]
path = externals/zlib-ng path = externals/zlib-ng
url = https://github.com/shadps4-emu/ext-zlib-ng.git url = https://github.com/shadps4-emu/ext-zlib-ng.git
shallow = true
[submodule "externals/sdl3"] [submodule "externals/sdl3"]
path = externals/sdl3 path = externals/sdl3
url = https://github.com/shadps4-emu/ext-SDL.git url = https://github.com/shadps4-emu/ext-SDL.git
shallow = true
[submodule "externals/fmt"] [submodule "externals/fmt"]
path = externals/fmt path = externals/fmt
url = https://github.com/shadps4-emu/ext-fmt.git url = https://github.com/shadps4-emu/ext-fmt.git
shallow = true
[submodule "externals/vulkan-headers"] [submodule "externals/vulkan-headers"]
path = externals/vulkan-headers path = externals/vulkan-headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git url = https://github.com/KhronosGroup/Vulkan-Headers.git
shallow = true
[submodule "externals/vma"] [submodule "externals/vma"]
path = externals/vma path = externals/vma
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
shallow = true
[submodule "externals/glslang"] [submodule "externals/glslang"]
path = externals/glslang path = externals/glslang
url = https://github.com/KhronosGroup/glslang.git url = https://github.com/KhronosGroup/glslang.git
shallow = true
[submodule "externals/robin-map"] [submodule "externals/robin-map"]
path = externals/robin-map path = externals/robin-map
url = https://github.com/Tessil/robin-map.git url = https://github.com/Tessil/robin-map.git
shallow = true
[submodule "externals/xbyak"] [submodule "externals/xbyak"]
path = externals/xbyak path = externals/xbyak
url = https://github.com/herumi/xbyak.git url = https://github.com/herumi/xbyak.git
shallow = true
[submodule "externals/winpthreads"] [submodule "externals/winpthreads"]
path = externals/winpthreads path = externals/winpthreads
url = https://github.com/shadps4-emu/winpthreads.git url = https://github.com/shadps4-emu/winpthreads.git
shallow = true
[submodule "externals/magic_enum"] [submodule "externals/magic_enum"]
path = externals/magic_enum path = externals/magic_enum
url = https://github.com/Neargye/magic_enum.git url = https://github.com/Neargye/magic_enum.git
shallow = true
[submodule "externals/toml11"] [submodule "externals/toml11"]
path = externals/toml11 path = externals/toml11
url = https://github.com/ToruNiina/toml11.git url = https://github.com/ToruNiina/toml11.git
shallow = true
[submodule "externals/zydis"] [submodule "externals/zydis"]
path = externals/zydis path = externals/zydis
url = https://github.com/zyantific/zydis.git url = https://github.com/zyantific/zydis.git
shallow = true
[submodule "externals/sirit"] [submodule "externals/sirit"]
path = externals/sirit path = externals/sirit
url = https://github.com/shadps4-emu/sirit.git url = https://github.com/shadps4-emu/sirit.git
shallow = true
[submodule "externals/xxhash"] [submodule "externals/xxhash"]
path = externals/xxhash path = externals/xxhash
url = https://github.com/Cyan4973/xxHash.git url = https://github.com/Cyan4973/xxHash.git
shallow = true
[submodule "externals/tracy"] [submodule "externals/tracy"]
path = externals/tracy path = externals/tracy
url = https://github.com/shadps4-emu/tracy.git url = https://github.com/shadps4-emu/tracy.git
shallow = true
[submodule "externals/ext-boost"] [submodule "externals/ext-boost"]
path = externals/ext-boost path = externals/ext-boost
url = https://github.com/shadps4-emu/ext-boost.git url = https://github.com/shadps4-emu/ext-boost.git
shallow = true
[submodule "externals/date"] [submodule "externals/date"]
path = externals/date path = externals/date
url = https://github.com/HowardHinnant/date.git url = https://github.com/HowardHinnant/date.git
shallow = true
[submodule "externals/ffmpeg-core"] [submodule "externals/ffmpeg-core"]
path = externals/ffmpeg-core path = externals/ffmpeg-core
url = https://github.com/shadps4-emu/ext-ffmpeg-core url = https://github.com/shadps4-emu/ext-ffmpeg-core.git
shallow = true

View file

@ -262,6 +262,7 @@ set(NP_LIBS src/core/libraries/np_manager/np_manager.cpp
src/core/libraries/np_trophy/np_trophy.cpp src/core/libraries/np_trophy/np_trophy.cpp
src/core/libraries/np_trophy/np_trophy.h src/core/libraries/np_trophy/np_trophy.h
) )
set(MISC_LIBS src/core/libraries/screenshot/screenshot.cpp set(MISC_LIBS src/core/libraries/screenshot/screenshot.cpp
src/core/libraries/screenshot/screenshot.h src/core/libraries/screenshot/screenshot.h
) )
@ -411,7 +412,6 @@ set(SHADER_RECOMPILER src/shader_recompiler/exception.h
src/shader_recompiler/backend/spirv/spirv_emit_context.h src/shader_recompiler/backend/spirv/spirv_emit_context.h
src/shader_recompiler/frontend/translate/data_share.cpp src/shader_recompiler/frontend/translate/data_share.cpp
src/shader_recompiler/frontend/translate/export.cpp src/shader_recompiler/frontend/translate/export.cpp
src/shader_recompiler/frontend/translate/flat_memory.cpp
src/shader_recompiler/frontend/translate/scalar_alu.cpp src/shader_recompiler/frontend/translate/scalar_alu.cpp
src/shader_recompiler/frontend/translate/scalar_memory.cpp src/shader_recompiler/frontend/translate/scalar_memory.cpp
src/shader_recompiler/frontend/translate/translate.cpp src/shader_recompiler/frontend/translate/translate.cpp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

View file

@ -1,32 +1,44 @@
v0.2.0 15/08/2024 - codename validptr
=================
- Adding macOS support
- Big shader recompiler improvements
- Core improvements
- GUI improvements
v0.1.0 01/07/2024 - codename madturtle
=================
- Added a shader recompiler, with this we have a lot of games that starts to work
- Rewrote a big part of core
v0.0.3 23/03/2024 - codename salad v0.0.3 23/03/2024 - codename salad
================= =================
-Switching to std::thread - Switching to std::thread
-Use unique_ptr where possible - Use unique_ptr where possible
-Replace printf/scanf with type safe fmt - Replace printf/scanf with type safe fmt
-Implemented sceKernelGetProcessTime - Implemented sceKernelGetProcessTime
-Implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency - Implemented sceKernelGetProcessTimeCounter, sceKernelGetProcessTimeCounterFrequency
-Pause emu with P button - Pause emu with P button
-Timers rewrote with std::chrono - Timers rewrote with std::chrono
-Added sceSystemServiceGetStatus - Added sceSystemServiceGetStatus
-Initial FileSystem implementation - Initial FileSystem implementation
-Initial TLS work - Initial TLS work
-New logging implementation - New logging implementation
-Some functions implemented for userService,systemService - Some functions implemented for userService, systemService
-Added sceAudioOut module and output using sdl audio - Added sceAudioOut module and output using SDL audio
v0.0.2 21/10/2023 v0.0.2 21/10/2023
================= =================
-using cstdint header in variable types - Using cstdint header in variable types
-run_main_entry: Rewrite in asm for stack setup - run_main_entry: Rewrite in asm for stack setup
-printf libc implementation for work with sysv_abi - Printf libc implementation for work with sysv_abi
-initial pad emulation (only digital pad atm) - Initial pad emulation (only digital pad atm)
-Implemented sceVideoOutIsFlipPending - Implemented sceVideoOutIsFlipPending
-Added auto stubs , now unsupported hle function will resolve as empty stubs - Added auto stubs, now unsupported hle function will resolve as empty stubs
-Rewrote libc_cxa functions - Rewrote libc_cxa functions
-Libc implementations ( _ZdlPv,_Znwm,rand,_Fsin,qsort,free,strncpy,memmove,atan2f,pow,_Sin) - Libc implementations ( _ZdlPv,_Znwm,rand,_Fsin,qsort,free,strncpy,memmove,atan2f,pow,_Sin)
-ET_SCE_DYNAMIC behaves as valid for execution now. - ET_SCE_DYNAMIC behaves as valid for execution now
-Initial FileSystem work (not yet usable). - Initial FileSystem work (not yet usable)
v0.0.1 29/09/2023 v0.0.1 29/09/2023
================= =================
First public release . Everything is new First public release. Everything is new.

View file

@ -1,35 +0,0 @@
shadPS4 - A PS4 emulator
=========================
1. Intro
2. Current status
3. Contributors
4. Greetings
1.Intro
=======
shadPS4 is a Play Station 4 emulator for Windows and Linux. Although atm it can't run a lot of stuff, we are working torwards to make it more compatible.
2.Current status
================
shadPS4 is a HLE emulator. Currently on a small amount of functions is emulated, which is one of the reasons compatibility is low.
3.Contributors
==============
- georgemoralis
- raphaelthegreat
- skmp
- wheremyfoodat
4.Greetings
===========
I would like to thank the following people for helping me so far, with coding or moral support.
- wheremyfoodat - or @rodakinos for believed me
- paris - or OFFTKP for not believing me and that made me a better coder :D
- skmp - or kornilios for being good old friend
- PandaBad - our beloved stalker
- emufan4568 - for advices
- velocity - for talking 1-2 times per year on discord server. We miss you velocity
- probably more, will include in the next readme :D

View file

@ -25,11 +25,6 @@ if (NOT TARGET fmt::fmt)
add_subdirectory(fmt) add_subdirectory(fmt)
endif() endif()
# Discord-RPC
set(BUILD_EXAMPLES OFF CACHE BOOL "")
add_subdirectory(discord-rpc)
target_include_directories(discord-rpc INTERFACE ./discord-rpc/include)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND MSVC) if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND MSVC)
# If it is clang and MSVC we will add a static lib # If it is clang and MSVC we will add a static lib
# CryptoPP # CryptoPP

@ -1 +0,0 @@
Subproject commit 4ec218155d73bcb8022f8f7ca72305d801f84beb

View file

@ -40,9 +40,6 @@
<property name="scaledContents"> <property name="scaledContents">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget> </widget>
<widget class="QLabel" name="shad_title"> <widget class="QLabel" name="shad_title">
<property name="geometry"> <property name="geometry">
@ -106,5 +103,6 @@
</property> </property>
</widget> </widget>
</widget> </widget>
<resources/>
<connections/> <connections/>
</ui> </ui>

View file

@ -51,8 +51,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>832</width> <width>836</width>
<height>418</height> <height>428</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy"> <property name="sizePolicy">
@ -74,7 +74,7 @@
<item> <item>
<layout class="QVBoxLayout" name="systemTabLayoutLeft"> <layout class="QVBoxLayout" name="systemTabLayoutLeft">
<item> <item>
<widget class="QGroupBox" name="emuSettings"> <widget class="QGroupBox" name="SystemSettings">
<property name="title"> <property name="title">
<string>System</string> <string>System</string>
</property> </property>
@ -112,28 +112,11 @@
</property> </property>
<layout class="QVBoxLayout" name="settingsLayout"> <layout class="QVBoxLayout" name="settingsLayout">
<item> <item>
<widget class="QComboBox" name="consoleLanguageComboBox"> <widget class="QComboBox" name="consoleLanguageComboBox"/>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<spacer name="emulatorTabSpacerLeft">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -148,35 +131,39 @@
</property> </property>
<layout class="QVBoxLayout" name="additionalSettingsVLayout"> <layout class="QVBoxLayout" name="additionalSettingsVLayout">
<item> <item>
<widget class="QCheckBox" name="fullscreenCheckBox"> <layout class="QVBoxLayout" name="emulatorverticalLayout">
<property name="text"> <item>
<string>Enable Fullscreen</string> <widget class="QCheckBox" name="fullscreenCheckBox">
</property> <property name="text">
</widget> <string>Enable Fullscreen</string>
</item> </property>
<item> </widget>
<widget class="QCheckBox" name="showSplashCheckBox"> </item>
<property name="text"> <item>
<string>Show Splash</string> <widget class="QCheckBox" name="showSplashCheckBox">
</property> <property name="text">
</widget> <string>Show Splash</string>
</item> </property>
<item> </widget>
<widget class="QCheckBox" name="ps4proCheckBox"> </item>
<property name="text"> <item>
<string>Is PS4 Pro</string> <widget class="QCheckBox" name="ps4proCheckBox">
</property> <property name="text">
</widget> <string>Is PS4 Pro</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<spacer name="emulatorSpacer"> <spacer name="emulatorSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Vertical</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>40</width>
<height>40</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
@ -261,19 +248,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<spacer name="logSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -282,34 +256,29 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QWidget" name="widgetSettingsBottom" native="true"> <spacer name="generalSpacer">
<layout class="QHBoxLayout" name="widgetGpuBottomLayout"> <property name="orientation">
<property name="leftMargin"> <enum>Qt::Orientation::Vertical</enum>
<number>0</number> </property>
</property> <property name="sizeHint" stdset="0">
<property name="topMargin"> <size>
<number>0</number> <width>20</width>
</property> <height>40</height>
<property name="rightMargin"> </size>
<number>0</number> </property>
</property> </spacer>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="gpuTab"> <widget class="QWidget" name="grphicsTab">
<attribute name="title"> <attribute name="title">
<string>GPU</string> <string>Graphics</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="gpuTabVLayout" stretch="0"> <layout class="QVBoxLayout" name="graphicsTabVLayout" stretch="0,0">
<item> <item>
<layout class="QHBoxLayout" name="gpuTabHLayout" stretch="1,1,1"> <layout class="QHBoxLayout" name="graphicsTabHLayout" stretch="1,1,1">
<item> <item>
<layout class="QVBoxLayout" name="gpuTabLayoutLeft"> <layout class="QVBoxLayout" name="graphicsTabLayoutLeft">
<item> <item>
<widget class="QGroupBox" name="graphicsAdapterGroupBox"> <widget class="QGroupBox" name="graphicsAdapterGroupBox">
<property name="title"> <property name="title">
@ -323,8 +292,8 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QWidget" name="widgetGpuTop" native="true"> <widget class="QWidget" name="widgetgraphicsBottom" native="true">
<layout class="QHBoxLayout" name="widgetGpuTopHLayout"> <layout class="QHBoxLayout" name="widgetgraphicsBottomHLayout">
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@ -340,44 +309,10 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QWidget" name="widgetGpuBottom" native="true">
<layout class="QHBoxLayout" name="widgetGpuBottomHLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item>
<item>
<spacer name="gpu_tab_layout_right_spacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="gpuTabLayoutMiddle"> <layout class="QVBoxLayout" name="graphicsTabLayoutMiddle">
<item> <item>
<layout class="QVBoxLayout" name="layoutResolution"> <layout class="QVBoxLayout" name="layoutResolution">
<property name="spacing"> <property name="spacing">
@ -505,26 +440,10 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<spacer name="gpuTabLayoutMiddleSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="gpuTabLayoutRight"> <layout class="QVBoxLayout" name="graphicsTabLayoutRight">
<property name="rightMargin"> <property name="rightMargin">
<number>12</number> <number>12</number>
</property> </property>
@ -534,7 +453,7 @@
<item> <item>
<widget class="QGroupBox" name="additionalSettingsGroupBox"> <widget class="QGroupBox" name="additionalSettingsGroupBox">
<property name="title"> <property name="title">
<string>Additional Settings</string> <string>Advanced</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
@ -565,17 +484,14 @@
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="additionalSettingsSpacer"> <spacer name="AdvancedSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeType">
<enum>QSizePolicy::Policy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>0</width> <width>20</width>
<height>0</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
@ -584,6 +500,19 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<spacer name="graphicSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="debugTab"> <widget class="QWidget" name="debugTab">