Commit graph

83 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
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
scribam
612d1f8d81
vita3k: cleanup (#3357)
* module: add missing pragma once

* cmake/vita3k: delete unused files

* vita3k: delete useless semi-colons

* vita3k: cleanup headers

* audio: add missing override to destructors

* vita3k: fix typos

* external: disable unused curl targets
2024-09-02 13:03:58 +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
2db80ea0ea
external, cpu: Update dynarmic (#3241) 2024-03-10 19:09:51 +01:00
Pedro Montes Alcalde
34565e3ef4
Vita2024K: Happy 2024 2024-01-01 12:36:32 -03:00
Macdu
de5a9a64ad external: switch to unicorn2 2023-09-07 22:58:16 +02:00
Macdu
8b680f8067 cpu: Remove unicorn fallback for dynarmic 2023-07-27 16:16:13 +02:00
Pedro Montes Alcalde
1bb7ef4eb7
vita3k: Add missing cstdint includes 2023-05-08 01:19:44 -03:00
CoffeeBrewer64
75a6bf0d86
Typo fixes #2475 2023-04-06 23:04:05 +02: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
5825c463ca
external: Update submodule (#2331)
- external: Link LibAtrac9 statically on MSVC
2023-02-15 02:37:24 +01:00
bookmist
6804a5287a cpu/dynarmic_cpu: check for MemoryWriteExclusive 2023-01-19 13:35:30 +03:00
EXtremeExploit
41a17e79c7 Planet Earth Season 2023 2023-01-02 10:46:20 +01:00
bookmist
8edd333400 Fix compiler warnings 2022-11-16 21:39:55 +03:00
Pedro Montes Alcalde
2e10cf949d
cpu/dynarmic: Separate undefined, unpredicatble and decode errors 2022-11-04 17:53:54 -03:00
Macdu
636b1dfedd kernel: Rewrite the way svc and callbacks are handled 2022-09-16 21:57:57 +02:00
Zangetsu38
57d2d91f2e external: update dynarmic submodule.
Co-Authored-By: Zangetsu <dante38@free.fr>
2022-09-03 01:28:10 +02:00
EXtremeExploit
4e5ea9ce4e cpu: Generalize CPU Errors 2022-08-23 10:12:08 +03:00
Pedro Montes Alcalde
ccca711294
vita3k: Use correct KB/KiB functions (#1971) 2022-07-31 21:10:24 -03:00
Macdu
cdbd461a0e gui: Mark Unicorn and Spir-V shader as deprecated 2022-06-08 00:58:54 +02:00
bookmist
858354da23 cpu/unicorn_cpu: fix some warnings 2022-03-17 06:16:05 +01:00
Zangetsu38
d58b1ef393 external: update dynarmic submodule. 2022-03-01 21:10:06 +01:00
scribam
dabfb08f8a
Misc code quality fixes (#1498)
* clang-tidy: run modernize-use-equals-default
* clang-tidy: run modernize-use-override
* screen_render.h: remove redundant access specifier
2021-11-11 17:08:34 +01:00
bookmist
0534a41d0c cpu: fixed type conversion when saving float registers 2021-10-30 21:26:21 +02:00
hobyst
168dfb19ca Add license notice on source files which didn't have one
- Also updated the copyright notice year on all files to 2021
2021-08-19 23:14:27 +02:00
sunho
ceeaae9d9a mem: Support windows write protect
mem: Properly decommit memory in windows
renderer: Add write protect based texture dirty flag
mem: Use custom allocator and optimized page table
dynarmic_cpu: Don't use page_table
2021-05-31 11:00:42 +02:00
sunho
57614cdcf0 kernel: Fix uninits 2021-05-27 19:32:31 +09:00
sunho
0fd2db8c42 dynarmic_cpu: Disable fastmem when optimization is off 2021-05-27 04:04:17 +02:00
sunho
d3b4d05588 kernel: Fix cpsr regression 2021-05-26 21:56:41 +02:00
sunho
141eceebc4 cpu: Remove sp, lr parameters from init_cpu 2021-05-26 04:53:21 +02:00
MerryMage
2be5e4d670 dynarmic_cpu: Implement simple instruction tracing 2021-05-26 08:50:59 +09:00
sunho
d7e8275e8b rtc: Use time since process starts 2021-05-24 03:36:52 +02:00
sunho
d2e676c970 kernel: Add stack traceback 2021-05-24 03:36:52 +02:00
sunho
d310518289 arm_dynarmic: Update include path 2021-05-24 02:13:34 +02:00
sunho
be53a21f2f kernel: Polish trampoline injection 2021-05-19 11:36:18 +09:00
sunho
7d6d79c399 kernel: Merge state and functions 2021-05-19 11:36:18 +09:00
sunho
d5f4b954fc kerenl: Implement trampoline injection
kernel: Move debugging helpers to one place
2021-05-19 11:36:18 +09:00
sunho
a981312a4a cpu: Fix unicorn fallback 2021-05-17 23:15:32 +02:00
sunho
db99882230 cpu: Cleaner cpu context code 2021-05-17 23:15:32 +02:00
MerryMage
ee4ed30d43 arm_dynarmic: Check for valid addresses before accessing them in memory callbacks 2021-05-17 01:31:52 +02:00
MerryMage
7e7f1b3b88 Add option to enable/disable CPU optimizations 2021-05-17 01:31:52 +02:00
MerryMage
56b8a45961 dynarmic_cpu: Bigger numbers aren't always better 2021-05-16 00:14:09 +03:00
MerryMage
50723e67c5 dynarmic_cpu: Handle all exceptions 2021-05-16 00:14:09 +03:00
pent0
01e9a3be1e cpu: Support different processor id.
kernel: Support exclusive monitor for CPU pool, add core number allocation.
2021-05-15 18:31:12 +02:00
sunho
a455440cf5 cpu: Fix memory leak 2021-05-15 18:21:59 +02:00
sunho
bdfddc7ac4 cpu: Add cp15 to dynarmic cpu 2021-05-14 12:22:07 +02:00
sunho
8d0c49e1e5 cpu: Add context description function 2021-05-10 17:21:33 +02:00
sunho
816d6b3d60 vita3k: Merge cpu and disasm library
cpu: Group cpu implementations by impl folder
2021-05-09 12:55:52 +02:00