DanielSvoboda
642a59de16
alphabetical order console language
2024-08-18 17:24:35 -03:00
georgemoralis
7e418979b6
Merge pull request #463 from Xphalnos/main
...
Misc changes
2024-08-18 22:26:53 +03:00
DanielSvoboda
6c3e03e6ba
alphabetical order console language
2024-08-18 16:15:06 -03:00
DanielSvoboda
e2d0bae6fd
alphabetical order console language
2024-08-18 16:04:48 -03:00
Vladislav Mikhalin
b4cee64615
Fix stencil buffer not being used ( #464 )
2024-08-18 20:37:29 +03:00
Xphalnos
2df1372a46
Misc changes
2024-08-18 17:56:29 +02:00
Lizardy
74d43d059f
shader_recompiler: BUFFER_ATOMIC & DS_* Opcodes ( #428 )
...
* BUFFER_ATOMIC | DS_MINMAX_U32
- Emission of BufferAtomicU32
- Addition of Buffer opcodes to IR
- Translator for BUFFER_ATOMIC Opcode
- Translators for DS_MAXMIN_U32 Opcodes
* Clang Format & UNREACHABLE_MSG
* clang
* no crash on compile
* clang
* Shared Atomics
* reuse
* rm vscode
* resolve
* opcodes
* side effects
* attempt fix shader comp
* failed attempt to fix
* clang
* do correct vdata set (still fails)
* clang
* fixed BUFFER_ATOMIC_ADD, DS_ADD_U32 fails
* data share should work
* clang
* resource tracking for buffer atomic
* clang
* distinguish RTN opcodes
* clean IsBufferInstruction
---------
Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-17 22:06:06 +03:00
¥IGA
fa7e7a9963
About Window ( #458 )
2024-08-17 19:13:37 +03:00
georgemoralis
4b203891f8
Merge pull request #455 from Xphalnos/main
...
Qt-GUI: Improvements (Part 2)
2024-08-17 10:58:11 +03:00
georgemoralis
c77f6413c1
Merge pull request #456 from StevenMiller123/sem_fix
...
Improve posix_sem functions
2024-08-17 10:57:19 +03:00
Xphalnos
4b1aecc912
Logger update
2024-08-17 08:22:31 +02:00
Stephen Miller
2cfc6f48e5
clang-format fix
2024-08-16 17:22:06 -05:00
Stephen Miller
07e9273a70
Add SetPosixErrno function
...
I used a switch statement for future proofing, as some codes differ between Windows, Mac, Linux, or Orbis. Right now I've only added the codes that should be possible to encounter.
2024-08-16 17:20:21 -05:00
Stephen Miller
6945be1081
Might fix clang-format?
2024-08-16 15:10:20 -05:00
Stephen Miller
97138cc2ea
another clang-format fix
2024-08-16 15:07:19 -05:00
Stephen Miller
7c1cb036d4
clang-format fix
2024-08-16 14:55:55 -05:00
Stephen Miller
26ef12d1c7
Improve posix_sem functions
...
Use ErrSceToPosix to update g_posix_errno appropriately after sem function calls.
2024-08-16 14:33:48 -05:00
Xphalnos
acb2849f2e
Reduce window size
2024-08-16 19:48:18 +02:00
Dzmitry Dubrova
3813207000
misc changes, part ?/? ( #441 )
...
* gui: add option to boot a game by choosing elf file
* core: some small implementations
* fs: implement open func
* add some validations
* spirv: add image format
* video_core: add eR16Uint to formats
2024-08-16 20:16:15 +03:00
Dzmitry Dubrova
f718c50db7
core: Some small pad stubs ( #424 )
...
* core: Some small pad stubs
* core: handle scePadSetLightBar wrong lightbar setting
2024-08-16 20:11:55 +03:00
TheTurtle
3b1e3b0a72
control_flow_graph: Initial divergence handling ( #434 )
...
* control_flow_graph: Initial divergence handling
* cfg: Handle additional case
* spirv: Handle tgid enable bits
* clang format
* spirv: Use proper format
* translator: Add more instructions
2024-08-16 20:05:37 +03:00
Vinicius Rangel
b8ec925ebb
gpu: primitive_restart bit check typo ( #454 )
2024-08-16 20:03:19 +03:00
Vinicius Rangel
248fcdbb35
gpu: check right register for primitive restart index ( #453 )
...
@red-prig suggestion
Not sure if it is possible to have trash in the register (maybe if primitive restart is toggled off), but just to make sure.
2024-08-16 19:49:15 +03:00
Herman Semenov
17f249eec9
core,shader_recompiler: added const ref filesystem::path and removed if type size less 16 ( #446 )
2024-08-16 11:36:05 +03:00
Xphalnos
21770dc550
Qt-GUI: Improvements
2024-08-16 09:45:59 +02:00
Vladislav Mikhalin
099e735a97
last minute fixes
2024-08-16 10:30:48 +03:00
Vladislav Mikhalin
5184161b79
Fixed threading, migrated to CVs, added looping
2024-08-15 22:02:04 +03:00
Vladislav Mikhalin
8b23ec3885
fixing build on linux and mac
2024-08-15 22:00:51 +03:00
Vladislav Mikhalin
56cb7727f5
Fixed some sound and threading issues.
...
Details:
* Switched SDL audio mutex to RW lock. This fixes games that continiously call SetVolume in a different thread (like Ghostbusters)
* Added contition to buffer audio packets independent of video packets. This fixes choppy audio across many games.
* Increased the number of audio frame buffers from 2 to 4. Just in case.
* Migrated to std::jthread and std::mutex from pthreads.
* Fixed a race condition with joins on avplayer close that caused a crash.
2024-08-15 22:00:51 +03:00
Vladislav Mikhalin
3325169927
Added some logs, fixed some crashes, fixed align.
2024-08-15 22:00:51 +03:00
Vladislav Mikhalin
b2146acda5
avplayer WIP
2024-08-15 22:00:51 +03:00
georgemoralis
e04a4673c8
starting 0.2.1
2024-08-15 19:58:18 +03:00
georgemoralis
ff9ece3e54
tagged 0.2.0 release
2024-08-15 19:41:42 +03:00
psucien
d9d67c85ec
libraries: vide_out: redundant assert removed
2024-08-15 17:41:53 +02:00
¥IGA
d81dabf4f0
Qt-GUI: Cleaning the option menu ( #443 )
2024-08-15 17:49:13 +03:00
Vinicius Rangel
c69d6fd490
gpu: handle primitive restart index register ( #438 )
2024-08-15 15:43:27 +03:00
¥IGA
1beebca7b8
Qt-GUI: Adding User Name selection ( #440 )
...
* Qt-GUI: Adding User Name selection
* fix
* fix 2
* fix 3 (thanks Poly)
* Change the username emplacement
2024-08-15 15:06:09 +03:00
¥IGA
ec805713a4
Ability to change username ( #432 )
2024-08-15 12:33:10 +03:00
psucien
0a173b0392
shader_recompiler: basic implementation of BUFFER_STORE_FORMAT_
( #431 )
...
* shader_recompiler: basic implementation of buffer store w\ fmt conversion
* added `Format16` dfmt
2024-08-15 00:15:07 +02:00
Dzmitry Dubrova
b87f269282
core: misc changes ( #430 )
...
* core: misc changes
* video_core: add some formats for detiling
* clang format
2024-08-14 20:37:05 +02:00
Stephen Miller
a2d0819c02
scePthreadAttrSetstack implementation ( #391 )
...
* scePthreadAttrSetstack implementation
Used by Final Fantasy XV
* Address Comments
Verify parameters before calling the pthread_attr_setstack function.
Swap uses of SCE prefix with ORBIS prefix.
* Quick fix
Addresses the newest review and appears to fix issues caused in games by my previous commit.
2024-08-14 18:43:00 +02:00
TheTurtle
d5e7180c54
spirv: Simplify shared memory handling ( #427 )
...
* spirv: Simplify shared memory handling
* spirv: Ignore clip plane
* spirv: Fix image offsets
* ir_pass: Implement shared memory lowering pass
* NVIDIA doesn't like using shared mem in fragment shader and softlocks driver
* spirv: Add log for ignoring pos1
2024-08-14 19:01:17 +03:00
Daniel R.
13403a32e5
core/memory: Fix error on virtual queries of reserved regions
2024-08-14 15:34:17 +02:00
psucien
718200faad
video_core: CPU flip relay ( #415 )
...
* video_core: cpu flip is propagated via gpu thread now
* tentative fix for cpu flips racing
* libraries: videoout: better flip status handling
2024-08-14 11:36:11 +02:00
Samuel Fontes
d25ed57fcb
qt-gui: Added GPU device selection functionality ( #399 )
...
* qt-gui: Added GPU device selection functionality
* Getting list of GPU only when application starts
* Fixed formatting
* Fixed formatting
* Fixed formatting
* Added warning when GPU doesn't support API version.
* Changed Unsupported Vulkan Version warning
* Removed unused size checking on GetPhysicalDevices
The method is only being called once so this doesn't make sense. It was some left over of me trying to get this done some other way.
* Fix formatting
* Fix formatting
* SettingsDialog: Passing physical devices as span
* Fixed formatting
2024-08-14 00:21:06 +03:00
TheTurtle
705d1e29cf
video_core: Various fixes ( #423 )
...
* video_core: Various fixes
* clang format
2024-08-13 20:05:10 +03:00
counter185
462da01350
Basic gamepad support through SDL ( #407 )
...
* Add basic gamepad support through SDL
* lightbar, vibration, code style changes
* okay fine
* one day clang format will finally pass
2024-08-13 12:54:08 +03:00
squidbus
8610994989
Fix some Vulkan validation errors on macOS. ( #420 )
2024-08-13 10:30:47 +03:00
TheTurtle
c243ef0c58
video_core: Crucial buffer cache fixes + proper GPU clears ( #414 )
...
* translator: Use templates for stronger type guarantees
* spirv: Define buffer offsets upfront
* Saves a lot of shader instructions
* buffer_cache: Use dynamic vertex input when available
* Fixes issues when games like dark souls rebind vertex buffers with different stride
* externals: Update boost
* spirv: Use runtime array for ssbos
* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders
* fs: Lock when doing case insensitive search
* Dark Souls does fs lookups from different threads
* texture_cache: More precise invalidation from compute
* Fixes unrelated render targets being cleared
* texture_cache: Use hashes for protect gpu modified images from reupload
* translator: Treat V_CNDMASK as float
* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway
* translator: Small optimization for V_SAD_U32
* Fix review
* clang format
2024-08-13 09:21:48 +03:00
Vinicius Rangel
5b589b8cc8
spirv: fix image sample lod/clamp/offset translation ( #402 )
...
* spirv: fix image sample lod/clamp translation
* spirv: fix image sample offsets
* fix ImageSample opcodes & offset emission
2024-08-13 09:12:38 +03:00
Lizardy
68d6cf387f
thread_management.cpp: Various Mandatory Threading Fixes | Resolve #398 ( #394 )
...
* Handle empty mutex attribute
- scePthreadMutexInit did not return default when the mutex attributes were empty, now it does
* fix conditional unsafety
* Update thread_management.cpp
fix deref
* accurate heap api
- modified HeapAPI to a struct with preset function fields
- utilized the full array parameter passed to _sceKernelRtldSetApplicationHeapAPI
* fallback to std malloc
* clang format
* Declare all HeapAPI replacement functions
- calloc, realloc, memalign, reallocalign, malloc_stats, malloc_stats_fast, malloc_usable_size
- posix_memalign corrected parameters
* resolve suggestions
- `using` definition replacement for AppHeapAPI
- linux uses heap_malloc, windows uses std::malloc
---------
Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-13 09:08:03 +03:00
Borchev
aa29582046
Add partial unmap support ( #322 )
...
* Add partial unmap support
* undo accidental whitespace removal
* Fix assertions
* Adjust Reserve and Free functions for partial unmapping
2024-08-13 09:05:30 +03:00
squidbus
e8dd5962fd
Enable VK_EXT_robustness2 nullDescriptor only if supported.
2024-08-12 14:52:46 -07:00
psucien
8312421aeb
unlink sync2 if not present (tentative fix for #418 )
2024-08-12 22:52:21 +02:00
psucien
7cf54bd7b1
fix for Linux compilation ( #416 )
2024-08-12 20:10:42 +02:00
psucien
29b76d8a2b
Build stabilization ( #413 )
...
* shader_recompiler: fix for float convert and debug asserts
* libraries: kernel: correct return code on invalid semaphore
* amdgpu: additional case for cb extents retrieval heuristic
* removed redundant check in assert
* amdgpu: fix for linear tiling mode detection fin color buffers
* texture_cache: fix for unexpected scheduler flushes by detiler
* renderer_vulkan: missing depth barrier
* texture_cache: missed slices in rt view; + detiler format
2024-08-12 17:23:01 +03:00
psucien
9b4d3b4db1
Video Core: debug tools ( #412 )
...
* video_core: better use of rdoc markers
* renderer_vulkan: added gpu assisted validation
* renderer_vulkan: make nv_checkpoints operational
* video_core: unified Vulkan objects names
2024-08-12 13:46:45 +02:00
psucien
7da029808f
Gnmdriver: More functions ( #410 )
...
* libraries: gnmdriver: added `sceGnmGetGpuCoreClockFrequency`
* libraries: gnmdriver: `sceGnmSetVgtControl` added
* amdgpu: gpuclock64 in write eop packet
2024-08-12 13:29:57 +02:00
georgemoralis
49197d5de1
added a fix for audio (seems that some games calls sceAudioOutInit twice) Thanks Roamic for tracing this!
2024-08-11 13:16:50 +03:00
Dzmitry Dubrova
ea6010907d
gui: Add console language to settings
2024-08-09 18:28:50 +03:00
Dzmitry Dubrova
31e539c575
gui: Implement settings dialog
2024-08-09 17:28:16 +03:00
Leonardo
ad0d818064
Fixed coding style again on the if brackets
2024-08-09 09:24:14 -03:00
georgemoralis
4b7e426e90
mount temp dir
2024-08-09 12:56:03 +03:00
georgemoralis
261dca353e
console language is better name
2024-08-09 12:24:42 +03:00
georgemoralis
372a69a09b
added setting for change language
...
(reference to https://github.com/shadps4-emu/shadPS4/wiki/PS4-Modules#supported-languages for values)
2024-08-09 11:58:42 +03:00
Leonardo
336802eb88
Removed else that duplicated while commiting the typo fixes
2024-08-08 18:33:06 -03:00
Leonardo
1869dfbf51
Fixed if else formatting
2024-08-08 18:30:58 -03:00
georgemoralis
14f7b98938
small playgo adjustments
2024-08-09 00:02:26 +03:00
georgemoralis
489ac6b124
some pad fixes (fixing metal slug 3 and risk of rain)
2024-08-09 00:02:25 +03:00
georgemoralis
ce2bb99faa
added missing NIDs in thread management
2024-08-09 00:02:25 +03:00
georgemoralis
276a625805
removed duplicate libSceJson2.sprx loading
2024-08-09 00:02:25 +03:00
georgemoralis
b207d78258
fixed to scePadGetControllerInformation , (fixes CUSA04892 - power rangers multi user issue)
2024-08-09 00:02:25 +03:00
georgemoralis
ad0b8167ba
more linux fix?
2024-08-09 00:02:25 +03:00
georgemoralis
fcd16eb61e
linux fix?
2024-08-09 00:02:25 +03:00
georgemoralis
cada878056
update submodules , fixed sdl update , rewrote config with new toml11 v4
2024-08-09 00:02:24 +03:00
Stephen Miller
b31e7515b3
Kernel-Related Fixes ( #386 )
...
* Fix OrbisKernelBatchMapEntry struct
UE4 games and GTA V cause the BatchMap offset to overflow on Windows. Changing the type fixes this, and doesn't seem to cause any regressions on Windows or Linux.
* Implement posix_sem_trywait
Grand Theft Auto V needs this.
* Add missing scePthreadAttrGetdetachstate NID
Noticed this missing NID while testing games.
2024-08-08 23:42:51 +03:00
georgemoralis
1851c951a6
Merge pull request #381 from SamuelFontes/issues/361
...
361: Game directory window appears every time
2024-08-08 22:33:42 +03:00
SamuelFontes
406cf1ac42
361: Game directory window appears every time
...
qt_gui: When a command line argument is passed to the GUI version, it will always prompt to change the game directory. This happens because the "user" folder is created on the elf or eboot.bin location.
This change will ignore the game install directory configuration at startup when an command line argument is passed.
Since if a game was passed, it should start automatically as this is the expected behaviour.
2024-08-08 16:14:35 -03:00
SamuelFontes
513cebb897
qt_gui: Refreshing game list after install directory change
...
The game list wasn't being refreshed automaticly after a manual directory change on the QT GUI, now the RefreshGameTable will be called after the GameInstallDialog is executed.
2024-08-08 15:57:43 -03:00
ElBread3
8808ed316c
double click to open games
2024-08-08 13:23:44 -05:00
Xphalnos
22d1041c26
Workflows cleanup + misc fixes ( #371 )
...
* Workflows cleanup
* clang-format
* SDL3: Disabling unnecessary options
* Revert CMakeLists.txt changes
2024-08-08 18:19:44 +03:00
IndecisiveTurtle
a32d8e1c55
vk_graphics_pipeline: Fix regression
2024-08-08 17:01:03 +03:00
TheTurtle
1a59ee87fe
filter: Add random library
2024-08-08 15:44:05 +03:00
TheTurtle
8809e1c226
video_core: Implement guest buffer manager ( #373 )
...
* video_core: Introduce buffer cache
* video_core: Use multi level page table for caches
* renderer_vulkan: Remove unused stream buffer
* fix build
* oops forgot optimize off
2024-08-08 15:02:10 +03:00
Leonardo
809945690a
qt_gui: Added feature to toggle (show/hide) game list view
...
"Show Game List" button originally didn't have any action assigned to it, so this PR is supposed to implement the change that would make sense to it (even though I don't think anyone would be using this too much.)
2024-08-08 00:23:54 -03:00
TheTurtle
e91da052c3
video_core: Minor fixes ( #366 )
...
* data_share: Fix DS instruction
* vk_graphics_pipeline: Fix unnecessary invalidate
* spirv: Remove subgroup id
* vector_alu: Simplify mbcnt pattern
* shader_recompiler: More instructions
* clang format
* kernel: Fix cond memory leak and reduce spam
* liverpool: Print error on exception
* build fix
2024-08-05 13:45:28 +03:00
DanielSvoboda
7c9fe2c831
add-SurfaceFormat ( #365 )
...
[Debug] <Critical> liverpool_to_vk.cpp:SurfaceFormat:395: Unreachable code!
CUSA24620
Unknown data_format=7 and num_format=7
CUSA03082
Unknown data_format=2 and num_format=4
CUSA19345
Unknown data_format=34 and num_format=7
CUSA02411
Unknown data_format=1 and num_format=9
A duplicate was also removed.
2024-08-04 22:17:34 +02:00
DanielSvoboda
25b9abec77
SampleCountFlagBits::e16 - GetGpuClock64 ( #360 )
...
* SampleCountFlagBits::e16
* GpuClock64
* GpuClock64
* Update pm4_cmds.h
* Update pm4_cmds.h
2024-08-04 15:49:43 +02:00
Xphalnos
aa9b70ae88
Minor Qt GUI update ( #363 )
...
* Minor Qt GUI update
* Update gui_context_menus.h
* Update gui_context_menus.h
* Update game_info.cpp
2024-08-04 16:07:10 +03:00
georgemoralis
526b0c0c4d
Merge pull request #356 from squidbus/macos-icon
...
Add macOS icon.
2024-08-01 08:42:44 +03:00
georgemoralis
bac1bcc1ce
Merge pull request #352 from Xphalnos/main
...
Better logo for shadPS4
2024-08-01 08:42:24 +03:00
squidbus
82919e44f0
Add macOS icon.
2024-07-31 19:37:55 -07:00
georgemoralis
6932746251
print git info to log as well
2024-08-01 01:11:58 +03:00
georgemoralis
2e48be9c0c
print git info in windows title
2024-08-01 00:56:10 +03:00
Xphalnos
3d5ea8d545
Merge branch 'main' of https://github.com/Xphalnos/shadPS4
2024-07-31 18:15:09 +02:00
Xphalnos
be7c3f2ef5
Better logo for shadPS4
2024-07-31 18:14:22 +02:00
georgemoralis
283e7c16f5
Merge pull request #346 from shadps4-emu/savedata_1
...
SaveData Fixes
2024-07-31 17:34:44 +03:00
Dzmitry Dubrova
479e6a20dd
core: Implement sceRandomGetRandomNumber ( #350 )
2024-07-31 14:01:22 +03:00
Xphalnos
518531c18b
Reorganization of includes ( #348 )
...
* Reorganization of includes
* fix
2024-07-31 13:25:55 +03:00
raziel1000
908f0f3e74
missing eR8Srgb
2024-07-31 02:07:02 -06:00
raziel1000
86e783f667
added data_format=1 and num_format=9
2024-07-31 01:24:44 -06:00
raziel1000
3aebe7eeb9
added data_format=10 and num_format=5
2024-07-31 00:32:50 -06:00
raziel1000
fb2b7e7bec
Kernel: added sceKernelConvertLocaltimeToUtc
2024-07-31 00:21:23 -06:00
raziel1000
bd36897084
- Implemented sceSaveDataSetParam and sceSaveDataGetParam
...
- Fixed sceSaveDataDirNameSearch
2024-07-30 22:55:58 -06:00
TheTurtle
bfc845324c
shader_recompiler: Small instruction parsing refactor/bugfixes ( #340 )
...
* translator: Implemtn f32 to f16 convert
* shader_recompiler: Add bit instructions
* shader_recompiler: More data share instructions
* shader_recompiler: Remove exec contexts, fix S_MOV_B64
* shader_recompiler: Split instruction parsing into categories
* shader_recompiler: Better BFS search
* shader_recompiler: Constant propagation pass for cmp_class_f32
* shader_recompiler: Partial readfirstlane implementation
* shader_recompiler: Stub readlane/writelane only for non-compute
* hack: Fix swizzle on RDR
* Will properly fix this when merging this
* clang format
* address_space: Bump user area size to full
* shader_recompiler: V_INTERP_MOV_F32
* Should work the same as spirv will emit flat decoration on demand
* kernel: Add MAP_OP_MAP_FLEXIBLE
* image_view: Attempt to apply storage swizzle on format
* vk_scheduler: Barrier attachments on renderpass end
* clang format
* liverpool: cs state backup
* shader_recompiler: More instructions and formats
* vector_alu: Proper V_MBCNT_U32_B32
* shader_recompiler: Port some dark souls things
* file_system: Implement sceKernelRename
* more formats
* clang format
* resource_tracking_pass: Back to assert
* translate: Tracedata
* kernel: Remove tracy lock
* Solves random crashes in Dark Souls
* code: Review comments
2024-07-30 23:32:40 +02:00
georgemoralis
156e500d21
Merge pull request #343 from Borchev/AddPthreadGetStackSizeThunk
...
Add pthread_attr_getstacksize thunk
2024-07-30 23:36:39 +03:00
Borchev
03560c019e
Fix SearchFree function bug ( #339 )
2024-07-30 22:40:42 +03:00
Borchev
35cb8810cb
Add pthread_attr_getstacksize thunk
2024-07-30 12:37:05 -07:00
georgemoralis
7b8d0d59af
kernel: Implement sceKernelSetVirtualRangeName ( #338 )
...
* Fix in searchFree should fix #337
* clang format fix
* sceKernelSetVirtualRangeName implementation
* improved vaddr conversion
* updated VirtualQuery to include name too
* unmap also removed name thanks @red_prig
* fixed copy...
2024-07-29 19:08:06 +03:00
squidbus
e2bdbeaf80
Add sem_timedwait polyfill for macOS.
2024-07-28 16:42:33 -07:00
Vasyl Baran
1f171ee01a
Fixup for detiler artifacts on macOS
2024-07-28 22:21:18 +03:00
Dzmitry Dubrova
c3a2b3531d
Implement some pthread calls ( #332 )
2024-07-28 18:43:44 +03:00
DanielSvoboda
f751f7cc09
log improvement ThrowInvalidType ( #330 )
...
* log improvement ThrowInvalidType
* log improvement ThrowInvalidType
2024-07-28 18:42:54 +03:00
psucien
8dbfac7b64
Surface management rework (2/3) ( #329 )
...
* texture_cache: interface refactoring
* a bit of fixes and improvements
* texture_cache: macro tile extents for bpp 128
* texture_cache: detiler: prefer host memory for large buffers upload
2024-07-28 17:20:42 +02:00
TheTurtle
5363a226e1
Move presentation to separate thread/improve sync ( #303 )
...
* video_out: Move presentation to separate thread
* liverpool: Better sync for CPU flips
* driver: Make flip blocking
* videoout: Proper flip rate and vblank management
* config: Add vblank divider option
* clang format
* videoout: added `sceVideoOutWaitVblank`
* clang format
* vk_scheduler: Silly merge conflict
* externals: Add renderdoc API
* clang format
* reuse
* rdoc: manual capture trigger
* clang fmt
---------
Co-authored-by: psucien <168137814+psucien@users.noreply.github.com>
2024-07-28 15:54:09 +02:00
Vinicius Rangel
40f21d4a79
fix tls patch on windows ( #328 )
...
* fix tls patch on windows
based on TlsGetValue in kernel32.dll
* fix tls patch on windows for expansion slots
2024-07-27 20:16:21 +03:00
Vinicius Rangel
9d8cbdc507
64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 ( #310 )
...
* impl V_ADDC_U32 & V_MAD_U64_U32
* shader recompiler: add 64 bits version to get register / GetSrc
* fix V_ADDC_U32 carry
* shader recompiler: removed automatic conversion to force_flt in GetSRc
* shader recompiler: auto cast between u32 and u64 during ssa pass
* shader recompiler: fix SetVectorReg64 & standardize switches-case
* shader translate: fix overflow detection in V_ADD_I32
use vcc lo instead of vcc thread bit
* shader recompiler: more 64-bit work
- removed bit_size parameter from Get[Scalar/Vector]Register
- add BitwiseOr64
- add SetDst64 as a replacement for SetScalarReg64 & SetVectorReg64
- add GetSrc64 for 64-bit value
* shader recompiler: add V_MAD_U64_U32 vcc output
- add V_MAD_U64_U32 vcc output
- ILessThan for 64-bits
* shader recompiler: removed unnecessary changes & missing consts
* shader_recompiler: Add s64 type in constant propagation
2024-07-27 17:23:59 +03:00
TheTurtle
6eefcb2780
semaphore: Yet another race condition fix ( #327 )
2024-07-27 17:18:18 +03:00
georgemoralis
7cfa76aa8e
Merge pull request #325 from DanielSvoboda/BUFFER_STORE_DWORDX2
...
BUFFER_STORE_DWORDX2
2024-07-26 13:17:16 +03:00
raziel1000
abf7cea257
fs: added /download0 mount
...
fs: get rid of double slashes
2024-07-26 08:07:22 -06:00
georgemoralis
0d9273e2fb
added /dev/urandom
2024-07-26 08:50:39 +03:00
georgemoralis
fb0e1ab435
commented sem_timedwait for linux untill @squidbus fix it
2024-07-26 08:16:32 +03:00
georgemoralis
adfb08d660
cleanup memory_management
2024-07-26 08:08:47 +03:00
raziel1000
9523c4f6e4
...
2024-07-26 07:59:55 +03:00
raziel1000
3d73174659
Applied feedback from @raphaelthegreat
2024-07-26 07:59:35 +03:00
georgemoralis
1f5d200521
forgot a file
2024-07-26 07:53:46 +03:00
georgemoralis
7fe993f593
some fixup to playgo , makes Worms go further
2024-07-26 07:53:45 +03:00
raziel1000
ee65797c86
- fixed sceAppContentTemporaryDataMount2
2024-07-26 07:53:19 +03:00
raziel1000
ea571a9ac5
sdl window: Added game title (serial, title and app_ver)
2024-07-26 07:53:18 +03:00
raziel1000
a5cea0cb4b
thread_management: some pthread functions
2024-07-26 07:53:18 +03:00
raziel1000
3c05ce04c2
save_data: fix/accuracy for saveDataMem functions
2024-07-26 07:53:18 +03:00
DanielSvoboda
88cd3172ff
BUFFER_STORE_DWORDX2
2024-07-26 00:25:29 -03:00
TheTurtle
0c96f2a030
memory: Cleanups and refactors ( #324 )
...
* memory: Various fixes
* Added (Partial) sceKernelBatchMap/sceKernelBatchMap2
* memory: Rename and implement batch unmap
* memory: Remove uneeded assert
* memory: Commonize free search routine
* memory: Contains check is inclusive
* memory: Address some alignment issues
* clang format
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-25 23:01:12 +03:00
georgemoralis
be0a88fdfa
clang fix
2024-07-25 11:59:39 +03:00
IndecisiveTurtle
237033bc57
address_space: Fix windows placeholder mapping
2024-07-24 22:59:56 +03:00
DanielSvoboda
53b8338091
I fixed the button, PKG patch version is older
...
I fixed the button, PKG patch version is older
2024-07-23 19:21:54 -03:00
squidbus
70847979ae
Replace remaining uses of QDir::currentPath() / user with UserDir.
2024-07-21 14:01:10 -07:00
georgemoralis
d8590ac812
one more memory fix
2024-07-21 23:16:46 +03:00
georgemoralis
18084c0212
memory fix
2024-07-21 23:14:40 +03:00
georgemoralis
8db440573d
Merge pull request #312 from Borchev/main
...
Add sceKernelGetDirectMemoryType, update sceKernelReserveVirtualRange
2024-07-21 22:52:50 +03:00
squidbus
ec9146b7b2
Allocate more system reserved space on macOS and document restrictions.
2024-07-21 22:36:12 +03:00
squidbus
bb7215977f
Support RIP relative memory operands in patched instructions.
2024-07-21 22:36:12 +03:00
squidbus
cfd6662d5e
Fix user data path on macOS.
2024-07-21 22:36:12 +03:00
squidbus
8d12c06de4
Update format list for rebase and sort and remove duplicates.
2024-07-21 22:36:12 +03:00
squidbus
5e4ecb0a7f
Restore old keybindings for Windows and Linux.
2024-07-21 22:36:12 +03:00
squidbus
6783776990
Only use date library on macOS.
2024-07-21 22:36:12 +03:00
squidbus
bfb0eb7711
Make sure only system managed region can be moved on Windows.
2024-07-21 22:36:12 +03:00
squidbus
e820ecc5ba
Only patch BMI1 instructions under Rosetta 2.
2024-07-21 22:36:12 +03:00
squidbus
40a99f177b
Add a few missing used formats from detiling.
2024-07-21 22:36:12 +03:00
squidbus
09727ce9d6
Define tessellation_factors_ring_addr relative to end of system reserved area.
2024-07-21 22:36:12 +03:00
squidbus
d5e45d001e
Reduce system reserved space to 0x700000000 and map fixed on macOS.
2024-07-21 22:36:12 +03:00
squidbus
d07a52df13
Address review comments around memory and patches.
2024-07-21 22:36:12 +03:00
squidbus
bdca446c5e
Make sure system managed memory is in correct location on macOS.
2024-07-21 22:36:12 +03:00
squidbus
9d75d38b96
Fix missing logging on memory manager initalization.
2024-07-21 22:36:12 +03:00
squidbus
c15f6b4461
Change format list from vector to array/span.
2024-07-21 22:36:12 +03:00
squidbus
2c37254fd0
Tidy up Vulkan extension list.
2024-07-21 22:36:12 +03:00
squidbus
6648589ef9
Set minimum macOS target to 11 and fix compile errors.
2024-07-21 22:36:12 +03:00
squidbus
c26dcb65c8
Remap SDL face buttons to be usable without a keypad.
2024-07-21 22:36:12 +03:00
squidbus
aef76187e9
Add fallback system for unsupported pixel formats.
2024-07-21 22:36:12 +03:00
squidbus
063da896ba
Downgrade Vulkan requirement to 1.2 with extensions.
2024-07-21 22:36:12 +03:00
squidbus
b5d0347c15
Migrate TLS patches to new patching system.
2024-07-21 22:36:12 +03:00
squidbus
38398a2175
Fix one-off bug with user data registers.
2024-07-21 22:36:12 +03:00
squidbus
d42a32bbd8
Add initial macOS support.
2024-07-21 22:36:12 +03:00
Borchev
b3350ceabb
Fix formatting
2024-07-21 12:35:01 -07:00
Borchev
632cb2ef93
Add sceKernelGetDirectMemoryType and update sceKernelReserveVirtualRange to search for free region when virtual_addr==0
2024-07-21 11:29:24 -07:00
TheTurtle
7c08ca9544
vk_scheduler: Fix pending op check
2024-07-21 17:41:46 +03:00
TheTurtle
986b3af62b
vk_scheduler: Add api for defering operations ( #311 )
2024-07-21 15:42:32 +03:00
psucien
2b31ab1e71
Surface management rework (1/3) ( #307 )
...
* amdgpu: proper CB and DB sizes calculation; minor refactoring
* texture_cache: separate file for image_info
* texture_cache: image guest address moved into image info
* texture_cache: surface size calculation
* shader_recompiler: fixed sin/cos
Thanks to red_pring and gandalfthewhite0173
* initial preparations for subresources upload
* review comments
2024-07-20 12:51:21 +03:00
TheTurtle
e70ce517cc
spirv: Address some regressions in buffer loads ( #304 )
...
* spirv: Use correct index
* spirv: Fix indices during buffer load
* clang-format fix
* spirv: Index can be const
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-07-19 19:36:07 +03:00
georgemoralis
75d72867ab
Merge pull request #281 from shadps4-emu/miscFixes6
...
Misc Fixes (forgot the number)
2024-07-19 16:35:19 +03:00
Vladislav Mikhalin
6c7825f31f
Fixed buffer_store_* regression ( #302 )
2024-07-18 21:04:12 +03:00
georgemoralis
a790fd84aa
load every available prx from sce_module folder of game
2024-07-18 18:34:08 +03:00
georgemoralis
e8bd2a3334
Update liverpool_to_vk.cpp
2024-07-18 18:19:46 +03:00
georgemoralis
879b8dcfe8
Merge branch 'main' into miscFixes6
2024-07-18 18:18:10 +03:00
Dzmitry Dubrova
788bdf6d2a
kernel: Implement posix_pthread_once ( #297 )
...
* kernel: Implement posix_pthread_once
* Fix clang format
2024-07-17 23:34:22 +03:00
georgemoralis
baf9ee9125
force imedialog to input "shadps4" as name . That way we can pass games that want username . temp solution till imgui dialog prepared
2024-07-17 20:32:14 +03:00
georgemoralis
9f1251b643
clang format fix
2024-07-17 17:57:54 +03:00
IndecisiveTurtle
0e1d5263d2
Remove bc6
2024-07-17 17:06:09 +03:00
IndecisiveTurtle
70e74160d7
shader_recompiler: Normal gathers
2024-07-17 16:49:45 +03:00
IndecisiveTurtle
c745e429e7
rasterizer: Bump staging to 1GB
...
* Less chances of crashing
2024-07-17 16:22:04 +03:00
IndecisiveTurtle
40924d1325
liverpool_to_vk: Add more surface formats
2024-07-17 16:19:08 +03:00
IndecisiveTurtle
1c99ccf6dc
Add comments
2024-07-17 15:52:40 +03:00
IndecisiveTurtle
31801d97b3
emulator: Add libSceUlt too
2024-07-17 15:44:20 +03:00
IndecisiveTurtle
516170a837
emulator: Add libSceFiber and simplify logic
2024-07-17 15:37:32 +03:00
IndecisiveTurtle
5ce901d78b
event_queue: Add clear flag to events and don't return error
2024-07-17 14:50:26 +03:00
IndecisiveTurtle
33615d1d32
gnmdriver: Fix incorrect trailing nop insertion in indirect draws
2024-07-17 14:48:30 +03:00
IndecisiveTurtle
b977dc4d8e
fs: Defeat games with double slashes
2024-07-17 14:46:37 +03:00
georgemoralis
d919baa160
Merge pull request #252 from qurious-pixel/patch-1
...
Move "game_data" to RW directory inside user folder for linux
2024-07-16 23:05:29 +03:00
Vladislav Mikhalin
f1d1af2dba
Implemented load_buffer_format_* conversions ( #295 )
...
* Implemented load_buffer_format_* conversions
* clang-format insists on ugly things
2024-07-16 15:03:07 +03:00
squidbus
378e136ba0
Return EBUSY from sceKernelPollEventFlag instead of ETIMEDOUT.
2024-07-16 04:53:37 -07:00
TheTurtle
83b12859a5
fs: Fix nullptr check in GetFile
2024-07-15 16:52:24 +03:00
TheTurtle
c4c1dfaa62
fs: Use proper append operator
2024-07-15 15:42:35 +03:00
georgemoralis
6202c21106
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
IndecisiveTurtle
3e8540bb6a
fs: Remove some unnecessary string conversions
2024-07-15 15:14:04 +03:00
IndecisiveTurtle
c2c6aededa
Merge branch 'misc-fixes3' of https://github.com/shadps4-emu/shadPS4 into misc-fixes3
2024-07-15 15:05:29 +03:00
IndecisiveTurtle
f315f74f2d
kernel: Remove linux hack
...
* Breaks many games, only benefits BB. Tbd
2024-07-15 14:51:45 +03:00
IndecisiveTurtle
16a778745d
fs: Fix case of getting the mount itself
2024-07-15 14:50:28 +03:00
georgemoralis
9b3ea720a8
windows std::filesystem fixes
2024-07-15 14:50:23 +03:00
georgemoralis
909fcb5b75
clang format fix
2024-07-15 14:18:28 +03:00
IndecisiveTurtle
01f26998f8
ssa_rewrite_pass: Correct phi node type for thread bitmask
2024-07-15 13:34:34 +03:00