Commit Graph

141 Commits

Author SHA1 Message Date
Alexandre Bouvier
4ebb90c774
cmake: hot fixes (#1638) 2024-12-01 11:16:01 +02:00
Alexandre Bouvier
5f4d03172f
cmake: unbundle libpng (#1576) 2024-11-30 22:39:51 +02:00
squidbus
7153838c4e
libraries: Add initial HLE JPEG encoder skeleton (#1607)
* libraries: Add initial HLE JPEG encoder skeleton

* jpegenc: Finish adding parameter validation.

* updated enums , added logging

* jpegenc: Clean up parameter validations.

* jpegenc: Fix missing log.

* externals: Update ffmpeg-core

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-11-30 21:43:12 +02:00
psucien
add6eeeb8a update: Tracy 0.11.1 2024-11-24 11:37:14 +01:00
georgemoralis
8c9d7d1a08
Port libpngdec to libpng (#1555)
* intial try to include libpng

* fixing libpng cmake

* cleanup structs and error codes

* building libpng , destroying pkg ;/

* fixed pkg with zlib_comp mode

* attemp to fix ci

* rewrote png encoder with libpng

* small corrections

* clang fix

* clang-fix?

* take alpha value from decode parameters

* more cleanup

* fix stride calculation

* libpng: avoid unnecessary allocation in decoding

* libpng: interlaced support

* libpng: lowered log level

* revert wrong merge

---------

Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
2024-11-22 12:42:53 +02:00
Vladislav Mikhalin
46ac48c311
AJM: Added some missing features (#1489)
* AJM: Added support for different PCM formats

* updated libatrac9 ref

* remove log

* Add support for non-interleaved flag

* Added support for output sideband format query
2024-11-06 22:39:43 +02:00
georgemoralis
f068f13e4a
Ajm (#1456)
* ajm: Initial ajm implementation

* AJM code improvements (#1453)

* Fix sideband buffer order (#1454)

* ajm: Attempt to add gapless support

* ajm_at9: Return superframes decoded in a single job

* WIP (#1460)

* Fix gapless decode and combine split buffers

* Fixed linux build

* fix number of samples reported with gapless decoding

* fixed number of remaining samples calculation

should fix the small crackling sounds that play every now and again

* refactor half ajm

* refactored most of ajm

* refactored ajm

* clang-format, in-repo libatrac9, removed debug stuff

---------

Co-authored-by: auser1337 <aaravsandhu10@outlook.com>
Co-authored-by: Vladislav Mikhalin <mikhalinvlad@gmail.com>
Co-authored-by: IndecisiveTurtle <geoster3d@gmail.com>
2024-11-05 09:16:57 +02:00
TheTurtle
0ecb6695de
cmake: Allow disabling discord rpc (#1416) 2024-10-19 16:09:36 +03:00
Alexandre Bouvier
9814a1b788
cmake: unbundle half library (#1393) 2024-10-18 07:52:57 +03:00
georgemoralis
f79b7f10ab Revert "Update CMakeLists.txt (#1396)"
This reverts commit 0f0d9740c2.
2024-10-16 19:51:16 +03:00
¥IGA
0f0d9740c2
Update CMakeLists.txt (#1396) 2024-10-16 19:34:17 +03:00
Lander Gallastegi
877cda9b9a
video_core: Rework clear values (#1381)
* Clear color convertion

* Add missing formats

* Add swap handling

* Format bits and offsets

* clang-format

* Make num_components const

* Initialize alpha to 1

* Handle SnormNz as Snorm

* Don0t leave accidental nonzero values

* parallel3 for linux-qt

* Move number_utils to common
2024-10-16 12:55:45 +03:00
¥IGA
f0ee3919e0
improved documentation + better toolbar icons (#1364) 2024-10-13 15:03:19 +03:00
baggins183
ddb0928f10
update boost submodule. Add boost includes in subproject instead of externals/CMakeLists.txt (#1307) 2024-10-09 13:46:04 +03:00
Alexandre Bouvier
7d4f1ce5f9
fix some warnings (#1306) 2024-10-09 09:28:09 +03:00
Alexandre Bouvier
e45eb0da9a
discord-rpc: fix tracked commit (#1294) 2024-10-08 19:37:20 +03:00
delledev
3e7137cc6b
added discord rpc (#1178)
* added discord rpc

* linting issues

* Revert "linting issues"

This reverts commit 55f4e39506.

* fix clang-format issues

* removed wrong rpc submodule

* added correct rpc submodule

* Moved cmake instructions to correct files.

* added minor suggestions from pr

* Added an option to enable/disable RPC, added rpc to emulator.cpp making it work on nonqt builds

* typo & minor stuff

* Changed getInstance implementation with Singleton class.

* Update discord_rpc_handler.cpp

discord id

* fixed ci clangformat errors

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-10-08 18:14:37 +03:00
georgemoralis
d7e5b5f13f
updated sdl to fix touchpad issue (#1275) 2024-10-07 13:04:09 +03:00
baggins183
3c0255b953
DebugPrintf in shaders (#1252)
* Add shader debug print opcode that uses NonSemantic DebugPrintf extension

* small correction for flags in Inst

* Fix IR Debug Print. Add StringLiteral op

* add missing microinstruction changes for debugprint

* cleanup. delete vaarg stuff. Smuggle format string in Info and flags

* more cleanup

* more

* (dont merge??) update sirit submodule

* fix num args 4 -> 5

* add notes about DebugPrint IR op

* use NumArgsOf again

* copyright

* update sirit submodule

* fix clangformat

* add new Value variant for string literal. Use arg0 for fmt string

* remove string pool changes

* Update src/shader_recompiler/ir/value.cpp

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>

---------

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-10-06 22:34:40 +03:00
Vinicius Rangel
af398e3684
Devtools: PM4 Explorer (#1094)
* Devtools: Pause system

* Devtools: pm4 viewer

- new menu bar
- refactored video_info layer
- dump & inspect pm4 packets
- removed dumpPM4 config
- renamed System to DebugState
- add docking space
- simple video info constrained to window size

* Devtools: pm4 viewer - add combo to select the queue

* Devtools: pm4 viewer - add hex editor

* Devtools: pm4 viewer - dump current cmd

* add monospaced font to devtools

* Devtools: pm4 viewer - use spec op name

avoid some allocations
2024-10-03 22:43:23 +02:00
¥IGA
bc6c0de76d
Better screenshots for 0.3.0 + misc changes (#1122)
* Better screenshots for 0.3.0 + misc changes

* Update BloodBorne screenshot
2024-09-28 16:17:11 +03:00
CrazyBloo
74c2888aaa
support for unlocking trophies (#854)
* add pugixml

* trophy_viewer: support for trophy unlocking

* nptrophy: UnlockTrophy(), DestroyContext()

* initial imgui popup

* queue to handle multiple trophies at once

* extract trophy info on game start + various fixes

* platinum trophy support + extract trophy data on startup

* format

* nptrophy: GetTrophyUnlockState

* implement vinicius' reviews
2024-09-11 06:50:55 +03:00
squidbus
411449cd51
Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
Vinicius Rangel
035cb3eeaa
Dear ImGui Implementation (#598)
* added imgui as dependency

* imgui renderer/basic input implementation

* imgui: add layers system

Add video info layer to show fps. Press F10 to toggle it.

* imgui: add custom imgui config

* imgui: gamepad capture, stopping propagation

* imgui: changed config & log file path to use portable dir

* videoout: render blank frame when video output is closed

required to render imgui even when game has no video output

- fixed merge compile-error
2024-09-08 22:50:32 +03:00
Xphalnos
7886761476 Reorganization of includes (Part 2) 2024-08-30 15:48:21 +02:00
squidbus
a17150960f Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
Xphalnos
d4be3dbb31 Lot of small fixes 2024-08-22 18:01:30 +02:00
Xphalnos
70576035b0 Misc changes 2024-08-18 17:56:29 +02:00
Alexandre Bouvier
ad60ae1d40
cmake: prefer system ffmpeg library (#451) 2024-08-16 18:56:47 +03:00
Vladislav Mikhalin
b5c69189e5 avplayer WIP 2024-08-15 22:00:51 +03:00
TheTurtle
1fb0da9b89
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
georgemoralis
54b20e2938 update submodules for some neccesary sdl addons 2024-08-09 13:04:00 +03:00
georgemoralis
6a2e09a1df update submodules (possible mac fix?) 2024-08-09 00:02:25 +03:00
georgemoralis
5a68224a13 update submodules , fixed sdl update , rewrote config with new toml11 v4 2024-08-09 00:02:24 +03:00
georgemoralis
e5087877ae revert some sdl switches 2024-08-08 22:31:14 +03:00
Xphalnos
254b9ffb50
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
georgemoralis
62e501f31f print git info in windows title 2024-08-01 00:56:10 +03:00
TheTurtle
0d6edaa0a0
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
squidbus
426d82d07b Only use date library on macOS. 2024-07-21 22:36:12 +03:00
squidbus
66fa29059c Add initial macOS support. 2024-07-21 22:36:12 +03:00
psucien
2b52a17845 externals: Tracy updated to 0.11 2024-07-20 11:30:55 +02:00
georgemoralis
fcc931956e submodules updated 2024-07-19 09:02:36 +03:00
georgemoralis
d00a2465d5 update fixes for winpthreads 2024-07-19 08:50:55 +03:00
IndecisiveTurtle
432defd992 externals: Disable sdl pipewire
* Fixes audio problems in certain games
2024-07-15 01:29:16 +03:00
georgemoralis
63795ddb3a fixed CMakeLists 2024-07-11 13:14:42 +03:00
georgemoralis
18f922b28b changed path to boost so it doesn't conflict with previous 2024-07-11 13:14:42 +03:00
psucien
d3e8e95334 boost: submodule update 2024-07-11 13:14:42 +03:00
psucien
bad51953ac boost: latest updates 2024-07-11 13:14:42 +03:00
psucien
034b76eb33 boost submodule added 2024-07-11 13:14:42 +03:00
psucien
d6d2ed6e33 boost submodule removed 2024-07-11 13:14:42 +03:00
georgemoralis
d4d7e9f5f6 removed hardware info seems make perfomance issues , will test something more lightweight 2024-07-06 10:27:57 +03:00
georgemoralis
134541bdcd submodules updates 2024-07-05 15:08:33 +03:00
Younes
8ce6ed4b59
Merge branch 'main' into miscFixes2 2024-07-04 20:51:04 -06:00
TheTurtle
6ceab6dfac
shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231)
* shader_recompiler: Add LDEXP

* shader_recompiler: Add most image integer atomic ops

* shader_recompiler: Implement shared memory load/store

* shader_recompiler: More image atomics

* externals: Update sirit

* clang format

* cmake: Add missing files

* shader_recompiler: Fix some atomic bugs

* shader_recompiler: Vs outputs

* shader_recompiler: Shared mem has side-effects, fix format component order

* shader_recompiler: Inline constant buffer impl

* video_core: Fix regressions

* Work

* Fixup a few things
2024-07-05 00:15:44 +03:00
georgemoralis
a91c049754 added library to print system info to be able to debug user files better 2024-07-04 14:30:34 +03:00
Xphalnos
d424c65e8d Update externals 2024-07-01 18:39:12 +02:00
georgemoralis
0a33f8f799 updated sdl to fix keyboard issue 2024-06-30 00:32:42 +03:00
georgemoralis
0ada442cbc
Stabilization8 (#218)
* disable configured flexible memory size (caused issues in some games)

* fixed case S_OR_B64 for blazing chrome

* submodules updates and fixes for latest SDL

* stubbed _sigprocmask (not handled and spams too much)

* added ReplaceOp case in Stencilop

* dummy ajm module added
2024-06-27 16:37:17 +03:00
Alexandre Bouvier
f5541e3c3d
cmake: prefer system libraries (#216) 2024-06-27 13:46:55 +03:00
Alexandre Bouvier
a2224a9b6b fix system include paths 2024-06-25 18:17:16 +02:00
Xphalnos
7fe5f12f29 Screenshots fix 2024-06-23 09:04:16 +02:00
psucien
abe2771c73 switch to the org's sirit submodule 2024-06-17 00:33:12 +02:00
Xphalnos
d1f409f373 Screenshots 2024-06-14 14:59:22 +02:00
Xphalnos
eb22704771 More screenshots for README 2024-06-14 14:32:41 +02:00
georgemoralis
400d910743
Merge pull request #184 from shadps4-emu/externals/tracy
Tracy profiler
2024-06-12 17:19:44 +03:00
psucien
955752a24b tracy: submodule update 2024-06-11 21:58:35 +02:00
Xphalnos
7c7b617852 Minor fixes 2024-06-11 18:15:36 +02:00
psucien
e89b2d1cdd Added Tracy profiler 2024-06-11 11:17:46 +02:00
georgemoralis
13cd22aea6 depedencies updates and fixes 2024-06-10 14:04:32 +03:00
Xphalnos
309e90783e Various changes 2024-06-01 08:18:33 +02:00
raphaelthegreat
58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
TheTurtle
3c90b8ac00
video_core: Bringup some basic functionality (#145)
* video_core: Remove hack in rasterizer

* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers

* shader_recompiler: Implement attribute loads/stores

* video_core: Add basic vertex, index buffer handling and pipeline caching

* externals: Make xxhash lowercase
2024-05-25 15:33:15 +03:00
georgemoralis
b0243dd3e5 fixed a few compiler issues 2024-05-22 14:18:05 +03:00
TheTurtle
8730968385
video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
Xphalnos
8cf64a33b2
Migrating from third-party to externals (#138)
* third-party migration to externals

* Fix

* Lower case for Linux
2024-05-18 20:05:18 +03:00
psucien
3d5be23671 stb image moved to externals 2024-05-16 16:59:04 +03:00
TheTurtle
55855b4195
core: Implement new memory manager (#133)
* core: Implement new memory manager

* ci: Attempt to fix linux build

* code: Fix a few build errors
2024-05-16 15:55:50 +03:00
georgemoralis
fc0288d1e5 submodules updated 2024-05-10 00:48:23 +03:00
georgemoralis
b00b849d3f use winpthreads from mingw64 2024-05-09 23:45:09 +03:00
TheTurtle
1b9bf924ca
core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
georgemoralis
4394191fae boost submodule was added wrong 2024-04-14 20:18:20 +03:00
GPUCode
c01b6f8397 video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
georgemoralis
e99129d72f
several fixes (#112)
* updated fmt

* submodules updated

* fixed _TIMESPEC_DEFINED for winpthreads under windows

* fixed sdl3 under qt

* virtual_memory: Ensure mapped addresses stay inside the user area

* Fixes LLE Libc crashing on linux

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-04-13 22:37:21 +03:00
georgemoralis
6ca53f8b99 update sdl3 to latest 2024-04-09 13:49:26 +03:00
georgemoralis
7799211100 removed module 2024-03-23 10:00:38 +02:00
georgemoralis
2e931c9f72
More modules (#99)
* added dummy sceAudio lib

* added lseek in file_system

* updated sdl3

* forgot sdl3 in cmake

* cmake is case sensitive in linux

* fixed SDL_CreateWindowWithPosition

* fixed vulkan issues with latest sdl3

* some progress in sceAudio

* improvements in audio

* more sound improvements

* first working sound output , from openorbis sound demo

* updated sdl3 , zlib-ng can now be build with msvc+clangci

* fixed cmake

* fix for audio buffering

* clang format fix

* format fix

* better error handling for sceAudioOutput
2024-03-22 18:12:37 +02:00
georgemoralis
02cbebbf78
file formats and qt (#88)
* added psf file format

* clang format fix

* crypto functions for pkg decryption

* pkg decryption

* initial add of qt gui , not yet usable

* renamed ini for qt gui settings into shadps4qt.ini

* file detection and loader support

* option to build QT qui

* clang format fix

* fixed reuse

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.h

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* uppercase fix

* clang format fix

* small fixes

* let's try windows qt build ci

* some more fixes for ci

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update .github/workflows/windows-qt.yml

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/psf.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* loader namespace

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* constexpr magic

* linux qt ci by qurious

* fix for linux qt

* Make script executable

* ci fix?

---------

Co-authored-by: raziel1000 <ckraziel@gmail.com>
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-03-01 00:00:35 +02:00
georgemoralis
99d013f612 initialaze submodules properly 2024-02-28 19:01:34 +02:00
georgemoralis
47e2619b51 update discord submodule 2024-02-28 14:36:44 +02:00
georgemoralis
b3084646a8
submodules fixes (#87)
* update discord-rpc

* ignore gitmodules on reuse

* imgui not used atm removed
2024-02-27 20:24:47 +02:00
georgemoralis
08aba86ca1
Modules generation tool (#81)
* Modules generation tool

* apply clang format to generator

* @whereismyfoodat suggestions

* added reuse headers

* reuse part2

* reuse part3

* reuse part3

* replace with hex_id the unknown functions to avoid compile errors with unknown characters from encode_id

* fixes in generation

* some sample module code from autogen tool

* clang format fix
2024-02-24 22:39:29 +02:00