ReinUsesLisp
cdbee27692
vulkan_instance: Allow different Vulkan versions and enforce 1.1
...
For listing the available physical devices we can use Vulkan 1.0.
Now that MoltenVK supports 1.1 we can require it for running games.
Add missing documentation.
2020-12-31 02:07:34 -03:00
ReinUsesLisp
7344a7c447
vk_device: Use an array to report lacking device limits
...
This makes easier to add and tune the required device limits.
2020-12-31 02:07:34 -03:00
ReinUsesLisp
f687392e6f
vk_device: Stop initialization when device is not suitable
...
VKDevice::IsSuitable was not being called. To address this issue, check
suitability before initialization and throw an exception if it fails.
By doing this, we can deduplicate some code on queue searches.
Previosuly we would first search if a present and graphics queue
existed, then on initialization we would search again to find the index.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
53ea06dc17
renderer_vulkan: Remove two step initialization on VKDevice
...
The Vulkan device abstraction either initializes successfully on the
constructor or throws a Vulkan exception.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
085adfea00
renderer_vulkan: Throw when enumerating devices fails
...
Report device enumeration errors with exceptions to be consistent with
other initialization related function calls. Reduces the amount of code
to maintain.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
11f0f7598d
renderer_vulkan: Initialize surface in separate file
...
Move surface initialization code to a separate file. It's unlikely to
use this code outside of Vulkan, but keeping platform-specific code
(Win32, Xlib, Wayland) in its own translation unit keeps things cleaner.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
dce8720780
renderer_vulkan: Catch and report exceptions
...
Move more Vulkan code to report errors with exceptions and report them
through a log before notifying it with an error boolean for backwards
compatibility. In the future we can replace the rasterizer two-step
initialization to always use exceptions.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
47843b4f09
renderer_vulkan: Create debug callback on separate file and throw
...
Initialize debug callbacks (messenger) from a separate file. This allows
sharing code with different backends.
Change our Vulkan error handling to use exceptions instead of error
codes, simplifying the initialization process.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
25f88d99ce
renderer_vulkan: Move instance initialization to a separate file
...
Simplify Vulkan's backend initialization code by moving it to a separate
file, allowing us to initialize a Vulkan instance from different
backends.
2020-12-31 02:07:33 -03:00
ReinUsesLisp
d1435009ed
vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.h
...
Allows sharing Vulkan wrapper code between different rendering backends.
2020-12-31 02:07:14 -03:00
ReinUsesLisp
d937421422
vulkan_common: Move dynamic library load to a separate file
...
Allows us to initialize a Vulkan dynamic library from different backends
without duplicating code.
2020-12-31 02:02:48 -03:00
german
aa4c7687ee
Port citra-emu/citra#5509
2020-12-30 22:29:20 -06:00
16-Bit-Dog
fa5a1a4bfd
Make the coding conventions more consistant
...
lut_index had 0 added when nothing was supposed to be added
despite this, index was not added to 0 when nothing was supposed to be added...
2020-12-30 19:03:26 -05:00
Lioncash
bcafef4b94
half_set: Resolve -Wmaybe-uninitialized warnings
2020-12-30 17:59:42 -05:00
Lioncash
f0d9ab0717
maxwell_to_vk: Initialize usage variable in SurfaceFormat()
...
Silences a -Wmaybe-uninitialized warning
2020-12-30 13:25:03 -05:00
LC
da07977db0
Merge pull request #5251 from ReinUsesLisp/wuninitialized
...
cmake: Enforce -Wuninitialized
2020-12-30 06:34:42 -05:00
ReinUsesLisp
9764c13d6d
video_core: Rewrite the texture cache
...
The current texture cache has several points that hurt maintainability
and performance. It's easy to break unrelated parts of the cache
when doing minor changes. The cache can easily forget valuable
information about the cached textures by CPU writes or simply by its
normal usage.The current texture cache has several points that hurt
maintainability and performance. It's easy to break unrelated parts
of the cache when doing minor changes. The cache can easily forget
valuable information about the cached textures by CPU writes or simply
by its normal usage.
This commit aims to address those issues.
2020-12-30 03:38:50 -03:00
ReinUsesLisp
ac2e2ebe97
cmake: Enforce -Wuninitialized
2020-12-30 02:58:58 -03:00
ReinUsesLisp
157fc2d785
service/pcie: Fix invalid initialization argument
2020-12-30 02:58:38 -03:00
ReinUsesLisp
9106ac1e6b
video_core: Add a delayed destruction ring abstraction
2020-12-30 02:10:19 -03:00
ReinUsesLisp
21b18057f7
host_shaders: Add Vulkan assembler compute shaders
2020-12-30 02:03:50 -03:00
ReinUsesLisp
87ff58b1d7
host_shaders: Add helper to blit depth stencil fragment shader
2020-12-30 02:02:07 -03:00
ReinUsesLisp
ae5725b709
host_shaders: Add texture color blit fragment shader
2020-12-30 02:00:48 -03:00
ReinUsesLisp
64fbf319f1
host_shaders: Add shaders to present to the swapchain
2020-12-30 01:59:12 -03:00
ReinUsesLisp
82b7daed9c
host_shaders: Add shaders to convert between depth and color images
2020-12-30 01:48:44 -03:00
ReinUsesLisp
dc81a90640
host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8
2020-12-30 01:47:08 -03:00
ReinUsesLisp
5169ce9fcd
host_shaders: Add shader to render a full screen triangle
2020-12-30 01:44:09 -03:00
ReinUsesLisp
59c46f9de9
host_shaders: Add pitch linear upload compute shader
2020-12-30 01:41:42 -03:00
ReinUsesLisp
12d16248dd
host_shaders: Add block linear upload compute shaders
2020-12-30 01:39:35 -03:00
ReinUsesLisp
f20e18f60d
host_shaders: Add copyright headers to OpenGL present shaders
2020-12-30 01:35:56 -03:00
ReinUsesLisp
95d156a150
video_core/host_shaders: Add support for prebuilt SPIR-V shaders
...
Add support for building SPIR-V shaders from GLSL and generating headers
to include the text of those same GLSL shaders to consume from OpenGL.
2020-12-30 01:29:07 -03:00
ReinUsesLisp
b3587102d1
core/memory: Read and write page table atomically
...
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
2020-12-29 21:54:49 -03:00
bunnei
85cfd96f62
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
bunnei
82e0eeed21
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
bunnei
a2a0f5318d
hle: kernel: Manage service threads on another thread.
...
- This is to allow service threads to defer destruction of themselves.
2020-12-29 16:46:29 -08:00
bunnei
69e82d01d5
common: ThreadWorker: Add class to help do asynchronous work.
2020-12-29 16:46:29 -08:00
bunnei
b02464f685
Merge pull request #5246 from comex/xx-include
...
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29 16:43:17 -08:00
bunnei
c192da3f82
hle: kernel: Manage host thread IDs using TLS.
...
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29 15:55:30 -08:00
comex
388cf58b31
k_priority_queue: Fix concepts use
...
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
2020-12-29 14:33:41 -05:00
comex
b36896b90e
Add missing include of "core/hle/kernel/kernel.h"
...
This is needed as the header invokes methods on KernelCore.
2020-12-29 14:22:35 -05:00
LC
aa87278bf0
Merge pull request #5245 from ameerj/sleepthread-log
...
svc: demote SleepThread log to LOG_TRACE
2020-12-29 14:03:24 -05:00
ameerj
0383363a8f
svc: demote SleepThread log to LOG_TRACE
...
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29 14:01:56 -05:00
bunnei
22ba437aa4
Merge pull request #5236 from gal20/udp_client_patch
...
input_common: process udp packets only for the correct pad
2020-12-29 02:51:40 -08:00
bunnei
dfdac7d38a
hle: kernel: Move ServiceThread ownership to KernelCore.
...
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29 01:12:39 -08:00
bunnei
f57be2e626
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
bunnei
7d77a3f88f
hle: service: Acquire and release a lock on requests.
...
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28 21:33:34 -08:00
bunnei
c7a06908ae
audio_core: stream: Ensure buffer is valid before release.
2020-12-28 21:33:34 -08:00
bunnei
06f8c3dc01
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
bunnei
d0649d0971
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
bunnei
954341763a
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
2020-12-28 21:33:34 -08:00
bunnei
994a9fec4e
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
...
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
2020-12-28 21:33:34 -08:00
bunnei
bea51d948d
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
bunnei
6d2f9428c5
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
bunnei
4991620f89
video_core: gpu_thread: Do not wait when system is powered down.
2020-12-28 16:33:48 -08:00
bunnei
916438a9de
core: settings: Untangle multicore from asynchronous GPU.
...
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
40571c073f
video_core: gpu: Implement synchronous mode using threaded GPU.
2020-12-28 16:33:48 -08:00
bunnei
14c825bd1c
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
...
- We must always use a GPU thread now, even with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
5d4715cc6a
hle: kernel: hle_ipc: Remove SleepClientThread.
...
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28 16:33:48 -08:00
bunnei
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
0c81b83ca9
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28 16:33:48 -08:00
bunnei
8bc3d66354
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
bunnei
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
bunnei
b377da042b
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
bunnei
28281ae250
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
gal20
1defd0847a
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
german
80fece4e08
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
ReinUsesLisp
661483f313
renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state
...
Without using VK_EXT_robustness2, we can't consider the 'enabled' (not
null) vertex buffers as dynamic state, as this leads to invalid Vulkan
state. Move this to static state that is always hashed and compared in
the pipeline key.
The bits for enabled vertex buffers are moved into the attribute state
bitfield. This is not 'correct' as it's not an attribute state, but that
struct has bits to spare, and it's used in an array of 32 elements (the
exact same number of vertex buffer bindings).
2020-12-25 23:34:38 -03:00
Morph
ff3aa5d380
yuzu/main: Add basic command line arguments
...
The following command line arguments are supported:
yuzu.exe "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f - Launches the next game in fullscreen
yuzu.exe -g "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f -g "path_to_game" - Launches a game at "path_to_game" in fullscreen
2020-12-25 15:41:00 -05:00
Rodrigo Locatti
0dc4ab42cc
Merge pull request #5226 from ReinUsesLisp/c4715-vc
...
video_core: Enforce C4715 (not all control paths return a value)
2020-12-25 03:11:47 -03:00
Rodrigo Locatti
453560fb3a
Merge pull request #5225 from ReinUsesLisp/always-vulkan
...
cmake: Always enable Vulkan
2020-12-25 02:52:29 -03:00
bunnei
c8a4967c9d
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
...
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-24 21:51:49 -08:00
ReinUsesLisp
1b9e08ab78
cmake: Always enable Vulkan
...
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
ReinUsesLisp
1e191cc837
video_core: Enforce C4715 (not all control paths return a value)
...
Most of the time people write code that always returns a value,
terminates execution, throws an exception, or uses an unconventional
jump primitive.
This is not always true when we build without asserts on mainline builds.
To avoid introducing undefined behavior on our most used builds, enforce
this warning signalling an error and stopping the build from shipping.
2020-12-24 21:01:23 -03:00
ReinUsesLisp
5dbda22659
vk_shader_decompiler: Silence warning when compiling without asserts
2020-12-24 21:01:09 -03:00
bunnei
5836530a87
Merge pull request #5217 from lat9nq/save-on-boot
...
yuzu/main: Save settings when starting guest
2020-12-23 01:45:24 -08:00
lat9nq
17badbc442
yuzu/main: Improve menubar access keys
...
Adds a unique access key to each action within each menu. A few actions
already had their own access key, so those were untouched.
2020-12-22 19:32:58 -05:00
german
64fad8cfe9
Add option to reset window size to 1080p
2020-12-22 17:06:48 -06:00
bunnei
29ccc7673f
Merge pull request #5042 from Morph1984/project-aether
...
Project Aether: Reimplementation of the Web Browser Applet
2020-12-21 23:47:10 -08:00
lat9nq
c243932b41
yuzu/main: Save settings when starting guest
...
Saves UISettings and Settings when booting a guest. Moves updating
UISettings::values from GMainWindow::closeEvent into its own function,
then reuses it in GMainWindow::BootGame.
2020-12-22 02:29:30 -05:00
bunnei
1279c7ce7a
Merge pull request #5131 from bunnei/scheduler-rewrite
...
Rewrite Kernel scheduler based on Atmosphere
2020-12-20 20:57:54 -08:00
bunnei
c3e201a829
Merge pull request #5201 from ameerj/bufferq-refactor
...
vi/buffer_queue: Buffer queue management refactor
2020-12-20 15:48:39 -08:00
FearlessTobi
10b0ab7926
yuzu: Remove gdbstub configuration
...
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028 .
This PR just removes the remaining gdb configuration code from the emulator and the UI.
2020-12-19 19:19:42 +01:00
Morph
82fa9f8d56
applets/web: Implement the online web browser applet
2020-12-18 10:33:28 -05:00
Morph
51cddcb8b8
applets/web: Fix keyboard to emulated controller input
2020-12-18 10:33:28 -05:00
Morph
2ddd83cdfe
main: Add the ability to disable the web applet
...
This should only be used for Super Mario 3D All-Stars. This is a temporary solution until it can be implemented properly.
2020-12-18 10:33:28 -05:00
Morph
8b95bf041d
main, applets/web: Re-add progress dialog for RomFS extraction
2020-12-18 10:33:28 -05:00
Morph
93cb783853
applets/web: Implement the Qt web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
d5e0923e3d
web_browser_scripts: Add injection scripts for the web browser
2020-12-18 10:33:28 -05:00
Morph
d46ca5a015
pl_u, applets/web: Decrypt shared fonts to TTF files
2020-12-18 10:33:28 -05:00
Morph
46183294b2
ns_vm: Stub NeedsUpdateVulnerability
...
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
2020-12-18 10:33:28 -05:00
Morph
f9653a4417
frontend/input_interpreter: Add InputInterpreter API
...
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18 10:33:28 -05:00
Morph
54ea3c47c8
controllers/npad: Make press_state atomic
2020-12-18 10:33:28 -05:00
Morph
5836786246
util: Add URL Request Interceptor for QWebEngine
2020-12-18 10:33:28 -05:00
Morph
51a7681957
bootmanager: Add a check whether loading is complete
2020-12-18 10:33:28 -05:00
Morph
d6d1a8e02c
applets/web: Implement the default web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
89df483567
applets/web: Implement the offline browser applet backend
2020-12-18 10:33:27 -05:00
Morph
a5750f437d
applets/web: Initial implementation of the web browser applet
2020-12-18 10:33:27 -05:00
Morph
ccb439efb0
applets: Remove the previous web browser applet implementation
2020-12-18 10:33:27 -05:00
Morph
79316be18c
system_archive: Add + and - buttons to the Nintendo Extended OSS font
2020-12-18 02:55:48 -05:00
ameerj
873ad1272e
buffer_queue: better use of std::array
2020-12-18 00:12:14 -05:00
ameerj
8cb683f3b9
Overwrite slots instead of queuing them, add disconnect signal
...
Fix for Katana Zero and Yoshi's Crafted World
2020-12-17 14:22:46 -05:00
Morph
5d29d2111c
system_archive: Update Nintendo Extended OSS font
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-12-17 08:58:13 -05:00
bunnei
f3db273753
Merge pull request #5190 from Morph1984/validate_device_handle
...
controllers/npad: Validate device handles before use
2020-12-15 16:40:11 -08:00
bunnei
2e1b998d5e
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
...
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-15 11:07:03 -08:00
bunnei
37bec068c2
Merge pull request #5157 from lioncash/array-dirty
...
maxwell_3d: Remove unused dirty_pointer array
2020-12-15 00:35:47 -08:00
bunnei
df6427d30b
Merge pull request #5168 from Morph1984/aoc-PurchaseEventManager
...
aoc_u: Stub IPurchaseEventManager and its service commands
2020-12-14 16:08:38 -08:00
lat9nq
292dd642ce
cmake: Fix generating CMake configs and linking with Boost
...
Fixes regression by 761206cf81
, causing
yuzu to not build on Linux with any version of Boost except a cached
1.73 Conan version from before about a day ago.
Moves the Boost requirement out of the `REQUIRED_LIBS` psuedo-2D-array
for Conan to instead be manually configured, using Conan as a fallback
solution if the system does not meet our requirements.
Requires any update from the linux-fresh container in order to build.
**DO NOT MERGE** until someone with the MSVC toolchain can verify this
works there, too.
2020-12-13 01:28:51 -05:00
bunnei
761206cf81
common: Update CMakeList to fix build issue with Boost.
2020-12-12 11:50:07 -08:00
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