german
3898d8f0d7
Stub set and get NpadCommunicationMode
5 years ago
Lioncash
1a954b2a59
service: Eliminate usages of the global system instance
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
5 years ago
comex
4681e1ea9e
codec: Fix `pragma GCC diagnostic pop` missing corresponding push
5 years ago
ReinUsesLisp
2ccf85a910
vk_shader_decompiler: Implement force early fragment tests
Force early fragment tests when the 3D method is enabled.
The established pipeline cache takes care of recompiling if needed.
This is implemented only on Vulkan to avoid invalidating the shader
cache on OpenGL.
5 years ago
Lioncash
9d3d0ae999
core: Reduce string copies in GetGameFileFromPath()
Eliminates some minor string churn where applicable. Also eliminates an
unnecessary vector copy.
5 years ago
ameerj
979b602738
Limit queue size to 10 frames
Workaround for ZLA, which seems to decode and queue twice as many frames as it displays.
5 years ago
german
e46f0e084c
Implement full mouse support
5 years ago
german
2c2b586d86
Add multiple udp server support
5 years ago
ameerj
c9e3abe206
Address PR feedback
remove some redundant moves, make deleter match naming guidelines.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
5 years ago
ReinUsesLisp
630823e363
common: Add Common::DivCeil and Common::DivCeilLog2
Add an equivalent to 'Common::AlignUp(n, d) / d' and a log2 alternative.
5 years ago
Jan Beich
e48e9a406c
input_common: ignore some Clang warnings after 5c4774e8ce
error: unknown warning option '-Werror=unused-but-set-parameter'; did you mean '-Werror=unused-parameter'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Werror=unused-but-set-variable'; did you mean '-Werror=unused-const-variable'? [-Werror,-Wunknown-warning-option]
5 years ago
ameerj
eab041866b
Queue decoded frames, cleanup decoders
5 years ago
ameerj
d52ee6d0a7
cleanup unneeded comments and newlines
5 years ago
Morph
6f70e1b1ff
hid: Check if applet_resource exists in InitializeVibrationDevice
5 years ago
ameerj
e87670ee48
Refactor MaxwellToSpirvComparison. Use Common::BitCast
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
5 years ago
ameerj
1dbf71ceb3
Address PR feedback from Rein
5 years ago
ameerj
9014861858
vulkan_renderer: Alpha Test Culling Implementation
Used by various textures in many titles, e.g. SSBU menu.
5 years ago
bunnei
3359e5ab70
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
5 years ago
bunnei
4fbe4da911
frontend: yuzu (qt): Register a callback for ExecuteProgram.
5 years ago
bunnei
4fb5ca80c0
service: am: Implement ExecuteProgram and required stubs.
- This is used by Super Mario 3D All-Stars.
5 years ago
bunnei
5f75d97125
core: loader: Implement support for loading indexed programs.
5 years ago
bunnei
7791cc8c2e
hle: services: Fix a crash with improper NVFlinger lifetime management. ( #4977 )
* hle: services: Fix a crash with improper NVFlinger lifetime management.
- This crash would happen when attempting to shutdown yuzu early on in boot.
5 years ago
comex
e8b2fd21d8
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
- Use .at() instead of raw indexing when dealing with untrusted indices.
- For the special case of WaitFence with syncpoint id UINT32_MAX,
instead of crashing, log an error and ignore. This is what I get when
running Super Mario Maker 2.
5 years ago
bunnei
6694e11303
input_common: Fix typo in gc_poller.cpp with [[maybe_unused]].
5 years ago
Chloe Marcec
ab25d1fe9a
nvservices: Reintroducee IoctlCtrl
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
5 years ago
bunnei
7fb7540d69
input_common: Add more missing [[maybe_unused]] from #4927 .
5 years ago
bunnei
d04abd39eb
Fix warnings in core/frontend/input.h with [[maybe_unused]]
Fixes build break due to #4927
5 years ago
comex
994f497781
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
EmuWindow::PollEvents was called from the GPU thread (or the CPU thread
in sync-GPU mode) when swapping buffers. It had three implementations:
- In GRenderWindow, it didn't actually poll events, just set a flag and
emit a signal to indicate that a frame was displayed.
- In EmuWindow_SDL2_Hide, it did nothing.
- In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong
because SDL_PollEvents is supposed to be called on the thread that set
up video - in this case, the main thread, which was sleeping in a
busyloop (regardless of whether sync-GPU was enabled). On macOS this
causes a crash.
To fix this:
- Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a
default implementation that does nothing.
- In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have
the main thread call SDL_WaitEvent in a loop.
5 years ago
Lioncash
874be0e3e1
svc: Remove unnecessary [[maybe_unused]] tag
The parameter is used in this function, so this suppression isn't
necessary.
5 years ago
Lioncash
5c4774e8ce
input_common: Treat warnings as errors
Migrates over warnings as errors for input common to match how the
common library treats warnings as errors.
5 years ago
Morph
8758378dc4
applets/controller: Use a pair of emulated controller index to controller type
5 years ago
Morph
102630f2b2
configure_input_player: Use the npad style set to show the available controllers
This will reduce the likelihood of an invalid controller type to be set within a game
5 years ago
ReinUsesLisp
acc14d233f
gl_rasterizer: Remove warning of untested alpha test
Alpha test has been proven to only affect the first render target.
5 years ago
bunnei
3794c91145
olsc: Move member initialization to after member functions.
5 years ago
Lioncash
01db5cf203
async_shaders: emplace threads into the worker thread vector
Same behavior, but constructs the threads in place instead of moving
them.
5 years ago
Lioncash
ba3916fc67
async_shaders: Simplify implementation of GetCompletedWork()
This is equivalent to moving all the contents and then clearing the
vector. This avoids a redundant allocation.
5 years ago
Lioncash
3fcc98e11a
async_shaders: Simplify moving data into the pending queue
5 years ago
Lioncash
5b441fa25d
async_shaders: std::move data within QueueVulkanShader()
Same behavior, but avoids redundant copies.
While we're at it, we can simplify the pushing of the parameters into
the pending queue.
5 years ago
Lioncash
8469b76630
gl_rasterizer: Make floating-point literal a float
Gets rid of an unnecessary expansion from float to double.
5 years ago
Lioncash
b7cd5d742e
shader_bytecode: Make use of [[nodiscard]] where applicable
Ensures that all queried values are made use of.
5 years ago
Lioncash
56ecafc204
shader_bytecode: Eliminate variable shadowing
5 years ago
ReinUsesLisp
3f2e605dd1
common/bit_cast: Add function matching std::bit_cast without constexpr
Add a std::bit_cast-like function archiving the same runtime results as
the standard function, without compile time support.
This allows us to use bit_cast while we wait for compiler support, it
can be trivially replaced in the future.
5 years ago
bunnei
6e37676482
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
5 years ago
german77
5b6545b141
Modify rumble amplification
5 years ago
Lioncash
412044960a
virtual_buffer: Do nothing on resize() calls with same sizes
Prevents us from churning memory by freeing and reallocating a memory
block that would have already been adequate as is.
5 years ago
Lioncash
6f8a06bac5
patch_manager: Remove usages of the global system instance
With this, only 19 usages of the global system instance remain within
the core library.
We're almost there.
5 years ago
Lioncash
aaf262bfed
core: Remove unused private Init function for the System class
This isn't used, so it can be removed.
5 years ago
Lioncash
bcaadac22c
core: Make use of [[nodiscard]] with the System class
Given this is a central class, we should flag cases where the return
value of some functions not being used is likely a bug.
5 years ago
Lioncash
be4fc777c0
configure_input_player: Use static qualifier for IsProfileNameValid()
This is a static member function, so we don't need use an existing
instance to call this function.
5 years ago
Lioncash
0ca91ced2d
virtual_buffer: Add compile-time type-safety guarantees with VirtualBuffer
VirtualBuffer makes use of VirtualAlloc (on Windows) and mmap() (on
other platforms). Neither of these ensure that non-trivial objects are
properly constructed in the allocated memory.
To prevent potential undefined behavior occurring due to that, we can
add a static assert to loudly complain about cases where that is done.
5 years ago