Morph
1c773c0869
controllers/npad: Validate device handles before use
...
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-12-12 07:05:38 -05:00
bunnei
69b46dd607
Merge pull request #5183 from lioncash/alias2
...
vfs: Use existing type aliases consistently
2020-12-12 01:54:28 -08:00
bunnei
c918c6480f
Merge pull request #5187 from Morph1984/revert-stdfs
...
fs: Revert all std::filesystem changes
2020-12-11 20:07:37 -08:00
bunnei
37194dd4e9
Merge pull request #5172 from lioncash/svc-wide
...
svc: Remove unnecessary casts
2020-12-11 17:39:30 -08:00
Morph
4de079b256
Revert "Merge pull request #5173 from lioncash/common-fs"
...
This reverts commit ce5fcb6bb2
, reversing
changes made to 6f41763061
.
2020-12-11 20:24:22 -05:00
Morph
8941cdb7d2
Revert "Merge pull request #5174 from ReinUsesLisp/fs-fix"
...
This reverts commit 5fe55b16a1
, reversing
changes made to e94dd7e2c4
.
2020-12-11 20:24:22 -05:00
Morph
dfee6321cd
Revert "Merge pull request #5176 from Morph1984/fix-createfile"
...
This reverts commit 6d6115475b
, reversing
changes made to 5fe55b16a1
.
2020-12-11 20:24:22 -05:00
Morph
0195038c07
Revert "Merge pull request #5179 from ReinUsesLisp/fs-path"
...
This reverts commit 4e94d0d53a
, reversing
changes made to 6d6115475b
.
2020-12-11 20:21:46 -05:00
Morph
ac3ec5ed13
Revert "Merge pull request #5181 from Morph1984/5174-review"
...
This reverts commit cdb36aef9e
, reversing
changes made to 5e9b77129f
.
2020-12-11 20:21:21 -05:00
bunnei
cdb36aef9e
Merge pull request #5181 from Morph1984/5174-review
...
common/file_util: Address review comments of #5174
2020-12-10 15:52:11 -08:00
bunnei
2d47a5fd41
Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailable
...
nim: Stub IsLargeResourceAvailable
2020-12-10 11:34:18 -08:00
bunnei
d1a2b3fb18
Merge pull request #5162 from lioncash/copy-shader
...
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
2020-12-10 00:11:11 -08:00
Lioncash
b1657b8c6b
vfs: Use existing type aliases consistently
...
Makes use of the VirtualDir and VirtualFile aliases across the board
instead of having a few isolated places that don't use it.
2020-12-10 01:44:43 -05:00
Morph
ec8548b414
common/file_util: Simplify the behavior of CreateFullPath
2020-12-09 19:28:11 -05:00
ReinUsesLisp
bab9cae71f
common/file_util: Let std::filesystem cast from UTF16 to std::string
...
Fix invalid encoding paths when iterating over a directory on Windows.
2020-12-09 18:52:36 -03:00
Morph
b06d6e3646
vfs_real: Fix CreateFile for files without a file extension
2020-12-09 06:34:49 -05:00
ReinUsesLisp
5329834376
common/file_util: Fix and deprecate CreateFullPath, add CreateDirs
...
Fix CreateFullPath to have its intended previous behavior (whatever
that was), and deprecate it in favor of the new CreateDirs function.
Unlike CreateDir, CreateDirs is marked as [[nodiscard]] to avoid new
code ignoring its result value.
2020-12-09 05:42:03 -03:00
ReinUsesLisp
52f13f2339
common/file_util: Succeed on CreateDir when the directory exists
2020-12-09 05:21:08 -03:00
Rodrigo Locatti
e94dd7e2c4
Merge pull request #5142 from comex/xx-poll-events
...
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
2020-12-09 03:52:20 -03:00
Rodrigo Locatti
ce5fcb6bb2
Merge pull request #5173 from lioncash/common-fs
...
common/file_util: Make use of std::filesystem
2020-12-09 03:47:21 -03:00
Lioncash
20aad9e01a
file_util: Migrate remaining file handling functions over to std::filesystem
...
Converts creation and deletion functions over to std::filesystem,
simplifying our file-handling code.
Notably with this, CopyDir will now function on Windows.
2020-12-09 01:24:05 -05:00
bunnei
6f41763061
Merge pull request #5166 from lioncash/log-cast
...
core: Remove unnecessary enum casts in log calls
2020-12-08 21:58:13 -08:00
bunnei
05a703e15d
Merge pull request #5135 from Morph1984/applets-shadow
...
applets: Resolve variable shadowing
2020-12-08 17:43:59 -08:00
Lioncash
0e54aa17e6
file_util: Migrate Exists() and IsDirectory() over to std::filesystem
...
Greatly simplifies our file-handling code for these functions.
2020-12-08 18:36:53 -05:00
Lioncash
2de124e223
svc: Remove unnecessary casts
...
Simplifies and removes some casts. In all cases, these were generally
widening from a 32-bit unsigned type to a 64-bit unsigned type, so no
information would be lost from the conversion.
2020-12-08 15:42:10 -05:00
bunnei
6057dc46e5
Merge pull request #5167 from lioncash/doc-memory
...
memory: Resolve -Wdocumentation warning for Write()
2020-12-08 11:47:04 -08:00
Morph
deff708cbe
IPurchaseEventManager: Implement GetPurchasedEventReadableHandle
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:19 -05:00
Morph
a9cfe06aaf
IPurchaseEventManager: Stub Set(Default)DeliveryTarget
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:13 -05:00
Morph
009bdb3558
aoc_u: Stub Create(Permanent)EcPurchasedEventManager
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:07 -05:00
Lioncash
a44ff5ed31
memory: Resolve -Wdocumentation warning for Write()
...
Write() doesn't return anything, so the @returns tag shouldn't be
present.
2020-12-08 12:44:58 -05:00
bunnei
00c6254129
Merge pull request #5156 from comex/xx-raws
...
configure_motion_touch: Fix unescaped backslash in regex
2020-12-08 09:39:47 -08:00
Morph
e15039372e
fsp_srv: Implement OpenDataStorageWithProgramIndex
...
- Used by RollerCoaster Tycoon 3: Complete Edition
2020-12-08 08:19:05 -05:00
Morph
0eb6c6cd83
file_sys: Consolidate common Title ID operations
2020-12-08 08:19:05 -05:00
Morph
51e6f8271a
Merge pull request #5165 from lioncash/copy-controller
...
controller: Avoid unnecessary copies in ConfigurationComplete()
2020-12-08 20:48:45 +08:00
Lioncash
6b7320add4
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
2020-12-07 23:02:23 -05:00
Lioncash
215cfbb757
controller: Use std::move within ConvertToFrontendParameters()
...
Avoids unnecessary copies.
2020-12-07 22:04:16 -05:00
Lioncash
97dd67ad1c
controller: Avoid unnecessary copies in ConfigurationComplete()
...
Avoids unnecessary 1072 byte copies when querying info about
controllers.
2020-12-07 22:02:58 -05:00
Morph
607bb8d14b
Merge pull request #5020 from german77/AnalogfromButtonFix
...
Disable analog joystick from buttons by default
2020-12-08 10:30:21 +08:00
german
b57ba7bfb6
Disable analog joystick from buttons by default
2020-12-07 19:34:52 -06:00
Rodrigo Locatti
3415890dd5
Merge pull request #5164 from lioncash/contains
...
video_core: Make use of ordered container contains() where applicable
2020-12-07 21:55:51 -03:00
Rodrigo Locatti
4bd74ed4c7
Merge pull request #5163 from lioncash/concat
...
ast: Improve string concat readability in operator()
2020-12-07 21:55:21 -03:00
bunnei
f782aecf4d
Merge pull request #5153 from comex/xx-unix
...
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
2020-12-07 15:32:06 -08:00
Lioncash
09fa1d6a73
video_core: Make use of ordered container contains() where applicable
...
With C++20, we can use the more concise contains() member function
instead of comparing the result of the find() call with the end
iterator.
2020-12-07 16:30:39 -05:00
Lioncash
45c5b084fd
ast: Improve string concat readability in operator()
...
Provides an in-place format string to make it more pleasant to read.
2020-12-07 16:15:28 -05:00
Lioncash
edcbd47800
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
...
Resolves a -Wrange-loop-analysis warning.
2020-12-07 14:01:52 -05:00
bunnei
5cd051eced
Merge pull request #5149 from comex/xx-map-interval
...
map_interval: Change field order to address uninitialized field warning
2020-12-07 10:14:02 -08:00
Rodrigo Locatti
12f3b13995
Merge pull request #5159 from lioncash/move-amend
...
shader_ir: std::move node within DeclareAmend()
2020-12-07 04:58:01 -03:00
Lioncash
5d2f18fbcd
buffer_block: Mark interface as nodiscard where applicable
...
Prevents logic errors from occurring from unused values.
2020-12-07 01:53:40 -05:00
Lioncash
3954f14c6d
buffer_block: Remove unnecessary includes
...
Reduces the amount of dependencies the header pulls in.
2020-12-07 01:52:16 -05:00
Rodrigo Locatti
9ae6224f12
Merge pull request #5158 from lioncash/video-fmt
...
video_core: Remove unnecessary enum class casting in logging messages
2020-12-07 03:35:25 -03:00
bunnei
a58d57a60d
Merge pull request #5148 from comex/xx-unused-fields
...
core: Mark unused fields as [[maybe_unused]]
2020-12-06 22:33:00 -08:00
bunnei
24cabf5e2f
Merge pull request #5154 from comex/xx-ipc
...
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
2020-12-06 22:32:04 -08:00
Lioncash
7234f436aa
shader_ir: std::move node within DeclareAmend()
...
Same behavior, but elides an unnecessary atomic reference count
increment and decrement.
2020-12-07 00:51:03 -05:00
Lioncash
4c5f5c9bf3
video_core: Remove unnecessary enum class casting in logging messages
...
fmt now automatically prints the numeric value of an enum class member
by default, so we don't need to use casts any more.
Reduces the line noise a bit.
2020-12-07 00:41:50 -05:00
LC
8a00a0ade6
Merge pull request #5147 from comex/xx-purevirt
...
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-07 00:08:46 -05:00
LC
43f0b42088
Merge pull request #5150 from comex/xx-boxcat
...
boxcat: Avoid unnecessary object copy
2020-12-07 00:07:39 -05:00
LC
23aabe85e6
Merge pull request #5152 from comex/xx-override
...
renderer_vulkan: Add missing `override` specifier
2020-12-07 00:07:17 -05:00
LC
69af6ada2f
Merge pull request #5136 from lioncash/video-shadow3
...
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-07 00:06:53 -05:00
Lioncash
9e7a1f1351
maxwell_3d: Move member variables to end of class
...
Follows our established coding style.
2020-12-06 20:56:00 -05:00
Lioncash
ce0712bf95
maxwell_3d: Resolve -Wdocumentation warning
...
Removes a documentation comment for a non-existent member.
2020-12-06 20:48:12 -05:00
Lioncash
bcc5c4403a
maxwell_3d: Remove unused dirty_pointer array
...
This is unused and removing it shrinks the structure by 3584 bytes.
2020-12-06 20:46:57 -05:00
comex
2dce2be138
configure_motion_touch: Fix unescaped backslash in regex
...
Since this is inside a string literal, backslashes that are part of
regex syntax have to be escaped. But that's ugly, so convert to a raw
string instead.
2020-12-06 19:25:48 -05:00
comex
0791082b43
network, sockets: Replace POLL_IN
, POLL_OUT
, etc. constants with an enum class PollEvents
...
Actually, two enum classes, since for some reason there are two separate
yet identical `PollFD` types used in the codebase. I get that one is
ABI-compatible with the Switch while the other is an abstract type used
for the host, but why not use `WSAPOLLFD` directly for the latter?
Anyway, why make this change? Because on Apple platforms, `POLL_IN`,
`POLL_OUT`, etc. (with an underscore) are defined as macros in
<sys/signal.h>. (This is inherited from FreeBSD.) So defining
a variable with the same name causes a compile error.
I could just rename the variables, but while I was at it I thought I
might as well switch to an enum for stronger typing.
Also, change the type used for values copied directly to/from the
`events` and `revents` fields of the host *native*
`pollfd`/`WSASPOLLFD`, from `u32` to `short`, as `short` is the correct
canonical type on both Unix and Windows.
2020-12-06 19:14:42 -05:00
comex
e31cb50405
Fix "explicitly defaulted but implicitly deleted" warning
...
`PhysicalCore`'s move assignment operator was declared as `= default`,
but was implicitly deleted because `PhysicalCore` has fields
of reference type. Switch to explicitly deleting it to avoid a Clang
warning.
The move *constructor* is still defaulted, and is required to exist due
to the use of `std::vector<PhysicalCore>`.
2020-12-06 19:02:04 -05:00
comex
3373149fdc
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
...
- Add a type check so that calling Push with an invalid type produces a
compile error rather than a linker error.
- vi.cpp was calling Push with a variable of type `std::size_t`.
There's no explicit overload for `size_t`, but there is one for `u64`,
which on most platforms is the same type as `size_t`. On macOS,
however, it isn't: both types are 64 bits, but `size_t` is `unsigned
long` and `u64` is `unsigned long long`. Regardless, it makes more
sense to explicitly use `u64` here instead of `size_t`.
2020-12-06 18:59:22 -05:00
comex
0e122c13ad
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
...
__unix__ is not predefined on Apple platforms even though they are Unix.
2020-12-06 18:56:40 -05:00
comex
eea5122d1b
renderer_vulkan: Add missing override
specifier
2020-12-06 18:38:52 -05:00
comex
b8fbf6969c
map_interval: Change field order to address uninitialized field warning
...
Clang complains about `new_chunk`'s constructor using the
then-uninitialized `first_chunk` (even though it's just to get a pointer
into it).
2020-12-06 18:37:23 -05:00
comex
feac654ba0
core: Mark unused fields as [[maybe_unused]]
2020-12-06 18:36:10 -05:00
comex
5cb1a343d1
boxcat: Avoid unnecessary object copy
2020-12-06 18:31:13 -05:00
comex
716ae72aac
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-06 18:24:33 -05:00
comex
d637114c17
video_core: Adjust NUM
macro to avoid Clang warning
...
The previous definition was:
#define NUM(field_name) (sizeof(Maxwell3D::Regs::field_name) / sizeof(u32))
In cases where `field_name` happens to refer to an array, Clang thinks
`sizeof(an array value) / sizeof(a type)` is an instance of the idiom
where `sizeof` is used to compute an array length. So it thinks the
type in the denominator ought to be the array element type, and warns if
it isn't, assuming this is a mistake.
In reality, `NUM` is not used to get array lengths at all, so there is no
mistake. Silence the warning by applying Clang's suggested workaround
of parenthesizing the denominator.
2020-12-06 18:24:16 -05:00
Rodrigo Locatti
7e5f595b31
Merge pull request #5143 from comex/xx-users-size
...
yuzu_cmd: Remove 'users_size'
2020-12-06 19:34:53 -03:00
Rodrigo Locatti
88959b0047
Merge pull request #5141 from comex/xx-true-false
...
maxwell_dma: Rename RenderEnable::Mode::FALSE and TRUE to avoid name conflict
2020-12-06 19:34:24 -03:00
bunnei
dd05c7ec79
Merge pull request #5140 from FearlessTobi/port-5577
...
Port citra-emu/citra#5577 : "Update cubeb and request a persistent stream session"
2020-12-06 01:53:02 -08:00
bunnei
53a04d6b5d
Merge pull request #5132 from lioncash/xbyak-abi
...
xbyak_abi: Avoid implicit sign conversions
2020-12-06 01:22:43 -08:00
bunnei
1bdb756d28
hle: kernel: Process: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
d4ae0ae0e9
core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.
...
- We were reload'ing the old current scheduler, which may have changed.
2020-12-06 00:27:13 -08:00
bunnei
9b492430bb
hle: kernel: Thread: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
ed4d1e2ade
hle: kernel: KScopedSchedulerLockAndSleep: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
b1b4f2337e
hle: kernel: KScopedLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
165d8485f0
hle: kernel: KAbstractSchedulerLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
960500cfd2
hle: kernel: KScheduler: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
8fd921557f
hle: kernel: KPriorityQueue: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
4d3be1816c
hle: kernel: KAffinityMask: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
357d79fb6e
hle: kernel: GlobalSchedulerContext: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
d2c0c94f0b
common: BitSet: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
b1326d9230
hle: kernel: Use C++ style comments in KScheduler, etc.
2020-12-06 00:03:24 -08:00
bunnei
bc59ca92b6
kernel: KScopedSchedulerLockAndSleep: Remove unused ctor.
2020-12-06 00:03:24 -08:00
bunnei
b9b7e4f915
kernel: time_manager: Add missing lock guards.
2020-12-06 00:03:24 -08:00
bunnei
ccce6cb3be
hle: kernel: Migrate to KScopedSchedulerLock.
2020-12-06 00:03:24 -08:00
bunnei
4756cb203e
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
2020-12-06 00:03:24 -08:00
bunnei
8d3e06349e
hle: kernel: Separate KScheduler from GlobalSchedulerContext class.
2020-12-06 00:03:24 -08:00
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
2020-12-06 00:03:24 -08:00
bunnei
c10a37e5b6
hle: kernel: physical_core: Clear exclusive state after each run.
...
- This is closer to pre-multicore behavior, and works a bit better.
2020-12-06 00:03:24 -08:00
bunnei
7e5d0f1fe3
hle: kernel: Port KAbstractSchedulerLock from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
39d356782e
hle: kernel: svc: Remove reschedule on svcBreak.
...
- This breaks things, and is unnecessary, since emulation will be done at this point.
2020-12-06 00:03:24 -08:00
bunnei
d58a609ae4
hle: kernel: process: Add schedule count tracking, to be used for yield impl.
2020-12-06 00:03:24 -08:00
bunnei
493263f415
hle: kernel: svc: Remove unnecessary hack in svcSleep.
2020-12-06 00:03:24 -08:00
bunnei
a3ccac3eb7
common: Port KPriorityQueue from Mesosphere.
2020-12-06 00:03:24 -08:00