bunnei
cdd9f577b4
Merge pull request #4482 from lioncash/ldr-sign
...
service/ldr: Resolve sign mismatch warnings
2020-08-03 11:27:13 -07:00
bunnei
70a59da903
Merge pull request #4468 from lioncash/regcache
...
registered_cache: Resolve -Wmaybe_uninitialized warnings
2020-08-03 11:26:45 -07:00
bunnei
9a685a6c85
Merge pull request #4471 from ogniK5377/sm-getservice-concept
...
sm: Make use of IsBaseOf for GetService
2020-08-03 11:11:22 -07:00
Lioncash
bb711ced9d
perf_stats: Make use of designated initializers
...
Same behavior, but allows us to avoid a now-unnecessary zero
initialization.
2020-08-03 12:33:40 -04:00
Lioncash
2a2bc9c147
perf_stats: Mark GetMeanFrametime() as const
...
The general pattern is to mark mutexes as mutable when it comes to
matters of constness, given the mutex acts as a transient member of a
data structure.
2020-08-03 12:33:35 -04:00
Lioncash
08e30e0240
yuzu: Resolve C++20 deprecation warnings related to lambda captures
...
C++20 deprecates capturing the this pointer via the '=' capture.
Instead, we replace it or extend the capture specification.
2020-08-03 11:54:04 -04:00
Lioncash
78ff298d6d
service/ldr: Resolve sign mismatch warnings
...
We were performing an int < size_t comparison. We can just correct the
type of the induction variable.
2020-08-03 11:48:16 -04:00
bunnei
be05759325
Merge pull request #4467 from lioncash/mode
...
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
2020-08-03 08:07:56 -07:00
Lioncash
607a02edda
time_zone_binary: Make use of designated initializers
2020-08-03 10:42:38 -04:00
Lioncash
a1aab876e6
buffer_queue: Make use of std::nullopt
...
Allows compilers to eliminate unnecessary zeroing out of the optional's
buffer.
2020-08-03 09:31:51 -04:00
Lioncash
9b1ab372a7
buffer_queue: Make use of designated initializers
2020-08-03 09:31:51 -04:00
Lioncash
5430961f0d
profile_manager: Make use of std::nullopt
...
Allows some implementations to completely avoid unnecessarily zeroing
out the internal buffer.
2020-08-03 09:03:42 -04:00
Lioncash
1f909d614c
profile_manager: Make use of designated initializers
...
More compact code.
2020-08-03 09:01:31 -04:00
Lioncash
743ed2b727
dmnt_cheat_vm: Make use of designated initializers
...
Allows for more compact code.
2020-08-03 08:50:51 -04:00
Lioncash
2fa750dd6b
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
...
Same behavior, minus a hand-rolled operator.
2020-08-03 07:52:36 -04:00
David Marcec
4d0ba04c73
sm: Make use of IsBaseOf for GetService
2020-08-03 21:46:14 +10:00
Lioncash
39ac833461
patch_manager: Resolve -Wignored-qualifier warnings
...
Top level const will always be ignored in this case, so it can be
removed.
2020-08-03 07:42:56 -04:00
Lioncash
872200c7a9
registered_cache: Resolve -Wmaybe_uninitialized warnings
...
While we're at it, we can avoid a redundant map lookup.
2020-08-03 07:34:46 -04:00
David Marcec
b20f4de430
Place in anonymous namespace
2020-08-03 21:31:28 +10:00
David Marcec
46d3c84839
loader: Make IdentifyFile typesafe
...
Relies on #4465 for concept.h Common::IsBaseOf
2020-08-03 21:31:27 +10:00
David
ecaac59acd
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
...
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
2020-08-03 07:28:54 -04:00
David
6b05ff83bb
Merge pull request #4439 from lioncash/cpu
...
cpu_manager: Remove redundant std::function declarations
2020-08-03 20:58:31 +10:00
Morph
f6fa311cf9
minor nits
2020-07-31 11:02:59 -04:00
David Marcec
542ea8c6e8
am: Unstub SetScreenShotPermission
2020-08-01 00:44:14 +10:00
Morph
488cacca52
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
...
Stub these 2 service commands required for Animal Crossing: New Horizons Update 1.4.0
2020-07-30 15:39:44 -04:00
Morph
06adef078c
fs: Rename SaveDataDescriptor to SaveDataAttribute
2020-07-30 15:29:39 -04:00
Morph
4a6d4ab839
xts_archive: Check if the file is nullptr prior to parsing
...
Fixes an access violation where the file no longer exists at the specified path while being parsed.
2020-07-29 06:50:30 -04:00
Morph
0724e89467
registered_cache: Add support for removing folder ncas
2020-07-29 06:50:30 -04:00
bunnei
04a8b17939
Merge pull request #4442 from lioncash/devicemem
...
device_memory: Remove unused system member
2020-07-28 13:03:30 -07:00
Morph
9fa696c0d5
configure_graphics: Remove Force 30 FPS mode
...
The introduction of multicore rendered this setting non-functional as timing code was changed.
This removes the setting entirely.
2020-07-28 08:07:26 -04:00
Lioncash
32ce1467e5
common/atomic_ops: Don't cast away volatile from pointers
...
Preserves the volatility of the pointers being casted.
2020-07-28 04:36:53 -04:00
ReinUsesLisp
87e6485855
service/bsd: Handle Poll with no entries accurately
...
Testing shows that Poll called with zero entries returns -1 and signals
an errno of zero.
2020-07-28 01:51:47 -03:00
ReinUsesLisp
853ee47a15
services/bsd: Implement most of bsd:s
...
This implements: Socket, Poll, Accept, Bind, Connect, GetPeerName,
GetSockName, Listen, Fcntl, SetSockOpt, Shutdown, Recv, RecvFrom,
Send, SendTo, Write, and Close
The implementation was done referencing: SwIPC, switchbrew, testing
with libnx and inspecting its code, general information about bsd
sockets online, and analysing official software.
Not everything from these service calls is implemented, but everything
that is not implemented will be logged in some way.
2020-07-28 01:48:42 -03:00
ReinUsesLisp
20ac4ae8b7
service/sockets: Add worker pool abstraction
...
Manage worker threads with an easy to use abstraction.
We can expand this to support thread deletion in the future.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
3cd68cade4
service/sockets: Add worker abstraction to execute blocking calls asynchronously
...
This abstraction allows executing blocking functions (like recvfrom on a
socket configured for blocking) without blocking the service thread.
It is intended to be used with SleepClientThread.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
8a8f687fd2
service/sockets: Add translate functions
...
These functions translate from Network enumerations/structures to guest
enumerations/structures and viceversa.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
c2a607014a
service/sockets: Add enumerations and structures
...
Add guest enumerations and structures used in socket services
2020-07-28 01:47:03 -03:00
ReinUsesLisp
bd466d12be
services/nifm: Implement GetCurrentIpAddress
...
This is trivially implemented using the Network abstraction
- Used by ftpd
2020-07-28 01:47:03 -03:00
Lioncash
078b7446c7
device_memory: Remove unused system member
...
This isn't used by anything in particular, so it can be removed.
2020-07-27 23:37:49 -04:00
Lioncash
3c31a08802
cpu_manager: Remove redundant std::function declarations
...
We can just return the function directly. Making for less reading.
2020-07-27 21:57:05 -04:00
bunnei
1bd1d08fc4
Update src/core/hle/service/nvdrv/devices/nvmap.cpp
...
Co-authored-by: LC <mathew1800@gmail.com>
2020-07-27 18:27:20 -07:00
Lioncash
7decda6bc2
core_timing: Make use of uintptr_t to represent user_data
...
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-27 21:21:01 -04:00
CrazyMax
ac316a25a1
remove unused variable;
2020-07-27 10:36:26 +03:00
bunnei
991aca142e
hle: nvdrv: Rewrite of GPU memory management.
2020-07-26 00:49:43 -04:00
Lioncash
f35d0d8f83
nvflinger: Mark interface functions with return values as [[nodiscard]]
...
Not using the return value of these functions are undeniably the source
of a bug. This way we allow compilers to loudly make any future misuses
evident.
2020-07-25 19:42:45 -04:00
Lioncash
94ae1a0bf1
nvflinger: Use return value of Lock()
...
comex reported in #4424 that we were incorrectly discarding the return
value of Lock() which is correct.
2020-07-25 19:04:53 -04:00
bunnei
34f9706950
Merge pull request #4350 from ogniK5377/hid-update-connected
...
hid: Only update keyboard & debug pad inputs if enabled
2020-07-25 11:57:24 -07:00
bunnei
2f7d9afee7
Merge pull request #4380 from ogniK5377/swkbd-inline-1
...
swkbd: Return result for Calc request for inlined swkbd
2020-07-24 22:31:24 -07:00
David Marcec
81b2b4fbe9
audio_core: Apollo Part 1, AudioRenderer refactor
2020-07-25 12:39:34 +10:00
Jan Beich
423d410d7c
network: add missing include for BSDs
...
src/core/network/network.cpp:112:28: error: use of undeclared identifier 'SHUT_RD'
constexpr int SD_RECEIVE = SHUT_RD;
^
src/core/network/network.cpp:113:25: error: use of undeclared identifier 'SHUT_WR'
constexpr int SD_SEND = SHUT_WR;
^
src/core/network/network.cpp:114:25: error: use of undeclared identifier 'SHUT_RDWR'
constexpr int SD_BOTH = SHUT_RDWR;
^
src/core/network/network.cpp:120:37: error: unknown type name 'in_addr'; did you mean 'in_addr_t'?
constexpr IPv4Address TranslateIPv4(in_addr addr) {
^~~~~~~
in_addr_t
/usr/include/netdb.h:66:20: note: 'in_addr_t' declared here
typedef __uint32_t in_addr_t;
^
src/core/network/network.cpp:121:27: error: member reference base type 'in_addr_t' (aka 'unsigned int') is not a structure or union
const u32 bytes = addr.s_addr;
~~~~^~~~~~~
src/core/network/network.cpp:121:15: error: variables defined in a constexpr function must be initialized
const u32 bytes = addr.s_addr;
^
src/core/network/network.cpp:126:10: error: incomplete result type 'sockaddr' in function definition
sockaddr TranslateFromSockAddrIn(SockAddrIn input) {
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:127:5: error: unknown type name 'sockaddr_in'; did you mean 'sockaddr'?
sockaddr_in result;
^~~~~~~~~~~
sockaddr
/usr/include/netdb.h:142:9: note: 'sockaddr' declared here
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:127:17: error: variable has incomplete type 'sockaddr'
sockaddr_in result;
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:131:29: error: use of undeclared identifier 'AF_INET'
result.sin_family = AF_INET;
^
src/core/network/network.cpp:135:29: error: use of undeclared identifier 'AF_INET'
result.sin_family = AF_INET;
^
src/core/network/network.cpp:139:23: error: use of undeclared identifier 'htons'
result.sin_port = htons(input.portno);
^
src/core/network/network.cpp:143:14: error: variable has incomplete type 'sockaddr'
sockaddr addr;
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:156:1: error: unknown type name 'linger'
linger MakeLinger(bool enable, u32 linger_value) {
^
src/core/network/network.cpp:157:5: error: unknown type name 'linger'
linger value;
^
src/core/network/network.cpp:185:16: error: use of undeclared identifier 'AF_INET'
return AF_INET;
^
src/core/network/network.cpp:195:16: error: use of undeclared identifier 'SOCK_STREAM'
return SOCK_STREAM;
^
src/core/network/network.cpp:197:16: error: use of undeclared identifier 'SOCK_DGRAM'
return SOCK_DGRAM;
^
src/core/network/network.cpp:207:16: error: use of undeclared identifier 'IPPROTO_TCP'
return IPPROTO_TCP;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2020-07-22 22:10:15 +00:00
David Marcec
56c3c62a45
vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfo
...
Needed for dark souls and monster hunter
2020-07-21 23:06:18 +10:00
David
9263c9af72
Merge pull request #4306 from ReinUsesLisp/bsd-network
...
core/network: Add network abstraction
2020-07-21 16:05:47 +10:00
David Marcec
87a838304b
Address issues
2020-07-20 11:52:07 +10:00
David Marcec
7ca5dcb7df
swkbd: Return result for Calc request for inlined swkbd
...
Fixes random swkbd popups in monster hunter
2020-07-19 18:56:16 +10:00
ReinUsesLisp
fc8ff7f4ef
core/network: Add network abstraction
...
This commit adds a network abstraction designed to implement bsd:s but
at the same time work as a generic abstraction to implement any
networking code we have to use from core.
This is implemented on top of BSD sockets on Unix systems and winsock on
Windows. The code is designed around winsocks having compatibility
definitions to support both BSD and Windows sockets.
2020-07-19 04:12:40 -03:00
bunnei
01588e3e91
Merge pull request #4348 from lioncash/nano
...
core_timing: Make usage of nanoseconds more consistent in the interface
2020-07-18 01:45:10 -04:00
bunnei
5891a0bf07
Merge pull request #4345 from Morph1984/fix-createfile
...
filesystem: Create subdirectories prior to creating a file
2020-07-18 00:59:26 -04:00
bunnei
54f4821375
Merge pull request #4273 from ogniK5377/async-shaders-prod
...
video_core: Add asynchronous shader decompilation and compilation
2020-07-18 00:48:27 -04:00
bunnei
3968c41ffa
Merge pull request #4365 from lioncash/mii
...
mii/manager: Make use of designated initializers
2020-07-17 22:20:15 -04:00
bunnei
1d166b80ae
Merge pull request #4366 from lioncash/mii-sign
...
mii/manager: Resolve sign mismatch warnings
2020-07-17 20:13:06 -04:00
FearlessTobi
f7cf5430b0
file_sys/nsp: Make SetTicketKeys actually do something
...
Previously, the method wasn't modifying any class state and therefore not having any effects when called.
Since this has been the case for a very long time now, I'm not sure if we couldn't just remove this method altogether.
2020-07-18 02:02:39 +02:00
bunnei
d9a40d2422
Merge pull request #4344 from VolcaEM/c3
...
dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
2020-07-17 17:11:52 -04:00
bunnei
ad5d8431f5
Merge pull request #4309 from Morph1984/fix-romfs-bug
...
fs: Fix RomFS building when zero byte files are present
2020-07-17 17:01:20 -04:00
David Marcec
3a127edd0b
Drop settings namespace
2020-07-17 17:23:24 +10:00
David Marcec
74d8c9e0dd
Rebase for per game settings
2020-07-17 14:26:14 +10:00
David
6825b4911d
Merge pull request #4347 from lioncash/logging
...
settings: Make use of std::string_view over std::string for logging
2020-07-17 13:25:06 +10:00
David
be744bfa16
Merge pull request #4371 from lioncash/cmake2
...
core/CMakeLists: Add missing physical_memory.h header file
2020-07-17 13:22:19 +10:00
David
ba106cc5e7
Merge pull request #4357 from lioncash/unused4
...
kernel: Remove unused variables
2020-07-17 13:18:31 +10:00
David
8e8a332ce3
Merge pull request #4358 from lioncash/unused5
...
kernel/thread: Remove unimplemented function prototype
2020-07-17 13:17:52 +10:00
Lioncash
f128be35fe
core/CMakeLists: Add missing physical_memory.h header file
...
Allows this header file to show up in IDE CMake generators.
2020-07-16 22:56:31 -04:00
Lioncash
7e7daed253
constants: Add missing <array> include
...
Eliminates reliance on an indirect include.
2020-07-16 21:43:20 -04:00
Lioncash
214247f203
mii/manager: Resolve sign mismatch warnings
...
Previously the loop termination condition was testing variables of
different signedness.
2020-07-16 21:07:04 -04:00
Lioncash
29a5f65f31
mii/manager: Make use of designated initializers
...
Allows returning the structure in a more concise manner.
2020-07-16 20:45:33 -04:00
bunnei
669dfb415e
Merge pull request #4292 from bunnei/mii-rewrite
...
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-16 20:05:40 -04:00
Rodrigo Locatti
10abdf0147
Merge pull request #4327 from lioncash/desig2
...
address_space_info: Make use of designated initializers
2020-07-16 17:41:55 -03:00
Lioncash
e05eec5d51
kernel/thread: Remove unimplemented function prototype
...
This isn't used, so it can be removed.
2020-07-16 14:32:46 -04:00
Lioncash
3fe863c8f2
kernel: Remove unused variables
...
Resolves some compiler warnings in the Linux build.
2020-07-16 14:17:50 -04:00
Lioncash
0a5524a15b
kernel: Add missing include
2020-07-16 13:51:51 -04:00
Lioncash
02ff5e8d81
cpu_manager: Mark function getters as static
...
All these do are return std::function instances of static functions, so
these can be used without an instance of the CPU manager.
2020-07-16 13:30:56 -04:00
Lioncash
59f9dcf6cd
cpu_manager: Remove unused preemption_count variable
...
Shrinks the data structure by 8 bytes.
2020-07-16 13:24:25 -04:00
Lioncash
7f032388fd
cpu_manager: Add missing includes
...
Previously this header was relying on indirect inclusions that are no
longer satisfied.
2020-07-16 13:22:58 -04:00
bunnei
8fd2e0d2ea
Merge pull request #4337 from lat9nq/fix-per-game-async
...
main: Set async gpu properly after loading per-game setting
2020-07-16 11:33:51 -04:00
David
2aa1af8abb
Merge pull request #4346 from lioncash/thread
...
kernel/handle_table: Remove usages of the global system instance
2020-07-16 23:02:04 +10:00
David Marcec
255847b16d
hid: Only update keyboard & debug pad inputs if enabled
...
Previously we would ignore this setting and would update the states regardless of the user setting
2020-07-16 22:28:49 +10:00
David
524a16f9c4
Merge pull request #4249 from Morph1984/delete-update-aoc-on-overwrite
...
registered_cache: Remove previous update/dlc if it exists on install
2020-07-16 20:36:22 +10:00
Morph
5a7b65b6d5
Check for empty section0 and CNMT prior to install
2020-07-16 05:22:51 -04:00
Morph
6bba209bba
Add comment to clarify the nullptr check
2020-07-16 00:15:27 -04:00
Morph
7f908ceb00
filesystem: Create subdirectories prior to creating a file
...
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within.
This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
2020-07-16 00:15:27 -04:00
bunnei
3f9b1b22bc
Merge pull request #4328 from lioncash/unused-var3
...
memory_layout: Remove unused data member
2020-07-15 22:08:05 -04:00
Lioncash
66e6dccc66
core_timing: Remove unused data member
...
Shrinks the size of the CoreTiming class by 8 bytes.
2020-07-15 19:41:37 -04:00
Lioncash
56054fe86d
core_timing: Make TimedCallback take std::chrono::nanoseconds
...
Enforces our desired time units directly with a concrete type.
2020-07-15 19:41:22 -04:00
Lioncash
9e113a2b67
core_timing: Make use of std::chrono with ScheduleEvent
2020-07-15 18:54:15 -04:00
Lioncash
3ce5234599
settings: Resolve a sign conversion warning within GetTimeZoneString()
...
A sign conversion warning was occurring due to an int < size_t
comparison.
2020-07-15 13:45:22 -04:00
Lioncash
1d41247fce
kernel/process: Move name and system context to the bottom of the member list
...
These aren't directly important or commonly used within the process, so
we can move these to the bottom to allow everything else to be more
likely to be within a cache line.
2020-07-15 13:40:18 -04:00
Lioncash
9346d1e257
kernel/handle_table: Remove usages of the global system instance
...
Removes even more usages of the global system instance, trimming away
more dependencies on global variables and making them explicit in the
interface.
2020-07-15 13:40:15 -04:00
Lioncash
8c0ba1ce84
settings: Make use of std::string_view over std::string for logging
...
In all usages of LogSetting(), string literals are provided.
std::string_view is better suited here, as we won't churn a bunch of
string allocations every time the settings are logged out.
While we're at it, we can fold LogSetting() into LogSettings(), given
it's only ever used there.
2020-07-15 13:37:33 -04:00
Lioncash
7deb699566
kernel/thread: Remove global GetCurrentThread()
...
This is only used in one place, so we can fold it into the calling code,
eliminating a place for the global system instance to be used.
2020-07-15 13:28:05 -04:00
Morph
63f16db2e6
clang format
2020-07-15 13:27:04 -04:00
Morph
9dc8b2f03c
Use proper install result when overwriting files
2020-07-15 13:27:04 -04:00
Morph
c530630c1c
Remove global system instance and address feedback
2020-07-15 13:27:04 -04:00
Morph
5054a6c429
registered_cache: Remove previous update/dlc if it exists on install
...
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
2020-07-15 13:27:04 -04:00
VolcaEM
67310a4623
clang-format
2020-07-15 01:22:52 +02:00
VolcaEM
bec0bdabc8
dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
...
This was based on Atmosphére's DMNT Cheat VM:
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp
From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register"
There are now only two remaining opcodes to implement (PauseProcess and BreakProcess)
This is untested because I don't have any experience in testing cheats on yuzu
2020-07-15 01:19:22 +02:00
lat9nq
ca132f7dfb
clang-format
2020-07-14 13:46:42 -04:00
lat9nq
be59d82047
settings: Move settings sanitization to its own function
...
Creates a new function that can be expanded later to fix other settings that are known to cause emulation errors across executables.
2020-07-14 13:36:09 -04:00
bunnei
c4ce38fcb5
Merge pull request #4294 from MerryMage/cpu-opt-settings
...
configuration: Add settings to enable/disable specific CPU optimizations
2020-07-14 12:38:03 -04:00
bunnei
f1b2cb5eec
Merge pull request #4282 from Morph1984/fs-size
...
filesystem: Set various NAND partition sizes to their defaults
2020-07-14 12:16:42 -04:00
Lioncash
ed658d92dc
memory_layout: Remove unused data member
...
This isn't used, so it can be removed entirely, shrinking the structure
size by 8 bytes.
2020-07-13 10:51:23 -04:00
Lioncash
14332845af
address_space_info: Use type alias to simplify code
...
We can define an alias for the index arrays and then just reuse it to
make the code nicer to read.
2020-07-13 10:42:52 -04:00
Lioncash
c8b9f7bd14
address_space_info: Make use of designated initializers
...
We can alter the structure so that we can use designated initializers in
the array, eliminating the comments that indicate their field names.
2020-07-13 10:42:49 -04:00
ReinUsesLisp
43e15338e2
kernel/scheduler: Use std::mutex instead of spin lock
...
Profiling shows that this is a highly contested mutex, causing dimishing
results compared to a OS lock. std::mutex implementations can spin for a
while before falling back to an OS lock.
This avoids wasting precious CPU cycles in a no-op.
2020-07-12 21:27:24 -03:00
Fernando Sahmkow
979eda4b70
Merge pull request #4265 from Morph1984/file-rename
...
vfs_real: Fix MoveFile
2020-07-12 13:00:09 -04:00
Morph
e01424699b
fs: Fix RomFS building when zero byte files are present
...
When zero byte files are present, the key (offset) for that file is identical to the file right after. A std::map isn't able to fit key-value pairs with identical keys (offsets), therefore, the solution is to use std::multimap which permits multiple entries with the same key.
This most prominently fixes Pokemon Sword and Shield weather with any RomFS mod applied.
2020-07-12 04:33:35 -04:00
bunnei
739562c334
Merge pull request #4275 from CrazyMax/desired_language
...
AM: fix GetDesiredLanguage:
2020-07-12 01:45:08 -04:00
bunnei
bd88e9fa71
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-11 21:34:59 -04:00
MerryMage
f82bbf743c
configure_cpu: Show/Hide debugging options
2020-07-11 16:38:38 +01:00
MerryMage
79dfd272a9
configuration: Add settings to enable/disable specific CPU optimizations
2020-07-11 14:34:09 +01:00
bunnei
12834a1c44
Merge pull request #4203 from VolcaEM/services
...
service: Update function tables
2020-07-11 00:02:36 -04:00
Morph
ef6946bf66
vfs_real: Fix MoveFile
...
The file wasn't closed prior to being renamed / moved, throwing an error that states "The process cannot access the file because it is being used by another process." Fix this by closing the file prior to a rename / move operation.
Fixes saving in Luigi's Mansion 3 and KATANA KAMI: A Way of the Samurai Story.
2020-07-10 00:39:23 -04:00
Morph
c0dc6904e7
KeyManager: Prevent writing of invalid keys
...
If the keys are zero, don't write them to the autogenerated file.
2020-07-10 00:39:00 -04:00
Morph
9108fb8dd1
bis_factory: Set User NAND free space to be 1 MiB less than total.
2020-07-10 00:37:39 -04:00
Morph
bc260d4b5b
sdmc_factory: Set the SDMC total size to 1 TiB
...
We should not be limited by the SDMC's partition size, set this to 1 TiB. Hardware is limited to the max allowed by the MBR partition table which is 2 TiB.
2020-07-10 00:37:39 -04:00
Morph
d378516007
bis_factory: Use hardware default NAND partition sizes
...
Sets the total space of user and system partitions to their hardware defaults.
Furthermore, return the total space as free space for the user partition to prevent it from reaching zero.
Some games like Bioshock 2 check for the available free space prior to save creation, and we should not be limited by arbitrary limits.
2020-07-10 00:37:39 -04:00
Morph
99ce1117c7
settings: Remove storage size options
2020-07-10 00:37:39 -04:00
lat9nq
61519c20c3
configuration: implement per-game configurations ( #4098 )
...
* Switch game settings to use a pointer
In order to add full per-game settings, we need to be able to tell yuzu to switch
to using either the global or game configuration. Using a pointer makes it easier
to switch.
* configuration: add new UI without changing existing funcitonality
The new UI also adds General, System, Graphics, Advanced Graphics,
and Audio tabs, but as yet they do nothing. This commit keeps yuzu
to the same functionality as originally branched.
* configuration: Rename files
These weren't included in the last commit. Now they are.
* configuration: setup global configuration checkbox
Global config checkbox now enables/disables the appropriate tabs in the game
properties dialog. The use global configuration setting is now saved to the
config, defaulting to true. This also addresses some changes requested in the PR.
* configuration: swap to per-game config memory for properties dialog
Does not set memory going in-game. Swaps to game values when opening the
properties dialog, then swaps back when closing it. Uses a `memcpy` to swap.
Also implements saving config files, limited to certain groups of configurations
so as to not risk setting unsafe configurations.
* configuration: change config interfaces to use config-specific pointers
When a game is booted, we need to be able to open the configuration dialogs
without changing the settings pointer in the game's emualtion. A new pointer
specific to just the configuration dialogs can be used to separate changes
to just those config dialogs without affecting the emulation.
* configuration: boot a game using per-game settings
Swaps values where needed to boot a game.
* configuration: user correct config during emulation
Creates a new pointer specifically for modifying the configuration while
emulation is in progress. Both the regular configuration dialog and the game
properties dialog now use the pointer Settings::config_values to focus edits to
the correct struct.
* settings: split Settings::values into two different structs
By splitting the settings into two mutually exclusive structs, it becomes easier,
as a developer, to determine how to use the Settings structs after per-game
configurations is merged. Other benefits include only duplicating the required
settings in memory.
* settings: move use_docked_mode to Controls group
`use_docked_mode` is set in the input settings and cannot be accessed from the
system settings. Grouping it with system settings causes it to be saved with
per-game settings, which may make transferring configs more difficult later on,
especially since docked mode cannot be set from within the game properties
dialog.
* configuration: Fix the other yuzu executables and a regression
In main.cpp, we have to get the title ID before the ROM is loaded, else the
renderer will reflect only the global settings and now the user's game specific
settings.
* settings: use a template to duplicate memory for each setting
Replaces the type of each variable in the Settings::Values struct with a new
class that allows basic data reading and writing. The new struct
Settings::Setting duplicates the data in memory and can manage global overrides
per each setting.
* configuration: correct add-ons config and swap settings when apropriate
Any add-ons interaction happens directly through the global values struct.
Swapping bewteen structs now also includes copying the necessary global configs
that cannot be changed nor saved in per-game settings. General and System config
menus now update based on whether it is viewing the global or per-game settings.
* settings: restore old values struct
No longer needed with the Settings::Setting class template.
* configuration: implement hierarchical game properties dialog
This sets the apropriate global or local data in each setting.
* clang format
* clang format take 2
can the docker container save this?
* address comments and style issues
* config: read and write settings with global awareness
Adds new functions to read and write settings while keeping the global state in
focus. Files now generated per-game are much smaller since often they only need
address the global state.
* settings: restore global state when necessary
Upon closing a game or the game properties dialog, we need to restore all global
settings to the original global state so that we can properly open the
configuration dialog or boot a different game.
* configuration: guard setting values incorrectly
This disables setting values while a game is running if the setting is
overwritten by a per game setting.
* config: don't write local settings in the global config
Simple guards to prevent writing the wrong settings in the wrong files.
* configuration: add comments, assume less, and clang format
No longer assumes that a disabled UI element means the global state is turned
off, instead opting to directly answer that question. Still however assumes a
game is running if it is in that state.
* configuration: fix a logic error
Should not be negated
* restore settings' global state regardless of accept/cancel
Fixes loading a properties dialog and causing the global config dialog to show
local settings.
* fix more logic errors
Fixed the frame limit would set the global setting from the game properties
dialog. Also strengthened the Settings::Setting member variables and simplified
the logic in config reading (ReadSettingGlobal).
* fix another logic error
In my efforts to guard RestoreGlobalState, I accidentally negated the IsPowered
condition.
* configure_audio: set toggle_stretched_audio to tristate
* fixed custom rtc and rng seed overwriting the global value
* clang format
* rebased
* clang format take 4
* address my own review
Basically revert unintended changes
* settings: literal instead of casting
"No need to cast, use 1U instead"
Thanks, Morph!
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
* Revert "settings: literal instead of casting
"
This reverts commit 95e992a87c898f3e882ffdb415bb0ef9f80f613f.
* main: fix status buttons reporting wrong settings after stop emulation
* settings: Log UseDockedMode in the Controls group
This should have happened when use_docked_mode was moved over to the controls group
internally. This just reflects this in the log.
* main: load settings if the file has a title id
In other words, don't exit if the loader has trouble getting a title id.
* use a zero
* settings: initalize resolution factor with constructor instead of casting
* Revert "settings: initalize resolution factor with constructor instead of casting"
This reverts commit 54c35ecb46a29953842614620f9b7de1aa9d5dc8.
* configure_graphics: guard device selector when Vulkan is global
Prevents the user from editing the device selector if Vulkan is the global
renderer backend. Also resets the vulkan_device variable when the users
switches back-and-forth between global and Vulkan.
* address reviewer concerns
Changes function variables to const wherever they don't need to be changed. Sets Settings::Setting to final as it should not be inherited from. Sets ConfigurationShared::use_global_text to static.
Co-Authored-By: VolcaEM <volcaem@users.noreply.github.com>
* main: load per-game settings after LoadROM
This prevents `Restart Emulation` from restoring the global settings *after* the per-game settings were applied. Thanks to BSoDGamingYT for finding this bug.
* Revert "main: load per-game settings after LoadROM"
This reverts commit 9d0d48c52d2dcf3bfb1806cc8fa7d5a271a8a804.
* main: only restore global settings when necessary
Loading the per-game settings cannot happen after the ROM is loaded, so we have to specify when to restore the global state. Again thanks to BSoD for finding the bug.
* configuration_shared: address reviewer concerns except operator overrides
Dropping operator override usage in next commit.
Co-Authored-By: LC <lioncash@users.noreply.github.com>
* settings: Drop operator overrides from Setting template
Requires using GetValue and SetValue explicitly. Also reverts a change that broke title ID formatting in the game properties dialog.
* complete rebase
* configuration_shared: translate "Use global configuration"
Uses ConfigurePerGame to do so, since its usage, at least as of now, corresponds with ConfigurationShared.
* configure_per_game: address reviewer concern
As far as I understand, it prevents the program from unnecessarily copying strings.
Co-Authored-By: LC <lioncash@users.noreply.github.com>
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
Co-authored-by: VolcaEM <volcaem@users.noreply.github.com>
Co-authored-by: LC <lioncash@users.noreply.github.com>
2020-07-09 22:42:09 -04:00
bunnei
d768f68ecc
Merge pull request #4248 from Morph1984/CreateManagedDisplaySeparableLayer
...
AM/ISelfController: Stub CreateManagedDisplaySeparableLayer
2020-07-09 22:09:42 -04:00
bunnei
55959959c0
Merge pull request #4202 from ReinUsesLisp/scoped-lock
...
core_timing,scheduler: Use std::scoped_lock when possible
2020-07-09 15:33:41 -04:00
CrazyMax
3f446eb9c2
AM: fix GetDesiredLanguage:
...
try to get a control metadata from application update when is failed to get from the basic version.
Tested on Kirby Star Allies
2020-07-08 19:45:06 +03:00
bunnei
74204f7ba4
Merge pull request #4243 from CrazyMax/display_version
...
AM: fix GetDisplayVersion
2020-07-08 10:46:56 -04:00
bunnei
1155252211
Merge pull request #4245 from MerryMage/page-table-race
...
memory: Race-condition in pagetables.
2020-07-08 10:44:33 -04:00
MerryMage
d6c3391232
cpu_interrupt_handler: Remove #pragma once from .cpp file
2020-07-07 22:47:00 +01:00
CrazyMax
5be823e92c
GetDisplayVersion should return a null-terminated version string.
...
also, in case of failed to get of the basic version, we will try get it from application update.
2020-07-07 02:04:24 +03:00
MerryMage
f0019f2176
memory: Set page-table pointers before setting attribute = Memory
2020-07-05 12:54:19 +01:00
Morph
b29024f896
AM/ISelfController: Stub CreateManagedDisplaySeparableLayer
...
Stub this by sending 1 layer id instead of 2 as yuzu does not support multiple layers per display.
No adverse side effects have been observed.
- Used by Animal Crossing: New Horizons Update 1.3.0
2020-07-05 06:26:21 -04:00
Rodrigo Locatti
08a0a98e5d
Merge pull request #4218 from ogniK5377/opus-external
...
externals: Track opus as submodule instead of using conan
2020-07-04 01:32:54 -03:00
bunnei
4ed74651e2
Merge pull request #3924 from ogniK5377/GetKeyCodeMap
...
Implement GetKeyCodeMap & GetKeyCodeMap2
2020-07-02 23:03:20 -04:00
bunnei
b9821beecc
Merge pull request #4193 from ogniK5377/GetIndirectLayerConsumerHandle-stub
...
am: Stub GetIndirectLayerConsumerHandle
2020-07-02 21:31:20 -04:00
bunnei
67a6a89822
Merge pull request #4192 from ogniK5377/acc-ListOpenContextStoredUsers-stub
...
acc: ListOpenContextStoredUsers partial stub
2020-07-02 20:36:54 -04:00
VolcaEM
1b4a3851ca
Rename two functions in NS
...
- Rename "GetShellEvent" to "GetShellEventHandle"
- Rename "LaunchApplicationFromHost" to "LaunchApplication"
2020-07-02 09:02:55 +02:00
VolcaEM
940c5932c7
Rename GetApplicationArea2 to GetApplicationAreaSize
2020-07-02 08:58:51 +02:00
David Marcec
2961282fae
externals: Track opus as submodule instead of using conan
...
Supersedes #4068 see for details.
2020-07-01 15:09:33 +10:00
Lioncash
1e362da176
key_manager: Correct casing of instance()
...
Our codebase uppercases member function names.
2020-07-01 00:28:50 -04:00
Lioncash
93f1d9435d
key_manager: Delete move operations
...
Prevents the singleton from being moved from.
2020-07-01 00:24:38 -04:00
Lioncash
e67ab9a1b7
key_manager: Make use of canonical deleted operator=
...
operator= typically returns a reference, it's not void.
While we're at it, we can correct the parameter formatting to adhere to the
codebase.
2020-07-01 00:21:31 -04:00
David
9d2a0f5f1a
Merge pull request #3967 from FearlessTobi/keys-singleton
...
crypto: Make KeyManager a singleton class
2020-07-01 14:16:26 +10:00
bunnei
7a7942741f
Merge pull request #4153 from ogniK5377/prepo-multibuf
...
prepo: : Don't read extra buffer from report unless passed
2020-06-30 22:37:13 -04:00
VolcaEM
33f6610f52
Remove duplicate functions
2020-06-29 04:22:38 +02:00
VolcaEM
cd893f7ac4
Use decimal instead of hexadecimal
...
Co-authored-by: David <25727384+ogniK5377@users.noreply.github.com>
2020-06-29 04:21:10 +02:00
VolcaEM
6d7c850936
Fix typo
2020-06-29 04:12:36 +02:00
VolcaEM
a82dc6c91d
Clang-format
2020-06-29 04:09:38 +02:00
VolcaEM
9338a6a1cf
service: Update function tables
2020-06-29 04:01:34 +02:00
ReinUsesLisp
a0226819e1
core_timing,scheduler: Use std::scoped_lock when possible
...
Simplifies the cognitive load of procedures using locks and makes locks
safe against exceptions.
2020-06-28 21:42:57 -03:00
bunnei
58f337e105
Merge pull request #3955 from FernandoS27/prometheus-2b
...
Remake Kernel Scheduling, CPU Management & Boot Management (Prometheus)
2020-06-28 12:37:50 -04:00
David Marcec
3804c6d1c0
ldr: Cleanup NRO & NRR structs
2020-06-28 20:54:37 +10:00
David
1989977382
Merge pull request #4026 from VolcaEM/ldr
...
ldr: Update NRR/NRO structs
2020-06-28 20:46:42 +10:00
David
33e9b11261
Merge pull request #4184 from VolcaEM/patch-9
...
grc: Update function table
2020-06-28 18:49:15 +10:00
David
475c9a1e3c
Merge pull request #4185 from VolcaEM/patch-10
...
lbl: Update function table
2020-06-28 18:48:54 +10:00
David
a6374c177a
Merge pull request #4186 from VolcaEM/patch-11
...
ldn: Update function table
2020-06-28 18:48:28 +10:00
David
7b1dba2f84
Merge pull request #4187 from VolcaEM/patch-12
...
mig: Update function table
2020-06-28 18:48:15 +10:00
David
3d5f77c3cf
Merge pull request #4188 from VolcaEM/patch-13
...
mm: Update function table
2020-06-28 18:47:55 +10:00
David
4abb01de75
Merge pull request #4189 from VolcaEM/patch-14
...
ncm: Update function table
2020-06-28 18:47:27 +10:00
David
9b9504bb8d
Merge pull request #4190 from VolcaEM/patch-15
...
nfc: Update function table
2020-06-28 18:47:07 +10:00
David
48090dcdba
Merge pull request #4183 from VolcaEM/patch-8
...
friend: Update function table
2020-06-28 18:46:40 +10:00
David Marcec
2864b1fb41
am: Stub GetIndirectLayerConsumerHandle
...
Needed by Monster Hunter Generations Ultimate
2020-06-28 16:51:28 +10:00
David Marcec
bbf7b72fbf
acc: ListOpenContextStoredUsers partial stub
...
Needed by Baldur's Gate 1/2
2020-06-28 16:44:36 +10:00
Fernando Sahmkow
94a51e6b21
Core/Common: Address Feedback.
2020-06-27 18:20:06 -04:00
Fernando Sahmkow
7818e2ee11
NvFlinger: Clang Format.
2020-06-27 11:36:30 -04:00
Fernando Sahmkow
8cd81eb66f
SVC: Implement 32-bits wrappers and update Dynarmic.
2020-06-27 11:36:27 -04:00
Fernando Sahmkow
146bbc6189
SVC: Add GetCurrentProcessorNumber32, CreateTransferMemory32, SetMemoryAttribute32
2020-06-27 11:36:27 -04:00
Fernando Sahmkow
fd631d72a6
ARM: Update Dynarmic and Setup A32 according to latest interface.
2020-06-27 11:36:26 -04:00
Fernando Sahmkow
75db328166
SVC: Add GetThreadPriority32 & SetThreadPriority32
2020-06-27 11:36:25 -04:00
Fernando Sahmkow
a7be2fac83
ArmDynarmic32: Setup CNTPCT correctly
2020-06-27 11:36:24 -04:00
Fernando Sahmkow
78a23536d4
Audio: Correct buffer release for host timing.
2020-06-27 11:36:23 -04:00
Fernando Sahmkow
24e0d393e2
Common/Kernel: Corrections and small bug fixing.
2020-06-27 11:36:21 -04:00
Fernando Sahmkow
fda5651072
Services/NvFlinger: Do vSync in a sepparate thread on Multicore.
2020-06-27 11:36:20 -04:00
Fernando Sahmkow
af0999c735
ARMDynarmicInterface: Correct GCC Build Errors.
2020-06-27 11:36:17 -04:00
Fernando Sahmkow
555c4c238c
Kernel: Correct Host Context on Threads and Scheduler.
2020-06-27 11:36:15 -04:00
Fernando Sahmkow
adc86e3030
Clang Format.
2020-06-27 11:36:14 -04:00
Fernando Sahmkow
6cbdb64f3d
ARMInterface/Externals: Update dynarmic and fit to latest version.
2020-06-27 11:36:13 -04:00
Fernando Sahmkow
cce90e2672
ARMInterface: Correct rebase errors.
2020-06-27 11:36:12 -04:00
Fernando Sahmkow
a4e7d0b106
CoreTiming: Correct rebase bugs and other miscellaneous things.
2020-06-27 11:36:11 -04:00
Fernando Sahmkow
d98995c001
Core: Split Microprofile Dynarmic timing per Core
2020-06-27 11:36:10 -04:00
Fernando Sahmkow
fb07639438
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
2020-06-27 11:36:09 -04:00
Fernando Sahmkow
b5f7040175
Dynarmic Interface: don't clear cache if JIT has not been created.
2020-06-27 11:36:08 -04:00
Fernando Sahmkow
543b6b315f
General: Correct rebase, sync gpu and context management.
2020-06-27 11:36:08 -04:00
Fernando Sahmkow
afb6d31c02
CoreTiming/CycleTimer: Correct Idling.
2020-06-27 11:36:07 -04:00
Fernando Sahmkow
9f7adff3d3
SingleCore: Correct ticks reset to be on preemption.
2020-06-27 11:36:06 -04:00
Fernando Sahmkow
6f0c873d48
General: Cleanup legacy code.
2020-06-27 11:36:05 -04:00
Fernando Sahmkow
e95444c05a
Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak.
2020-06-27 11:36:04 -04:00
Fernando Sahmkow
1146679de6
Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL.
2020-06-27 11:36:03 -04:00
Fernando Sahmkow
b2109333c6
HLE_IPC: Correct HLE Event behavior on timeout.
2020-06-27 11:36:03 -04:00
Fernando Sahmkow
4132ba96da
SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock.
2020-06-27 11:36:02 -04:00
Fernando Sahmkow
3197d72996
FrameLimiting: Enable frame limiting for single core.
2020-06-27 11:36:01 -04:00
Fernando Sahmkow
f0f2fc4243
SingleCore: Use Cycle Timing instead of Host Timing.
2020-06-27 11:36:01 -04:00
Fernando Sahmkow
21235cdab1
Scheduler: Correct Reload/Unload
2020-06-27 11:35:59 -04:00
Fernando Sahmkow
720858ba13
Thread: Release the ARM Interface on exitting.
2020-06-27 11:35:58 -04:00
Fernando Sahmkow
db60ca2704
General: Move ARM_Interface into Threads.
2020-06-27 11:35:58 -04:00
Fernando Sahmkow
7b3b33a2e6
Core: Refactor ARM Interface.
2020-06-27 11:35:56 -04:00
Fernando Sahmkow
1cc7c426df
X64 Clock: Reduce accuracy to be less or equal to guest accuracy.
2020-06-27 11:35:55 -04:00
Fernando Sahmkow
c22d3e1e18
ARM/WaitTree: Better track the CallStack for each thread.
2020-06-27 11:35:54 -04:00
Fernando Sahmkow
96c996b6a0
SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.
2020-06-27 11:35:53 -04:00
Fernando Sahmkow
287ea2d3b4
SingleCore: Move Host Timing from a sepparate thread to main cpu thread.
2020-06-27 11:35:52 -04:00
Fernando Sahmkow
1bcceea736
GUI: Make multicore only work with Async and add GUI for multicore.
2020-06-27 11:35:52 -04:00
Fernando Sahmkow
fc47857c3b
ARM: Addapt to new Exclusive Monitor Interface.
2020-06-27 11:35:50 -04:00
Fernando Sahmkow
5f8acb6397
CPU_Manager: Correct stopping on SingleCore.
2020-06-27 11:35:49 -04:00
Fernando Sahmkow
d03d00c9c2
Scheduler: Correct yielding interaction with SetThreadActivity.
2020-06-27 11:35:49 -04:00
Fernando Sahmkow
b121009e03
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
2020-06-27 11:35:48 -04:00
Fernando Sahmkow
cb974be3ce
General: Fix Stop function
2020-06-27 11:35:47 -04:00
Fernando Sahmkow
3869e55c27
Kernel: Rewind on SVC change.
2020-06-27 11:35:46 -04:00
Fernando Sahmkow
0963ff1ae9
Kernel: Preempt Single core on redudant yields.
2020-06-27 11:35:45 -04:00
Fernando Sahmkow
ebb640e968
CPU_Manager: Unload/Reload threads on preemption on SingleCore
2020-06-27 11:35:43 -04:00
Fernando Sahmkow
d2aa227e0d
Synchronization: Correct wide Assertion.
2020-06-27 11:35:43 -04:00
Fernando Sahmkow
cc2f7dcd08
General: Initial Setup for Single Core.
2020-06-27 11:35:42 -04:00
Fernando Sahmkow
65225cf61b
Scheduler: Set last running time on thread.
2020-06-27 11:35:41 -04:00
Fernando Sahmkow
76daf8f672
Kernel: Corrections to TimeManager, Scheduler and Mutex.
2020-06-27 11:35:40 -04:00
Fernando Sahmkow
24bc1f020a
Kernel: Fixes, corrections and asserts to scheduler and different svcs.
2020-06-27 11:35:40 -04:00
Fernando Sahmkow
5183094c24
Scheduler: Correct yields.
2020-06-27 11:35:39 -04:00
Fernando Sahmkow
d9a0ea22bf
Mutex: Revert workaround due to poor exclusive memory.
2020-06-27 11:35:38 -04:00
Fernando Sahmkow
5eac520ae3
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
2020-06-27 11:35:37 -04:00
Fernando Sahmkow
d2a2c5f57b
SVC: WaitSynchronization add Termination Pending Result.
2020-06-27 11:35:36 -04:00
Fernando Sahmkow
a9ed059a07
Scheduler: Remove arm_interface lock and a few corrections.
2020-06-27 11:35:35 -04:00
Fernando Sahmkow
87117805c9
SVC: Correct SetThreadActivity.
2020-06-27 11:35:33 -04:00
Fernando Sahmkow
c1f6b99653
SCC: Small corrections to CancelSynchronization
2020-06-27 11:35:33 -04:00
Fernando Sahmkow
e5454c3665
Scheduler: Correct locking for hle threads.
2020-06-27 11:35:32 -04:00
Fernando Sahmkow
723a909ee9
Scheduler: Fix HLE Threads on guard
2020-06-27 11:35:31 -04:00
Fernando Sahmkow
b80f252d11
Scheduler: Protect on closed threads.
2020-06-27 11:35:31 -04:00
Fernando Sahmkow
e501cbe5b8
Scheduler: Correct assert.
2020-06-27 11:35:30 -04:00
Fernando Sahmkow
c8e62451c6
Core: Correct rebase.
2020-06-27 11:35:29 -04:00
Fernando Sahmkow
8c30c20863
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
2020-06-27 11:35:28 -04:00
Fernando Sahmkow
7ad6af4bdb
NVDRV: Remove frame limiting as Host Timing already takes care.
2020-06-27 11:35:28 -04:00
Fernando Sahmkow
4621b4b37a
Mutex: Correct Result writting to clear exclusivity.
2020-06-27 11:35:26 -04:00
Fernando Sahmkow
7270076127
SVC: Correct svcWaitForAddress and svcSignalToAddress.
2020-06-27 11:35:25 -04:00
Fernando Sahmkow
a3f7acb149
Scheduler: Correct Select Threads Step 2.
2020-06-27 11:35:24 -04:00
Fernando Sahmkow
47c01e68da
Kernel: Corrections to Scheduling.
2020-06-27 11:35:23 -04:00
Fernando Sahmkow
5e26654c5a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
2020-06-27 11:35:23 -04:00
Fernando Sahmkow
da260b9d2e
Core: Correct HLE Event Callbacks and other issues.
2020-06-27 11:35:22 -04:00
Fernando Sahmkow
04cb816f7a
Process: Protect TLS region and Modules.
2020-06-27 11:35:21 -04:00
Fernando Sahmkow
cd3d1798d8
General: Add Asserts
2020-06-27 11:35:21 -04:00
Fernando Sahmkow
78eeea9f17
General: Add better safety for JIT use.
2020-06-27 11:35:20 -04:00
Fernando Sahmkow
7932cf9617
SVC: Correct races on physical core switching.
2020-06-27 11:35:19 -04:00
Fernando Sahmkow
2c0431e5ed
NVFlinger: Lock race condition between CPU, Host Timing, VSync.
2020-06-27 11:35:18 -04:00
Fernando Sahmkow
9140f5d1f3
SVC: Add locks to the memory management.
2020-06-27 11:35:18 -04:00
Fernando Sahmkow
6605f8acfa
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
2020-06-27 11:35:17 -04:00
Fernando Sahmkow
940422fd96
SVC: Cleanup old methods.
2020-06-27 11:35:16 -04:00
Fernando Sahmkow
64fe82af2e
CPU_Manager: Reconfigre guest threads for dynamrmic downsides
2020-06-27 11:35:15 -04:00
Fernando Sahmkow
85ca7b2bdb
SVC: Correct SendSyncRequest.
2020-06-27 11:35:14 -04:00
Fernando Sahmkow
5c70bfcef7
SVC: Correct ArbitrateUnlock
2020-06-27 11:35:14 -04:00
Fernando Sahmkow
8c9d258e66
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
2020-06-27 11:35:13 -04:00
Fernando Sahmkow
71e008a336
SVC: Remove global HLE Lock.
2020-06-27 11:35:13 -04:00
Fernando Sahmkow
b2fea85499
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
2020-06-27 11:35:12 -04:00
Fernando Sahmkow
451344e9ae
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
2020-06-27 11:35:11 -04:00
Fernando Sahmkow
fb1d75a788
HostTiming: Pause the hardware clock on pause.
2020-06-27 11:35:10 -04:00
Fernando Sahmkow
9846f5822d
General: Setup yuzu threads' microprofile, naming and registry.
2020-06-27 11:35:09 -04:00
Fernando Sahmkow
63bd59669f
CPU_Manager: remove debugging code.
2020-06-27 11:35:08 -04:00
Fernando Sahmkow
7ee76003ad
General: Recover Prometheus project from harddrive failure
...
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
2020-06-27 11:35:06 -04:00
David
a83f0b607e
Merge pull request #3396 from FernandoS27/prometheus-1
...
Implement SpinLocks, Fibers and a Host Timer
2020-06-28 01:34:07 +10:00
VolcaEM
a1e5cfa4b6
nfc: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/NFC_services
2020-06-27 13:09:36 +02:00
VolcaEM
c696867643
ncm: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/NCM_services
ILocationResolver's 16, 17, 18 and 19 have unofficial names
2020-06-27 13:05:22 +02:00
VolcaEM
d75e36dca8
mm: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Display_services
2020-06-27 12:59:01 +02:00
VolcaEM
1df981bf33
mig: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Migration_services
2020-06-27 12:53:59 +02:00
VolcaEM
66442ce8fd
ldn: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/LDN_services
2020-06-27 12:50:56 +02:00
VolcaEM
87f8989359
Oops (fix typo)
2020-06-27 12:45:42 +02:00
VolcaEM
9a04fa1cf8
lbl: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Backlight_services
2020-06-27 12:43:33 +02:00
VolcaEM
26855d7906
grc: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/GRC_services
2020-06-27 12:41:21 +02:00
VolcaEM
ee12f6f61e
friend: Update function table
2020-06-27 12:39:10 +02:00
bunnei
286418bf01
Merge pull request #4164 from Kewlan/mute-audio-hotkey
...
hotkeys: Add a "Mute Audio" hotkey
2020-06-27 02:47:13 -04:00
bunnei
c5f5483ee1
Merge pull request #4158 from Morph1984/caps
...
caps: Use enum classes and check struct sizes on compile time
2020-06-27 00:09:32 -04:00
bunnei
c9acff2600
Merge pull request #4152 from ogniK5377/ipc-err
...
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
2020-06-26 23:37:19 -04:00
bunnei
615e5630bf
Merge pull request #4154 from ogniK5377/swkbd-nullptr
...
Prevent nullptr dereference on swkbd error case
2020-06-26 23:25:04 -04:00
David
f546eac9f3
Merge pull request #4178 from VolcaEM/patch-6
...
es: Update function table
2020-06-27 13:05:12 +10:00
VolcaEM
92f8bc1bf8
Use better names for "Unknown"s
2020-06-27 02:48:29 +02:00
VolcaEM
70e34fdba0
Update function names
2020-06-27 02:43:22 +02:00
David Marcec
b412e8b952
btm: Give better names for unknown functions
2020-06-27 10:42:46 +10:00
VolcaEM
4cf402a109
btdrv: Update function table ( #4174 )
...
* btdrv: Update function table
2020-06-26 20:34:29 -04:00
VolcaEM
29e3f101d9
bpc: Update function tables ( #4173 )
...
* bpc: Update function tables
This was based on Switchbrew page: https://switchbrew.org/wiki/PCV_services
2020-06-26 20:33:55 -04:00
VolcaEM
866f06f078
bcat: Update function tables and add missing classes ( #4172 )
...
* bcat: Update function tables and add missing classes
2020-06-26 20:33:25 -04:00
VolcaEM
690e4b86ae
am: Update function tables and add missing classes ( #4169 )
...
* am: Update function tables and add missing classes
* Remove comments (1/5)
* Remove comments (2/5)
* Remove comments (3/5)
* Remove comments (4/5)
* Remove comments (5/5)
* Remove unused classes (1/2)
* Remove unused classes (2/2)
2020-06-26 20:32:26 -04:00
VolcaEM
9052b62380
aoc: Update function table ( #4170 )
...
* aoc: Update function table
* Remove comments
2020-06-26 20:31:44 -04:00
LC
1b10d314f4
Merge pull request #4177 from VolcaEM/patch-5
...
btm: Update function tables
2020-06-26 20:30:59 -04:00
VolcaEM
4aa69a35d9
eupld: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/Error_Upload_services
2020-06-27 02:25:04 +02:00
VolcaEM
1824af3f63
es: Update function table
...
This was based on Switchbrew page: https://switchbrew.org/wiki/ETicket_services
2020-06-27 02:17:51 +02:00
VolcaEM
aa2672fb2c
btm: Update function tables
...
This was based on Switchbrew page: https://switchbrew.org/wiki/BTM_services
"No comment" edition
2020-06-27 01:57:48 +02:00
Morph
d8df8d84ae
caps_u: Fix GetAlbumContentsFileListForApplication stub
2020-06-26 08:35:21 -04:00
Morph
851a3a8638
caps: Use enum classes and check struct sizes on compile time
2020-06-26 08:35:21 -04:00
Morph
9b4a5f297b
caps: Update copyright headers
...
Updated to "yuzu Emulator Project"
2020-06-26 08:35:21 -04:00
Kewlan
3fcf2f201c
Add a "Mute Audio" hotkey
2020-06-26 06:03:29 +02:00
bunnei
257cf13b70
Merge pull request #4159 from ogniK5377/mem-manager-dumb-assert
...
memory_manager: Remove useless assertion
2020-06-25 22:53:13 -04:00
David
fbc30df353
Merge pull request #4141 from Morph1984/SevenSixAxisSensor
...
hid: Stub a series of "SevenSixAxisSensor" service commands
2020-06-25 19:37:39 +10:00
David Marcec
442900456e
memory_manager: Remove useless assertion
...
num_pages is an std::size_t. It will always be >= 0
2020-06-25 16:35:58 +10:00
Morph
3e0ff59a63
hid: Stub a series of "SevenSixAxisSensor" service commands
...
- Used by Captain Toad: Treasure Tracker Update 1.3.0
While we're at it, fix the input parameters for SetIsPalmaAllConnectable and SetPalmaBoostMode
2020-06-24 11:57:39 -04:00
David Marcec
4b9812e7bb
Prevent nullptr dereference on swkbd error case
2020-06-25 00:25:15 +10:00
David Marcec
bf4e6b3cba
prepo: : Don't read extra buffer from report unless passed
...
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
2020-06-24 23:01:00 +10:00
David Marcec
df001e73c2
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
...
Previously if applications would send faulty buffers(example homebrew) it would lead to us returning uninitalized data. Switching from ASSERT_MSG to ASSERT_OR_EXECUTE_MSG allows us to have a fail safe to prevent crashes but also continue execution without introducing undefined behavior
2020-06-24 22:50:27 +10:00
David Marcec
1dee0b9436
Move GetKeyCodeMapImpl to an anonymous namespace
2020-06-24 13:05:08 +10:00
David Marcec
8ce11701a9
Fixed logging output
2020-06-24 12:07:41 +10:00
David Marcec
55b6b3cada
Implement GetKeyCodeMap & GetKeyCodeMap2
...
Closes #3919
2020-06-24 12:05:52 +10:00
bunnei
b465ef400e
Merge pull request #4138 from Morph1984/GyroscopeZeroDriftMode
...
hid: Implement Get/ResetGyroscopeZeroDriftMode
2020-06-23 21:56:16 -04:00
bunnei
93d5407c96
Merge pull request #4128 from lioncash/move2
...
software_keyboard: Eliminate trivial redundant copies
2020-06-23 18:24:15 -04:00
Morph
e9bee77481
lm: Silence no return value warning
2020-06-22 22:55:32 -04:00
VolcaEM
b9e6687af0
account: Update function tables and add missing classes ( #4145 )
...
* account: Update function tables and add missing classes
* clang-format
* Add missing "public"
* Add missing public again
* Add missing final
2020-06-22 16:03:26 -04:00
Morph
75e120056f
arm_dynarmic_64: Log the instruction when an exception is raised
2020-06-22 07:00:24 -04:00
Morph
393197f37c
arm_dynarmic_32: Log under Core_ARM instead of HW_GPU
2020-06-22 06:59:41 -04:00
Morph
eaa3067fa8
hid: Implement Get/ResetGyroscopeZeroDriftMode
...
- Used by Captain Toad Treasure Tracker
2020-06-21 16:25:41 -04:00
Lioncash
5f8e8ba92d
software_keyboard: Eliminate trivial redundant copies
...
We can just make use of moves here to get rid of two redundant copies
2020-06-20 01:06:10 -04:00
bunnei
7612c56cff
Merge pull request #4099 from MerryMage/macOS-build
...
Fix compilation on macOS
2020-06-19 23:31:04 -04:00
bunnei
d235ebeaf6
Merge pull request #4113 from ogniK5377/boxcat-disable
...
Fix compilation when not building with boxcat
2020-06-19 21:59:59 -04:00
MerryMage
b8983782ca
mii_model: Remove redundant std::move
...
Named return value optimization automatically applies here.
2020-06-19 14:29:09 +01:00
David Marcec
39ef4c6d57
Fix compilation when not building with boxcat
...
Fixes compilation when trying to build without boxcat enabled
2020-06-19 22:17:56 +10:00
Fernando Sahmkow
b71488b850
Host Timing: Correct clang format.
2020-06-18 16:29:23 -04:00
Fernando Sahmkow
a427bf72ea
HostTiming: Correct rebase and implement AddTicks.
2020-06-18 16:29:22 -04:00
Fernando Sahmkow
e7f5b1f1d3
Core/HostTiming: Allow events to be advanced manually.
2020-06-18 16:29:22 -04:00
Fernando Sahmkow
564713fb46
Common/Tests: Address Feedback
2020-06-18 16:29:21 -04:00
Fernando Sahmkow
09d2ffa663
Common/Tests: Clang Format.
2020-06-18 16:29:19 -04:00
Fernando Sahmkow
0c789667d9
Common: Refactor & Document Wall clock.
2020-06-18 16:29:18 -04:00
Fernando Sahmkow
ee32067b10
Common: Implement WallClock Interface and implement a native clock for x64
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
ab76c0e296
Tests: Add base tests to host timing
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
e99a10917e
Core: Implement a Host Timer.
2020-06-18 16:29:16 -04:00
ReinUsesLisp
a0cbf4f4e8
arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0
...
On MSVC builds we treat conversion warnings as errors.
2020-06-18 16:52:15 -03:00
MerryMage
23d63c30e1
memory_manager: Explicitly specifcy std::min<size_t>
2020-06-18 15:47:44 +01:00
MerryMage
042bb8824b
shared_font: Service::NS::EncryptSharedFont takes a size_t&
2020-06-18 15:47:44 +01:00
VolcaEM
8cd49f28a3
Move SHA256Hash to its original position
...
It's not needed to have it in its previous position anymore
2020-06-18 15:45:47 +02:00
MerryMage
8055a71e00
arm_dynarmic_cp15: Implement CNTPCT
2020-06-17 17:10:24 +01:00
MerryMage
0ac9600204
arm_dynarmic_cp15: Update CP15
2020-06-17 17:10:24 +01:00
MerryMage
fc1c12b2c9
arm_dynarmic_32: InterpreterFallback should never happen
2020-06-17 17:10:24 +01:00
VolcaEM
85a247d6cf
Remove unnecessary pragmas
2020-06-16 20:28:44 +02:00
VolcaEM
1f2f16c656
Revert IsValidNRO refactor but make it more readable
2020-06-16 20:24:58 +02:00
bunnei
4f35f3b78f
Merge pull request #3966 from Morph1984/hide-internal-resolution-ui
...
yuzu/frontend: Remove internal resolution option
2020-06-16 14:12:17 -04:00
VolcaEM
18b88119d2
Update assert string
2020-06-16 15:57:02 +02:00
bunnei
1a0de59d23
Merge pull request #4070 from ogniK5377/GetTPCMasks-fix
...
nvdrv: Fix GetTPCMasks for ioctl3
2020-06-14 20:12:45 -04:00
VolcaEM
68a7d8fb09
Clang-format again
2020-06-14 19:41:28 +02:00
VolcaEM
26b0ef5ce0
Use consistent variable names
2020-06-14 19:37:44 +02:00
VolcaEM
a01b0de19a
Clang-format
2020-06-14 19:34:58 +02:00
VolcaEM
2ae60c8949
Make assert strings consistent
2020-06-14 19:30:08 +02:00
VolcaEM
f801c273eb
Attempt to fix crashes in SSBU and refactor IsValidNRO
2020-06-14 19:28:39 +02:00
bunnei
c8c4bdf3c1
Merge pull request #4069 from ogniK5377/total-phys-mem
...
kernel: Account for system resource size for memory usage
2020-06-14 00:44:34 -04:00
bunnei
b717bb09f2
Merge pull request #4010 from ogniK5377/reserve-always-break
...
kernel: ResourceLimit::Reserve remove useless while loop
2020-06-12 22:30:19 -04:00
David Marcec
f57da2d9f9
nvdrv: Fix GetTPCMasks for ioctl3
...
Fixes animal crossing svcBreak on launch
2020-06-10 18:36:42 +10:00
David Marcec
97ad3cd3ee
kernel: Account for system resource size for memory usage
...
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
2020-06-10 14:49:00 +10:00
Morph
d594106360
yuzu/frontend: Remove internal resolution option
2020-06-06 15:56:14 -04:00
bunnei
f46e366cdc
service: nvhost_vic: Ignore Submit commands.
2020-06-04 22:32:28 -04:00
Zach Hilman
a283b0672d
nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies
2020-06-04 22:32:28 -04:00
bunnei
2db3e7456a
Merge pull request #4044 from ogniK5377/handle-not-signalled-err
...
Downgrade "handle not signaled" error to trace
2020-06-04 12:23:40 -04:00
bunnei
8bf40a4abc
Merge pull request #4009 from ogniK5377/macro-jit-prod
...
video_core: Implement Macro JIT
2020-06-04 11:40:52 -04:00
David Marcec
07db67b406
Downgrade "handle not signaled" error to trace
...
clogs logs quite a bit
2020-06-04 22:27:15 +10:00
VolcaEM
50bf4c70cd
Address review comments
2020-06-02 17:54:10 +02:00
VolcaEM
f42797d852
Clang-format
2020-06-01 19:42:54 +02:00
VolcaEM
998bfbb573
hid: Stub GetXpadIDs
...
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
2020-06-01 19:38:44 +02:00
VolcaEM
6f126bb803
Add comment to nrr_kind
...
According to Atmosphére (c7026b9094/libraries/libstratosphere/include/stratosphere/ro/ro_types.hpp ), nrr_kind (Atmosphére calls it "type") is 7.0.0+
2020-05-31 19:12:09 +02:00
VolcaEM
9390c0c271
ldr: Update NRR/NRO structs
...
This was based on Switchbrew pages:
https://switchbrew.org/wiki/NRR
https://switchbrew.org/wiki/NRO
2020-05-31 18:49:51 +02:00
David Marcec
05eeb7de3d
Implement macro JIT
2020-05-30 11:40:04 +10:00
David Marcec
55b534c5a0
kernel: ResourceLimit::Reserve remove useless while loop
...
Timeout is a u64, it will always be >= 0
2020-05-29 13:48:01 +10:00
bunnei
b3a0868b53
Merge pull request #4002 from lat9nq/fix-nix-mod-directories
...
patch_manager: Add support for case-sensitivity on Linux
2020-05-28 22:36:39 -04:00
lat9nq
9d08039623
Make copying directory string more concise
2020-05-28 13:33:50 -04:00
lat9nq
2ad3571453
Address requested changes
2020-05-28 13:30:22 -04:00
lat9nq
2adc5f524d
*nix systems can read any-case patch directories
...
Changes many patch_manager functions to use a case-less variant of
GetSubdirectory. Fixes patches not showing up on *nix systems when
patch directories are named with odd cases, i.e. `exeFS'.
2020-05-27 23:12:56 -04:00
bunnei
83ef89fc45
Merge pull request #3964 from ReinUsesLisp/arb-integration
...
renderer_opengl: Add assembly program code paths
2020-05-24 00:34:12 -04:00
VolcaEM
4f1136dfca
clang-format
2020-05-21 10:43:55 +02:00
VolcaEM
f7d23b21d0
nifm: correct assert in CreateTemporaryNetworkProfile
...
This has been wrong since bd66646f8b
I haven't found a game that called this function (and I haven't tried this on a real Switch), and because of this I haven't been able to check if the number in assert OR the string in the assert is wrong, but one of the two is wrong:
NetworkProfileData is 0x18E, while SfNetworkProfileData is 0x17C, according to Switchbrew
Switchbrew doesn't officially say that NetworkProfileData's size is 0x18E but it's possible to calculate its size since Switchbrew provides the size and the offset of all the components of NetworkProfileData (which isn't currently implemented in yuzu, alongside SfNetworkProfileData)
NetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#NetworkProfileData
SfNetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#SfNetworkProfileData
Since I trust ogniK's work on reversing NIFM, I'd assume this was just a typo in the string
2020-05-21 10:23:53 +02:00
bunnei
9d095bbb06
Merge pull request #3946 from ogniK5377/sysverdat-10-0-2
...
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-20 19:21:27 -04:00
FearlessTobi
5e9e8073a0
crypto: Make KeyManager a singleton class
...
Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list.
With this change, it is only loaded once.
On my system, this decreased game list loading times by a factor of 20.
2020-05-20 21:28:16 +02:00
ReinUsesLisp
541a254c2e
yuzu: Add frontend settings for assembly shaders
...
Add settings for assembly shaders. Currently hidden to avoid users from
accidentally enabled them.
2020-05-19 17:53:17 -03:00
bunnei
3b781db425
Merge pull request #3926 from ogniK5377/keyboard-states
...
hid: Clear keyboard states & fix logic issue
2020-05-19 15:55:14 -04:00
bunnei
c5fbedf14c
Merge pull request #3665 from bunnei/device-save
...
FS: Improve emulation of device saves
2020-05-16 12:39:58 -04:00
David Marcec
d50dd8f7a0
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-16 13:56:06 +10:00
David Marcec
97c023e3f0
nv_flinger: Use enum for pixel format instead of u32
2020-05-16 13:47:55 +10:00
Morph
eedbf90664
frontend: Set minimum window size to 640x360 instead of 1280x720 ( #3413 )
2020-05-15 22:22:27 +02:00
bunnei
053399a553
time_zone: Use std::chrono::seconds for strong typing.
2020-05-12 18:44:07 -04:00
David Marcec
e6886a756c
hid: Clear keyboard states & fix logic issue
...
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
2020-05-12 12:40:50 +10:00
bunnei
f42b9c0a85
hle: service: time_zone_manager: Use current time zone setting.
2020-05-11 17:55:25 -04:00
bunnei
8588ac0645
core: settings: Add a setting for time zone.
2020-05-11 17:50:07 -04:00
bunnei
ee3b9071b5
service: fsp_srv: Stub implementation of OpenMultiCommitManager.
2020-05-11 12:54:30 -04:00
bunnei
97e2eb439c
file_sys: savefata_factory: Update to support DeviceSaveData.
2020-05-11 12:54:30 -04:00
bunnei
f870a935d4
file_sys: control_metadata: Expose device_save_data_size.
2020-05-11 12:54:30 -04:00
David Marcec
26bd4978a3
Stub SendKeyboardLockKeyEvent
...
Needed for Puchikon 4 SmileBASIC 1.0.0
2020-05-12 01:01:50 +10:00
James Rowe
2991e7441a
Replace externals with Conan ( #3735 )
...
* Remove git submodules that will be loaded through conan
* Move custom Find modules to their own folder
* Use conan for downloading missing external dependencies
* CI: Change the yuzu source folder user to the user that the containers run on
* Attempt to remove dirty mingw build hack
* Install conan on the msvc build
* Only set release build type when using not using multi config generator
* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries
* Add workaround for submodules that use legacy CMAKE variables
* Re-add USE_BUNDLED_QT on the msvc build bot
2020-05-08 17:09:29 -04:00
bunnei
58bda1c7b8
Merge pull request #3879 from lioncash/global2
...
hle_ipc: Eliminate core memory globals
2020-05-07 19:13:34 -04:00
bunnei
09789af434
Merge pull request #3881 from lioncash/mem-warning
...
kernel/memory: Resolve several compiler warnings
2020-05-05 15:41:18 -04:00
bunnei
c52483e3c3
Merge pull request #3880 from lioncash/encoding
...
kernel/memory: Amend potential encoding warnings
2020-05-04 18:50:29 -04:00
bunnei
f79198dea0
Merge pull request #3843 from ogniK5377/GetPopFromGeneralChannelEvent
...
am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent
2020-05-04 16:20:11 -04:00
bunnei
5da1786107
Merge pull request #3822 from ogniK5377/GetAccountId
...
acc: Return a unique value per account for GetAccountId
2020-05-03 23:15:03 -04:00
Lioncash
12b81f2581
kernel/memory: Remove #pragma once within cpp file
...
This isn't necessary in a cpp file and will cause warnings on clang.
2020-05-03 13:42:07 -04:00
Lioncash
0bf0d27552
kernel/memory: Remove unused includes
...
Prevents header churn and needing to recompile these files if these
headers are ever changed in the future.
2020-05-03 13:41:18 -04:00
Lioncash
0bb99454ed
kernel/memory: Remove unused variables in memory_block_manager
...
Prevents unused variable warnings.
2020-05-03 13:36:20 -04:00
Lioncash
42d43335c9
kernel/memory: Make use of std::array consistently in address_space_info
...
This allows tuning standard library implementations to enable or disable
range checks at runtime, which is nicer for debugging.
2020-05-03 13:34:24 -04:00
Lioncash
e09098b981
kernel/memory: Resolve -Wshadow warnings
...
Prevents variable name clashing.
2020-05-03 13:29:42 -04:00
Lioncash
a93929b23a
kernel/memory: Amend potential encoding warnings
...
While èis generally representable in some language encodings, in some
it isn't and will result in compilation warnings occurring. To remain
friendly with other language's codepages on Windows, we normalize it to
an ASCII e.
2020-05-03 13:01:03 -04:00
Lioncash
ccfac6d992
hle_ipc: Eliminate core memory globals
...
We can just pass the required instances into the constructor of the
request, eliminating all usages of the global system accessor.
2020-05-03 12:57:40 -04:00
Morph
970c8f1ccc
settings: Add anisotropic filtering level to the yuzu configuration log ( #3875 )
2020-05-03 17:42:17 +02:00
bunnei
d4f7e52238
Merge pull request #3871 from lioncash/semi
...
readable_event: Remove unnecessary semicolon in Signal()
2020-05-02 23:38:36 -04:00
bunnei
4597cd841f
Merge pull request #3824 from ogniK5377/GetDisplayVersion
...
am: Properly implement GetDisplayVersion
2020-05-02 23:35:38 -04:00
bunnei
6173ba77f8
Update src/core/hle/service/am/am.cpp
...
Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-05-02 23:35:31 -04:00
Lioncash
918b439e26
readable_event: Remove unnecessary semicolon in Signal()
...
Resolves a -Wextra-semi warning.
While we're at it, we can invert the branch to form a guard clause,
unindenting all of the contained code.
2020-05-02 14:07:31 -04:00
bunnei
21316625ba
Merge pull request #3811 from ogniK5377/audin-init
...
audin:u: ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
2020-05-02 13:11:52 -04:00
bunnei
22e6bc0ea0
Merge pull request #3819 from ogniK5377/err-log2
...
kernel: Don't fail silently
2020-05-02 02:51:50 -04:00
bunnei
3b6efbe7ef
Merge pull request #3833 from qwell/caps_su-32-stub
...
Add stub for caps:su SetShimLibraryVersion
2020-05-01 23:34:05 -04:00
bunnei
75b8a3e356
Merge pull request #3821 from ogniK5377/InitializeApplicationInfo-fix
...
acc: Fix InitializeApplicationInfo
2020-05-01 22:06:05 -04:00
bunnei
afb0785293
Merge pull request #3812 from ogniK5377/lisst-qualified-users
...
account: ListQualifiedUsers
2020-05-01 22:05:37 -04:00
David Marcec
1d2ebbf8fe
nvdrv: Fix GetGpuTime stack corruption
...
IoctlGetGpuTime should be 16 bytes, not 8.
2020-05-02 00:14:37 +10:00
David Marcec
e433e24ed4
am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent
...
QLaunch 1.0.0
2020-05-01 11:20:43 +10:00
Jason Parker
9cdcfd80fc
caps:su Stub out SetShimLibraryVersion
...
Used by Animal Crossing: New Horizons when trying to take a picture.
2020-04-30 15:16:53 -04:00
Mat M
1acf3384c1
Merge pull request #3823 from ogniK5377/setvrmode
...
am: IsVrModeEnabled & SetVrModeEnabled fixes
2020-04-30 13:39:16 -04:00
Mat M
83fd54762b
Merge pull request #3830 from ogniK5377/GetFriendInvitationStorageChannelEvent
...
am: GetFriendInvitationStorageChannelEvent
2020-04-30 13:38:35 -04:00
Mat M
354fd09052
Merge pull request #3835 from ogniK5377/GetFreeSpaceSize-GetTotalSpaceSize
...
fs-srv: GetFreeSpaceSize & GetTotalSpaceSize
2020-04-30 13:37:43 -04:00
Mat M
fc4b536a7e
Merge pull request #3832 from ogniK5377/nim-eca-CreateServerInterface
...
nim: CreateServerInterface, CreateAccessorInterface, CreateAsyncInterface
2020-04-30 13:36:04 -04:00
Mat M
74595956c2
Merge pull request #3831 from ogniK5377/caps-su-names
...
caps: Add missing service names to caps:su
2020-04-30 13:32:53 -04:00
David Marcec
053fabf414
fs-srv: GetFreeSpaceSize & GetTotalSpaceSize
...
Closes #3533
Turns out the functions were already implemented but just never added
2020-04-30 23:59:57 +10:00
David Marcec
9acd88ff71
nim: CreateServerInterface, CreateAccessorInterface, CreateAsyncInterface
...
Closes #3026
2020-04-30 23:10:20 +10:00
David Marcec
66f74349f0
caps: Add missing service names to caps:su
...
SetShimLibraryVersion, SaveScreenShotEx1 & SaveScreenShotEx2 were missing
2020-04-30 22:51:06 +10:00
David Marcec
5da10e6ec0
am: GetFriendInvitationStorageChannelEvent
...
Closes #3829
2020-04-30 22:37:26 +10:00
David Marcec
b1d4271c5d
psm: Mark as debug instead of warning
...
No point to emulate battery life. However options are broken out if we ever want to add a setting for it
2020-04-29 22:39:49 +10:00
David Marcec
22298a3b2d
am: Properly implement GetDisplayVersion
...
Properly implement IApplicationFunctions::GetDisplayVersion
2020-04-29 22:13:56 +10:00
David Marcec
70e12c713e
am: IsVrModeEnabled & SetVrModeEnabled fixes
...
Return the proper state of vr mode for IsVrModeEnabled
We should not return an error for SetVrModeEnabled. When VR Mode is turned on, it signals to lbl to turn vr mode on, not return an error code
2020-04-29 21:48:58 +10:00
David Marcec
3d475a655b
acc: Return a unique value per account for GetAccountId
2020-04-29 21:09:53 +10:00
David Marcec
485cb3ac34
acc: Fix InitializeApplicationInfo
...
We're not suppose to pop a u64, should just read the sent pid and check that
2020-04-29 20:49:35 +10:00
David Marcec
4f69eb7061
kernel: Don't fail silently
2020-04-29 14:53:53 +10:00
Mat M
83a5463c10
Merge pull request #3818 from ogniK5377/err-log
...
Don't fail silently for vi, sm, set and ns services
2020-04-28 21:41:13 -04:00
Mat M
661193a566
Merge pull request #3783 from lioncash/pointer
...
physical_core: Make use of std::make_unique instead of std::make_shared in ctor
2020-04-28 21:38:02 -04:00
David Marcec
63b73587b7
Don't fail silently for vi, sm, set and ns services
2020-04-29 11:15:21 +10:00
David Marcec
45ece975bf
kernel: Bad GetInfo ids should not be marked as stubs
...
As we currently match hardware and don't return a successful result, these should be marked as errors instead of warnings and as stubs.
2020-04-29 01:17:59 +10:00
David Marcec
fecc4a4a01
Updated comment to reflect ListQualifiedUsers better
2020-04-29 01:13:03 +10:00
David Marcec
0af061e175
style: Change AMs & Glues error codes to be dec instead of hex
...
Consistency for the rest of the error codes in the codebase
2020-04-29 00:49:49 +10:00
David Marcec
b680569dd3
marked stubs
2020-04-29 00:43:05 +10:00
David Marcec
36302b6e20
account: ListQualifiedUsers
...
Closes #2844
2020-04-29 00:37:47 +10:00
David Marcec
f3209e7baa
Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
...
Closes #2874
2020-04-29 00:19:07 +10:00
bunnei
27dc83efa6
Merge pull request #3785 from ogniK5377/set-buffer-count-unit
...
vi: Don't let uninitialized data pass as a response for SetBufferCount
2020-04-27 17:10:28 -04:00
Mat M
ba644d9560
Merge pull request #3797 from slashiee/hid-stub
...
services: hid: Stub StopSevenSixAxisSensor.
2020-04-27 15:37:08 -04:00
bunnei
d952b2e1da
Merge pull request #3742 from FernandoS27/command-list
...
Optimize GPU Command Lists and Introduce Fast GPU Time Option
2020-04-27 00:18:46 -04:00
bunnei
c9b8476b99
Merge pull request #3744 from lioncash/table2
...
service: Update function tables
2020-04-26 04:15:47 -04:00
M&M
381eed14f6
services: hid: Stub StopSevenSixAxisSensor.
...
- Used by The Legend of Zelda: Breath of the Wild v1.6.0
2020-04-25 15:38:56 -07:00
bunnei
01c26ad131
Merge pull request #3780 from lioncash/process
...
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
2020-04-24 23:22:26 -04:00
David Marcec
efe3e5c7c6
vi: Don't let uninitialized data pass as a response for SetBufferCount
...
Currently SetBufferCount doesn't write to the out buffer which then contains uninitialized data. This leads to non-zero data which leads to responding with different error codes
2020-04-24 17:24:58 +10:00
Lioncash
dca9c90af3
physical_core: Make use of std::make_unique instead of std::make_shared in ctor
...
We can also allow unicorn to be constructed in 32-bit mode or 64-bit
mode to satisfy the need for both interpreter instances.
Allows this code to compile successfully of non x86-64 architectures.
2020-04-24 00:20:58 -04:00
Rodrigo Locatti
25bd2ba359
Merge pull request #3777 from lioncash/warn
...
page_table: Remove unused captures
2020-04-23 21:47:54 -03:00
Rodrigo Locatti
eef3218a82
Merge pull request #3778 from lioncash/unused-var
...
svc: Remove unused variable
2020-04-23 21:47:24 -03:00
Lioncash
9a5a6ebe0a
shared_memory: Amend doxygen reference
...
Amends the parameter to match the documentation reference.
Resolves a -Wdocumentation warning with clang.
2020-04-23 18:42:14 -04:00
Lioncash
224d3c6b9d
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
...
These were lost in the re-implementation of the virtual memory manager.
2020-04-23 18:12:04 -04:00
Lioncash
2fc4351547
svc: Remove unused variable
...
Since the VMM refactor, this is no longer used or needed.
2020-04-23 17:53:26 -04:00
Lioncash
a881161d3c
page_table: Remove unused captures
...
Any time the lambda function is called, the permission being used in the
capture would be passed in as an argument to the lambda, so the capture
is unnecessary.
2020-04-23 17:33:08 -04:00
bunnei
da893629a0
kernel: memory: Improve implementation of device shared memory. ( #3707 )
...
* kernel: memory: Improve implementation of device shared memory.
* fixup! kernel: memory: Improve implementation of device shared memory.
* fixup! kernel: memory: Improve implementation of device shared memory.
2020-04-23 11:37:12 -04:00
Fernando Sahmkow
c8f4549d43
GPU: Add Fast GPU Time Option.
2020-04-23 08:52:57 -04:00
bunnei
7b07b97735
Merge pull request #3730 from lioncash/time
...
service/time: Remove reliance on the global system accessor
2020-04-23 02:41:38 -04:00
bunnei
9c753735c5
Merge pull request #3697 from lioncash/declarations
...
CMakeLists: Enable -Wmissing-declarations on Linux builds
2020-04-23 02:18:52 -04:00
bunnei
c916ad62e7
Merge pull request #3677 from FernandoS27/better-sync
...
Introduce Predictive Flushing and Improve ASYNC GPU
2020-04-22 22:09:38 -04:00
bunnei
a8a37d9d06
Merge pull request #3725 from MerryMage/fpcr
...
thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
2020-04-22 19:49:13 -04:00
Fernando Sahmkow
38631f6cc3
Correct Linux Compile Error.
2020-04-22 11:36:22 -04:00
Fernando Sahmkow
c213fd218b
UI: Replasce accurate GPU option for GPU Accuracy Level
2020-04-22 11:36:04 -04:00
bunnei
4df0d483c4
Merge pull request #3699 from FearlessTobi/port-5185
...
Port citra-emu/citra#5185 : "gdbstub: Fix some gdbstub jankiness"
2020-04-21 22:26:10 -04:00
bunnei
0ff5fd28d6
Merge pull request #3745 from bunnei/fix-homebrew-load
...
Fix process memory initialization for ELF and NRO
2020-04-21 18:59:16 -04:00
bunnei
4d282dce35
Merge pull request #3698 from lioncash/warning
...
General: Resolve minor assorted warnings
2020-04-21 14:11:18 -04:00
bunnei
9e478ddcec
Merge pull request #3724 from bunnei/fix-unicorn
...
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
2020-04-20 23:28:23 -04:00
David
c95dd42b72
audio_renderer: Preliminary BehaviorInfo ( #3736 )
...
* audio_renderer: Preliminary BehaviorInfo
* clang format
* Fixed IsRevisionSupported
* fixed IsValidRevision
* Fixed logic error & spelling errors & crash
* Addressed issues
2020-04-20 22:57:30 -04:00
bunnei
405c9b15c9
loader: nro: Fix process initialization using ProgramMetadata default.
2020-04-20 18:19:45 -04:00
bunnei
8ef209a529
loader: elf: Fix process initialization using ProgramMetadata default.
2020-04-20 18:19:45 -04:00
bunnei
4dbf21a6cf
file_sys: program_metadata: Add a helper function for generating reasonable default metadata.
...
- We need this for homebrew process initialization.
2020-04-20 18:19:45 -04:00
Lioncash
d73e0ef309
service: Update function tables
...
Keeps the service function tables up to date.
Updated based off information on SwitchBrew.
2020-04-20 15:53:49 -04:00
Mat M
70d6c5b246
Merge pull request #3739 from MerryMage/disable_cpu_opt
...
dynarmic: Add option to disable CPU JIT optimizations
2020-04-20 14:19:18 -04:00
FearlessTobi
45243e63d8
npad: Lower log level for VibrateController to Debug
2020-04-20 18:44:57 +02:00
FearlessTobi
f1135379fd
audren: Lower log level for RequestUpdateImpl to Debug
2020-04-20 18:44:41 +02:00
MerryMage
0bbafff3db
dynarmic: Add option to disable CPU JIT optimizations
2020-04-20 13:36:26 +01:00
bunnei
2f257f51a9
Merge pull request #3712 from lioncash/remove
...
service: Remove unused RequestParser instances
2020-04-20 01:04:04 -04:00
bunnei
42f889f2a2
Merge pull request #3709 from lioncash/am
...
am: Resolve ineffective moves
2020-04-20 00:15:00 -04:00
Lioncash
8bcb8b177c
service/time: Remove reliance on the global system accessor
...
Eliminates usages of the global system accessor and instead passes the
existing system instance into the interfaces.
2020-04-19 16:31:28 -04:00
bunnei
2aacd00137
Merge pull request #3696 from lioncash/cast-size
...
hle_ipc: Remove std::size_t casts where applicable
2020-04-19 14:24:15 -04:00
MerryMage
5451c81b74
thread: FPCR.FZ is likely not 1
2020-04-19 08:37:20 +01:00
bunnei
5ce3dc16a5
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
2020-04-19 00:53:23 -04:00
bunnei
610f78e1eb
Merge pull request #3710 from lioncash/nso
...
loader/nso: Resolve moves not occurring in DecompressSegment
2020-04-18 14:44:42 -04:00
Mat M
fb321bdb18
Merge pull request #3715 from bunnei/fix-impl-fallthrough
...
service: hid: npad: Fix implicit fallthrough errors.
2020-04-18 14:44:20 -04:00
bunnei
f220140e8a
service: hid: npad: Fix implicit fallthrough errors.
2020-04-18 14:41:08 -04:00
bunnei
32fd01e339
Merge pull request #3713 from lioncash/time
...
service/time: Minor changes
2020-04-17 21:04:43 -04:00
Lioncash
de87fe690e
time/system_clock_core: Remove unnecessary initializer
...
This is already initialized within the class body.
2020-04-17 20:04:06 -04:00
Lioncash
8c0589239b
service/time: Mark IsStandardNetworkSystemClockAccuracySufficient as const
...
This doesn't modify internal member state.
2020-04-17 20:02:45 -04:00
Lioncash
30af9f0d5c
service/time: Add virtual destructors where applicable
...
Many of these implementations are used to implement a polymorphic
interface. While not directly used polymorphically, this prevents
virtual destruction from ever becoming an issue.
2020-04-17 19:59:31 -04:00
Lioncash
5f25db88b1
service: Remove unused RequestParser instances
...
These aren't used, so they should be removed to reduce compilation
warnings.
2020-04-17 19:47:43 -04:00
Lioncash
ac3ff8c9ba
memory/slab_heap: Make use of static_cast over reinterpret_cast
...
Casting from void* with static_cast is permitted by the standard, so we
can just make use of that instead.
2020-04-17 19:38:59 -04:00
Lioncash
d0569a0865
loader/nso: Resolve moves not occurring in DecompressSegment
...
Given the std::vector was const, an automatic move out of the function
could not occur.
We can allow automatic return value optimizations to occur by making the
buffer non-const.
2020-04-17 19:26:50 -04:00
Lioncash
972240e94a
am: Resolve ineffective moves
...
Previously const objects were being std::moved, which results in no move
actually occurring. This resolves that.
2020-04-17 19:22:46 -04:00
bunnei
4cdbd44f51
core: hle: Address various feedback & code cleanup.
...
- Should be no functional changes.
2020-04-17 00:59:36 -04:00
bunnei
2e718b26c8
core: device_memory: Remove incorrect usage of constexpr.
2020-04-17 00:59:36 -04:00
bunnei
bdf7501e7b
memory: Add copyright notice for Atmosphere where applicable.
2020-04-17 00:59:35 -04:00
bunnei
0cf0195874
kernel: Remove old VMManager class.
2020-04-17 00:59:35 -04:00
bunnei
a48860f7ba
loader: nso: Fix loader size and arguments.
2020-04-17 00:59:35 -04:00
bunnei
9b2526392a
loader: elf/kip/nro: Updates for new VMM.
2020-04-17 00:59:35 -04:00
bunnei
0707404f34
service: ldr: Updates for new VMM.
...
- Includes removing some service impls. that are untested.
2020-04-17 00:59:35 -04:00
bunnei
27b5b6c36f
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
2020-04-17 00:59:35 -04:00
bunnei
6b40850b9a
kernel: svc: Updates for new VMM.
...
- Includes removing some SVC impls. that are untested.
2020-04-17 00:59:34 -04:00
bunnei
8a67b3058e
core: memory: Fix memory access on page boundaries.
...
- Fixes Super Smash Bros. Ultimate.
2020-04-17 00:59:34 -04:00
bunnei
43321c1a69
core: memory: Updates for new VMM.
2020-04-17 00:59:34 -04:00
bunnei
b592621ffe
core: gdbstub: Updates for new VMM.
2020-04-17 00:59:34 -04:00
bunnei
93828bffc2
core: reporter: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
88324e3513
memory: cheat_engine: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
5fd6e219ea
kernel: process: Updates for new VMM.
2020-04-17 00:59:33 -04:00
bunnei
7e1001c2d3
service: pl_u: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
38b51e2ffe
service: time: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
410667d72a
service: hid: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
6d110ee83c
service: irs: Update for new shared memory layout.
2020-04-17 00:59:32 -04:00
bunnei
15e751e36c
kernel: resource_limit: Reserve physical memory.
2020-04-17 00:59:32 -04:00
bunnei
76a040f50d
kernel: Initialize memory layout for new VMM.
2020-04-17 00:59:32 -04:00
bunnei
769f8cbf79
core: system: Rename GetDeviceManager -> DeviceManager.
...
- More consistent with other system components.
2020-04-17 00:59:32 -04:00
bunnei
d04147e731
kernel: transfer_memory: Refactor for new VMM.
2020-04-17 00:59:32 -04:00
bunnei
89776f7ef7
core: Construct/Destruct DeviceMemory on Init/Shutdown.
2020-04-17 00:59:32 -04:00
bunnei
9edd67f475
kernel: shared_memory: Refactor for new VMM.
2020-04-17 00:59:32 -04:00
bunnei
5b2cf55742
core: device_memory: Update to use VirtualBuffer class.
2020-04-17 00:59:31 -04:00
bunnei
6ef844fab3
kernel: errors: Add ERR_OUT_OF_RESOURCES.
2020-04-17 00:59:31 -04:00
bunnei
1717cdf811
kernel: process_capability: Update to use Memory::PageTable.
2020-04-17 00:59:31 -04:00
bunnei
6fe68ddea2
kernel: memory: Add PageTable class, to manage process address space.
2020-04-17 00:59:31 -04:00
bunnei
ea8bc8e759
kernel: memory: Add MemoryLayout class, to build physical memory layout.
2020-04-17 00:59:31 -04:00
bunnei
9b912d155a
kernel: memory: Add MemoryManager class, to manage page heaps.
2020-04-17 00:59:30 -04:00
bunnei
227e9ac5d7
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
2020-04-17 00:59:30 -04:00
bunnei
036f2f9176
kernel: memory: Add PageHeap class, to manage a heap of pages.
2020-04-17 00:59:30 -04:00
bunnei
b013b110bc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
2020-04-17 00:59:30 -04:00
bunnei
b94f043b7b
kernel: memory: Add system_control code, which will be used for ASLR support.
2020-04-17 00:59:30 -04:00
bunnei
72d1cda09a
physical_memory: Add missing include for <vector>.
2020-04-17 00:59:30 -04:00
bunnei
91a38e3fa8
kernel: memory: Add MemoryBlock class, for managing memory blocks and their state.
2020-04-17 00:59:29 -04:00
bunnei
eadd36d143
kernel: memory: Add memory_types.h, for things that are commonly used in memory code.
2020-04-17 00:59:29 -04:00
bunnei
91b899ff00
kernel: memory: Add SlabHeap class, for managing memory heaps.
...
- This will be used for TLS pages, among other things.
2020-04-17 00:59:29 -04:00
bunnei
9fd238a0f8
kernel: memory: Add AddressSpaceInfo class, for managing the memory address space.
2020-04-17 00:59:29 -04:00
bunnei
ea806268fa
core: device_manager: Add a simple class to manage device RAM.
2020-04-17 00:59:29 -04:00
bunnei
a7b2390b73
dynarmic: Enable strict alignment checks.
...
- Also add a missing include.
2020-04-17 00:59:29 -04:00
bunnei
5b9e69e7fe
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
bunnei
a10f82b62d
core: kernel: Add svc_types header to include SVC-specific types.
2020-04-17 00:59:28 -04:00
bunnei
ed940661a8
core: kernel: Move SVC to its own namesapce.
2020-04-17 00:59:28 -04:00
bunnei
bdd81bdebf
kernel: resource_limit: Improvements to implementation.
2020-04-17 00:59:27 -04:00
bunnei
9006c82b27
loader: nso: Fix loading of static objects to be properly sized and aligned.
2020-04-17 00:59:27 -04:00
bunnei
365f14cd2c
process: SetupMainThread: Zero out argument on process start.
2020-04-17 00:11:50 -04:00
bunnei
1be8e24189
arm_interface: Ensure ThreadContext is zero'd out.
2020-04-17 00:11:50 -04:00
Lioncash
eaeb4520f7
General: Resolve warnings related to missing declarations
2020-04-16 23:43:34 -04:00
MerryMage
b3a0ce058f
gdbstub: Fix some gdbstub jankiness
...
1. Ensure that register information available to gdbstub is most up-to-date.
2. There's no reason to check for current_thread == thread when emitting a trap.
Doing this results in random hangs whenever a step happens upon a thread switch.
2020-04-17 05:41:43 +02:00
bunnei
f0b4b5be4c
Merge pull request #3671 from lioncash/switch
...
kernel/thread: Resolve -Wswitch warnings
2020-04-16 23:30:32 -04:00
Lioncash
3c70e27d64
key_manager: Resolve missing field initializer warning
2020-04-16 22:45:44 -04:00
Lioncash
bcc5066cfe
time_zone_manager: Resolve sign conversion warnings
...
ttis and ats will never exceed the length of INT32_MAX in our case, so
this is safe.
2020-04-16 22:23:59 -04:00
Lioncash
f8fe53c9f9
hle_ipc: Remove std::size_t casts where applicable
...
These were added in the change that enabled -Wextra on linux builds so
as not to introduce interface changes in the same change as a
build-system flag addition.
Now that the flags are enabled, we can freely change the interface to
make these unnecessary.
2020-04-16 22:02:10 -04:00
bunnei
7a4ed2581d
Merge pull request #3673 from lioncash/extra
...
CMakeLists: Specify -Wextra on linux builds
2020-04-16 21:12:33 -04:00
Markus Wick
3567e464d2
externals: Move LibreSSL linking to httplib.
...
Neither core nor web_services use OpenSSL nor LibreSSL.
However they need to link them as it's a requirement of httplib.
So let's declare this within httplib instead of core and web_services.
2020-04-16 16:46:33 +02:00
Rodrigo Locatti
50a1a6e6a9
Merge pull request #3659 from bunnei/time-calc-standard-user
...
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
2020-04-16 02:51:57 -03:00
Lioncash
02e095313a
CMakeLists: Specify -Wextra on linux builds
...
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00
Lioncash
6ea751d910
CMakeLists: Make -Wreorder a compile-time error
...
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
2020-04-15 14:14:41 -04:00
Lioncash
0f32ae2140
kernel/thread: Resolve -Wswitch warnings
2020-04-15 13:48:14 -04:00
bunnei
ba413f9277
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
...
- Used by Animal Crossing: New Horizons.
2020-04-14 22:28:41 -04:00
Zach Hilman
136e9aebfd
Merge pull request #3660 from bunnei/friend-blocked-users
...
service: friend: Stub IFriendService::GetBlockedUserListIds.
2020-04-14 16:59:46 -04:00
bunnei
72c1dd467d
file_sys: patch_manager: Return early when there are no layers to apply.
2020-04-14 16:25:55 -04:00
bunnei
7ecacdfa3b
service: friend: Stub IFriendService::GetBlockedUserListIds.
...
- This is safe to stub, as there should be no adverse consequences from reporting no blocked users.
2020-04-14 16:20:51 -04:00
bunnei
bd114e97fc
Merge pull request #3606 from ReinUsesLisp/nvflinger
...
service/vi: Partially implement BufferQueue disconnect
2020-04-12 11:44:48 -04:00
Rodrigo Locatti
912162d42d
Merge pull request #3635 from FernandoS27/buffer-free
...
Buffer queue: Correct behavior of free buffer.
2020-04-11 17:58:15 -03:00
bunnei
aeac4d2d60
Merge pull request #3594 from ReinUsesLisp/vk-instance
...
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
2020-04-10 20:06:55 -04:00
Fernando Sahmkow
7d65c9c9ea
Buffer queue: Correct behavior of free buffer.
...
This corrects the behavior of free buffer after witnessing it in an
unrelated hardware test. I haven't found any games affected by it but in
name of better accuracy we'll correct such behavior.
2020-04-10 16:44:28 -04:00
ReinUsesLisp
f35703f7cd
service/vi: Partially implement BufferQueue disconnect
2020-04-10 01:00:50 -03:00
Rodrigo Locatti
dcd672b1a6
Merge pull request #3610 from FernandoS27/gpu-caches
...
Refactor all the GPU Caches to use VAddr for cache addressing
2020-04-09 17:59:21 -03:00
Fernando Sahmkow
f00f6bbdb6
Memory: Address Feedback.
2020-04-08 13:40:46 -04:00
ReinUsesLisp
30bbdc653c
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
...
Create Vulkan instances and surfaces from the Vulkan backend.
2020-04-07 16:32:19 -03:00
enler
d7dc7964f1
file_sys: fix LayeredFS error when loading some games made with… ( #3602 )
...
* fix LayeredFS error when loading some games made with the Unity
2020-04-07 02:03:32 +02:00