Commit graph

215 commits

Author SHA1 Message Date
Pedro Montes Alcalde
4a14d546ba
Tick Tick Tick, thats the sound of 2024 flying by (#3503) 2025-01-19 18:51:43 -03:00
SaturnSky
934fdadd47 modules/SceGxm: Improve sync object handling and simplify display queue logic 2024-11-05 21:33:59 +01:00
Saturnsky
52b82dd31d
modules/SceGxm: Prevent viewport updates outside of the scene (#3400) 2024-10-17 21:53:12 +02:00
scribam
77abeaa167
vita3k: More cleanup (#3379)
* vita3k: Use C++17 nested namespace definition

* vita3k: Remove redundant call to c_str()

* vita3k: Prefer C++ header

* vita3k: Use structured bindings

* shader: Add explicit fallthrough

* vita3k: Cleanup headers and dependencies

* util: Add WIN32_LEAN_AND_MEAN before <Windows.h>

* modules: Remove redundant 'const' specifier on a constexpr variable

* modules: Remove redundant return statement at the end of a function with a void return type

* clang-format: Use C++20 standard

* vita3k: Insert new line at EOF

* host: rename filesystem.hpp to filesystem.h
2024-09-18 21:48:08 +02:00
Seungyun Lee
418f234394
ci: respond to github action's macOS runner change (#3282) 2024-04-26 23:31:14 +02:00
bookmist
1fda880a94 vita3k: big code cleanup
Improvements
* lang: a bit more verbose error on wrong lang xml

Bugfixes
* kernel/sync_primitives: fix theoretically possible AV
* modules/SceAudio: a bit more correct sceAudioOutSetConfig
* fix wrong objects initialisation ({0} -> {})

Warning fixes
* clang warning: Macro argument should be enclosed in parentheses
[bugprone-macro-parentheses]
* modules: set unsigned type for Sce*ErrorCode enums
* clang warning: variable might be not be initialized
* clang warning: Function returns by const value. Consider returning by non-const value instead.
* clang warning: Prefer transparent functors [modernize-use-transparent-functors]

Refactoring
* io/device: move functions implementation from .h to .cpp file
* vita3k: fix fs::path usage
* clang warning: 'if' statement is unnecessary; deleting null pointer has no effect
* vita3k: use structured bindings and references in for-each-loops
* vita3k: simplify container operations, extract frequent operations to utility functions
* clang⚠️ 'contains' member function can be used
* kernel/sync_primitives: refactoring. drop unused parameter of handle_timeout
* vita3k: drop unused function parameters

* vita3k: fix typecasts
use static_cast instead of reinterpret casts if possible
use correct constants (1/1.0/1.0f)
correct variable types to minimise typecasts
use explicit typecasts (not everywhere)
replace c-style typecasts to c++ style typecasts (not everywhere)
* clang warning: remove redundant typecasts
* clang warning: Cast drops const qualifier

Optimisation
* vita3k: remove unused includes
* clang warning: Constness of returning variable prevents automatic move
[performance-no-automatic-move]
* clang warning: String concatenation results in allocation of unnecessary temporary strings
[performance-inefficient-string-concatenation]
* vita3k: use std::move
* vita3k: optimization. push_back -> emplace_back
* vita3k: fix datatypes to avoid unnesessary conversions
* clang warning: remove unneeded string->c_str->string conversion
* clang warning: The parameter is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
* clang warning: 'find' called with a string literal consisting of a single character
[performance-faster-string-find]
* clang warning: Result of a postfix operator is discarded, consider replacing it with a prefix operator
* clang warning: Pass value parameters by const reference

Code cleanup
* io/io: remove once used variables
* net/posixsocket: remove struct keyword
* vita3k: use raw string literals to avoid excessive escaping
* vita3k: refactoring. replace Ptr<> to pointer in Sce functions
* vita3k: drop unused variables and incorrect comments
* clang warning: readability-inconsistent-declaration-parameter-name
* clang warning: Extra ';' after member function definition
* clang warning: Possible misuse of comma operator (, is used instead of ;)
* clang warning: Algorithm accepting an iterator and a count can be used
* clang warning: Declaration and assignment can be joined
* clang warning: Type trait can be simplified using a template alias or a variable template

* vita3k: cleanup class methods
remove unimplemented (and obviously not used) methods
move deleted methods to public
change empty body to =default
remove auto constructors
set member default values
2024-03-18 15:44:56 +03:00
Macdu
26a79d2d9d
renderer: Improve transfer copy and downscale (#3232) 2024-03-11 22:35:28 +01:00
bookmist
6ce9b6598e vita3k: some minor bugfixes
kernel/thread: fix possible crash in log_stack_traceback
modules/SceLibKernel: more correct sceClibSnprintf
kernel/load_self: fix possible crash on incorrect library modules. load process params from first loaded module (eboot.bin) only
modules/SceGxm: fix crash if display_thread not found
kernel/debugger: remove direct access to mem.memory to support memory mapping more complete
vita3k: remove direct access to kernel.threads (it's not thread-safe)
vita3k: implement and fix virtual destructors for class hierarchies to prevent memory leaks (except screen_filters)
clang-tidy warning: Constructing string from nullptr is undefined behaviour
clang warning: use after std::move
2024-02-12 20:21:40 +03:00
bookmist
d3f3038aee vita3k: set fs::path type for string paths and refactoring
avoid not need conversion string->wstring->string for linux and macos
native logging of fs::path
more correct conversion from std path to boost path
refactor pathes for shaders compiler, shorten parameters lists
crypto::hex_string: remove not needed null character as last character in string
2024-01-24 11:33:30 +03:00
Pedro Montes Alcalde
34565e3ef4
Vita2024K: Happy 2024 2024-01-01 12:36:32 -03:00
Macdu
b4ce2bdbac
modules/SceGxm: Improve softlock prevention for sync object (#3162) 2023-12-31 16:38:51 +01:00
Macdu
bef1567a61
renderer/vulkan: Implement async pipeline compilation (#3145) 2023-12-25 23:56:48 +01:00
Macdu
a49d8923d4
modules/SceGxm: Workaround to prevent softlock when swapping images (#3140) 2023-12-25 16:48:31 +01:00
Macdu
2d65c332a9
modules/SceGxm: Decrease stubbed rendertarget size (#3136) 2023-12-17 21:54:49 +01:00
bookmist
b4654e2bf1 gxm, renderer: refactoring, code cleanup & fix warnings 2023-12-15 14:05:19 +03:00
Macdu
6b6d3619c2
modules/SceGxm: Use guest pointer for gxm alloc space (#3121) 2023-12-13 00:03:54 +01:00
Macdu
d24f1a7cc6 modules/SceGxm: Add missing parameter check for sceGxmMidSceneFlush 2023-11-29 12:07:27 +01:00
Macdu
f49ef10e50 modules/SceGxm, display, renderer: Implement frame prediction 2023-11-16 11:28:36 +01:00
Macdu
21c4c537df modules/SceGxm, renderer/vulkan: Improve sync object accuracy 2023-11-16 11:28:36 +01:00
Macdu
e39889c930 external: Use dispatch version of xxhash 2023-10-30 09:20:34 +01:00
Macdu
aba665fb1f modules/SceGxm: revert "Rewrite sceGxmSetUniformDataF"
This reverts commit b083094cc3.
2023-10-28 15:35:11 +02:00
Macdu
b083094cc3 modules/SceGxm: Rewrite sceGxmSetUniformDataF 2023-10-25 18:24:27 +02:00
redpolline
1fe42cdc4f io: Support emuenv changes
kernel: Support emuenv changes
modules: Support emuenv changes
packages: Support emuenv changes
2023-10-17 13:31:19 +02:00
Macdu
6672090c10 renderer/vulkan: Rewrite surface cache 2023-10-16 00:47:43 +02:00
Macdu
27517f37be gxm, renderer: Rewrite texture uploading 2023-10-10 17:23:26 +02:00
Macdu
af33a85b1f modules/SceGxm: Properly initialize all fields of linear strided textures 2023-10-08 00:47:14 +02:00
Macdu
9c1973b088 modules/SceGxm, shader: set default uniform buffer at position 0 2023-09-24 14:53:47 +02:00
Macdu
a96e6192a7 modules/SceGxm, renderer: Improve accuracy of depth stencil surface 2023-09-14 21:40:45 +02:00
Macdu
2e16c506fe modules/SceGxm: Improve accuracy of texture functions 2023-09-14 15:32:59 +02:00
Macdu
2985d48116 modules/SceGxm: Fix default uniform reservation with precomputed drawing 2023-09-13 20:03:09 +02:00
Macdu
e64fa370c7 modules: cleanup 2023-09-10 23:35:12 +02:00
Macdu
1bf86bc785 modules/SceGxm: Improve accuracy of sceGxmReserve*DefaultUniformBuffer functions 2023-09-10 19:30:53 +02:00
Macdu
35869cdbcd renderer, modules/SceGxm: Improve accuracy of sceGxmMidSceneFlush and implement sceGxmVertexFence 2023-08-17 19:18:34 +02:00
Macdu
3dcedcf0e7 modules/SceGxm: Improve context command allocation performance 2023-07-28 14:24:57 +02:00
Macdu
5cb4c46c17 kernel: Fix thread start/end callbacks and cleanup 2023-07-26 19:55:09 +02:00
Macdu
b4249a67f4 kernel: Implement sceKernelRegisterThreadEventHandler 2023-07-24 19:53:09 +02:00
Macdu
66a06c823f modules/SceGxm: Decrease vdm command footprint 2023-07-16 17:06:04 +02:00
Macdu
be74f38300 modules/SceGxm: Handle calling sceGxmExecuteCommandList with empty immediate list 2023-07-08 19:48:33 +02:00
Macdu
648b452f90 modules/SceGxm: Implement sceGxmShaderPatcherForceUnregisterProgram 2023-06-27 20:26:33 +02:00
Macdu
8c94e31ffd modules/SceGxm, renderer/vulkan: Implement visibility increment mode 2023-06-13 18:21:40 +02:00
bookmist
470bdd7b95 modules: implement sceFiberGetInfo, sceGxmShaderPatcherGetUserData, sceKernelCheckThreadStack 2023-06-08 10:59:01 +03:00
Macdu
58a571e8ea modules/SceGxm, renderer/vulkan: Implement visibility buffer using occlusion queries 2023-06-04 00:51:51 +02:00
bookmist
bf2e6da45b modules/SceGxm: Workaround possible crash on game exit (exit_delete_all_threads)
Crash happens when internal kernel display_queue_thread is destroyed before internal sdl SceGxmDisplayQueue thread
2023-05-27 20:45:58 +03:00
Macdu
95a706f8ce modules/SceGxm: Fix typo in sceGxmMapMemory 2023-05-26 20:31:55 +02:00
bookmist
4ba2e086cc Vita3K: code cleanup and optimisations 2023-05-10 15:31:55 +03:00
Pedro Montes Alcalde
e45e6d1b96
modules/gxm: Add a check for nullptr on execute command list (#2531) 2023-04-28 08:12:09 -03:00
bookmist
dd603f3417 modules: implement some functions:
modules/SceThreadmgr: implement _sceKernelGetMutexInfo, sceKernelSetTimerTimeWide
refactor _sceKernelGetLwMutexInfoById
_sceKernelGetSemaInfo - fix returning data
_sceKernelGetThreadInfo - also return thread exit status
sceKernelChangeThreadVfpException, sceIoIoctl - describe parameters

modules/SceGxm: implement sceGxmProgramGetOutputRegisterFormat, sceGxmDepthStencilSurfaceGetFormat

modules/SceRtcUser: implement sceRtcCompareTick, sceRtcGetDosTime, sceRtcGetWin32FileTime

modules/SceKernelModulemgr: sceKernelGetModuleInfo change assert to error code

modules/SceLibKernel: sceKernelCreateMutex: add stub if priority ceiling feature is used

config/state: add forgotten module (SceNetInternal) into tracy modules list
2023-03-01 23:30:26 +01:00
Macdu
e2b07dc4f8 renderer/vulkan: Add PageTable implementation for memory mapping 2023-02-28 20:44:10 +01:00
Macdu
bfa3661a0f external, vita3k: Update dynarmic and add initial support for aarch64 2023-02-22 10:46:22 +01:00
Macdu
762ee3bc4a renderer/vulkan: Implement Memory Mapping 2023-02-15 18:50:46 +01:00