Commit Graph

16591 Commits (ce5fcb6bb2c358b0251a2ce87945bda52789a76d)
 

Author SHA1 Message Date
bunnei 5f75d97125 core: loader: Implement support for loading indexed programs. 4 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.
4 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.
4 years ago
Rodrigo Locatti fbda5e9ec9
Merge pull request #3681 from lioncash/component
decoder/image: Fix incorrect G24R8 component sizes in GetComponentSize()
4 years ago
Rodrigo Locatti 410ed82922
Merge pull request #4942 from lioncash/system
core: Make use of [[nodiscard]] with the System class
4 years ago
Rodrigo Locatti 7afb7a9494
Merge pull request #4972 from lioncash/unused4
svc: Remove unnecessary [[maybe_unused]] tag
4 years ago
bunnei 6694e11303
input_common: Fix typo in gc_poller.cpp with [[maybe_unused]]. 4 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.
4 years ago
bunnei 5ec6a265bf
Merge pull request #4980 from bunnei/error-fixup
input_common: Add more missing [[maybe_unused]] from #4927.
4 years ago
bunnei 7fb7540d69 input_common: Add more missing [[maybe_unused]] from #4927. 4 years ago
bunnei d04abd39eb
Fix warnings in core/frontend/input.h with [[maybe_unused]]
Fixes build break due to #4927
4 years ago
bunnei e371d12af6
Merge pull request #4927 from lioncash/input-error
input_common: Treat warnings as errors
4 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.
4 years ago
bunnei 5d1447897a
Merge pull request #4451 from slashiee/extended-logging
logging/settings: Increase maximum log size to 100 MB and add extended logging option
4 years ago
Lioncash 874be0e3e1 svc: Remove unnecessary [[maybe_unused]] tag
The parameter is used in this function, so this suppression isn't
necessary.
4 years ago
bunnei 2b05c32343
Merge pull request #4969 from liushuyu/master
CI: move refreshenv to the configure step
4 years ago
liushuyu b546640c41
CI: move refreshenv to the configure step...
... so that cmake can find the Vulkan SDK binaries
4 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.
4 years ago
bunnei 3a85bc1e77
Merge pull request #4944 from lioncash/system-rem
patch_manager: Remove usages of the global system instance
4 years ago
Morph e13a91fa9b
Merge pull request #4954 from lioncash/compare
gl_rasterizer: Make floating-point literal a float
4 years ago
bunnei 5502f39125
Merge pull request #4955 from lioncash/move3
async_shaders: std::move data within QueueVulkanShader()
4 years ago
Rodrigo Locatti ba3dd7b78f
Merge pull request #4960 from liushuyu/master
ci: install Vulkan SDK in MSVC build
4 years ago
bunnei afd0e2ee87
Merge pull request #4907 from ogniK5377/nvdrv-cleanup
core: Make nvservices more standardized
4 years ago
liushuyu 185bf3fd28
ci: install Vulkan SDK in MSVC build 4 years ago
Morph 8758378dc4 applets/controller: Use a pair of emulated controller index to controller type 4 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
4 years ago
LC d88baa746b
Merge pull request #4957 from ReinUsesLisp/alpha-test-rt
gl_rasterizer: Remove warning of untested alpha test
4 years ago
ReinUsesLisp acc14d233f gl_rasterizer: Remove warning of untested alpha test
Alpha test has been proven to only affect the first render target.
4 years ago
bunnei b00f4abe36
Merge pull request #4953 from lioncash/shader-shadow
shader_bytecode: Eliminate variable shadowing
4 years ago
bunnei c47c3d723f
Merge pull request #4951 from bunnei/olsc-stub
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
4 years ago
bunnei 3794c91145 olsc: Move member initialization to after member functions. 4 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.
4 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.
4 years ago
Lioncash 3fcc98e11a async_shaders: Simplify moving data into the pending queue 4 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.
4 years ago
Lioncash 8469b76630 gl_rasterizer: Make floating-point literal a float
Gets rid of an unnecessary expansion from float to double.
4 years ago
Lioncash b7cd5d742e shader_bytecode: Make use of [[nodiscard]] where applicable
Ensures that all queried values are made use of.
4 years ago
Lioncash 56ecafc204 shader_bytecode: Eliminate variable shadowing 4 years ago
Morph 715f0c3b0c
Merge pull request #4941 from lioncash/config
configure_input_player: Use static qualifier for IsProfileNameValid()
4 years ago
LC bba7e8ea4b
Merge pull request #4950 from german77/RumbleStrenght
Modify rumble amplification
4 years ago
LC e883101999
Merge pull request #4952 from ReinUsesLisp/bit-cast
common/bit_cast: Add function matching std::bit_cast without constexpr
4 years ago
Rodrigo Locatti 1889b641d9
Merge pull request #4308 from ReinUsesLisp/maxwell-3d-funcs
maxwell_3d: Move code to separate functions and insert instead of push_back
4 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.
4 years ago
bunnei 6971d08893
Merge pull request #4948 from lioncash/page-resize
virtual_buffer: Do nothing on resize() calls with same sizes
4 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.
4 years ago
german77 5b6545b141 Modify rumble amplification 4 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.
4 years ago
bunnei 92344da20c
Merge pull request #4936 from lioncash/page
page_table: Allow page tables to be moved
4 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.
4 years ago
Lioncash aaf262bfed core: Remove unused private Init function for the System class
This isn't used, so it can be removed.
4 years ago