Age | Commit message (Collapse) | Author |
|
|
|
|
|
renderer_opengl: Use compute shaders to swizzle BGR textures on copy
|
|
buffer_cache: Heuristically decide to skip cache on uniform buffers
|
|
InputCommon: Mouse fixes
|
|
- Fixes another small leak.
|
|
- Avoids a memory leak, as taking a strong reference of the fiber here causes a circular reference.
- Supersedes #6006 with a more narrow fix.
|
|
hle: kernel: KThread: Rework dummy threads & fix memory leak.
|
|
- Dummy threads are created on thread local storage for all host threads.
- Fixes a leak by removing creation of fibers, which are not applicable here.
|
|
CMakeLists: Add /utf-8 compile option for MSVC
|
|
|
|
externals: Update mbedtls to 2.16.9
|
|
core: Switch to unique_ptr for usage of Common::Fiber.
|
|
|
|
Ensures that the source and execution character sets are in UTF-8
|
|
In order to force the BGRA8 conversion on Nvidia using OpenGL, we need to forbid texture copies and views with other formats.
This commit also adds a boolean relating to this, as this needs to be done only for the OpenGL api, Vulkan must remain unchanged.
|
|
OpenGL does not natively support BGR internal formats, which causes many BGR textures to render incorrectly, with Red and Blue channels swapped.
This commit aims to address this by swizzling the blue and red channels on texture copies when a BGR format is encountered.
|
|
vk_command_pool: Reduce the command pool size from 4096 to 4
|
|
InputCommon: Use an unique client id for each udp socket instance
|
|
Network error handling reform
|
|
Some games benefit from skipping caches (Pokémon Sword), and others
don't (Animal Crossing: New Horizons). Add an heuristic to decide this
at runtime.
The cache hit ratio has to be ~98% or better to not skip the cache.
There are 16 frames of buffer.
|
|
- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
|
|
|
|
|
|
This commit removes early placeholders for an implementation of async nvdec. With recent changes to the source code, the placeholders are no longer accurate, and can cause a nullptr dereference due to the nature of the cdma_pusher lifetime.
|
|
`network.cpp` has several error paths which either:
- report "Unhandled host socket error=n" and return `SUCCESS`, or
- switch on a few possible errors, log them, and translate them to
Errno; the same switch statement is copied and pasted in multiple
places in the code
Convert these paths to use a helper function `GetAndLogLastError`, which
is roughly the equivalent of one of the switch statements, but:
- handling more cases (both ones that were already in `Errno`, and a few
more I added), and
- using OS functions to convert the error to a string when logging, so
it'll describe the error even if it's not one of the ones in the
switch statement.
- To handle this, refactor the logic in `GetLastErrorMsg` to expose a
new function `NativeErrorToString` which takes the error number
explicitly as an argument. And improve the Windows version a bit.
Also, add a test which exercises two random error paths.
|
|
core: hle: ldn: Error out on call to Initialization.
|
|
HID: Implement gestures
|
|
|
|
|
|
common,video-core: unbreak GCC 11 build on FreeBSD 13
|
|
- Since we do not emulate LDN, returning an error here makes more sense.
|
|
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context.
- Fixes a memory leak due to circular reference of the shared pointer.
|
|
Kernel Rework: Memory updates and refactoring (Part 1)
|
|
hid: Implement GameCube Controller Vibrations
|
|
[OpenGL] Implement glDepthRangeIndexeddNV
|
|
acc: Stub GetNintendoAccountUserResourceCacheForApplication
|
|
|
|
This allows drivers to reuse memory more easily and preallocate less.
The optimal number has been measured booting Pokémon Sword.
|
|
src/video_core/shader_notify.cpp: In member function 'void VideoCore::ShaderNotify::MarkShaderComplete()':
src/video_core/shader_notify.cpp:33:10: error: 'unique_lock' is not a member of 'std'
33 | std::unique_lock lock{mutex};
| ^~~~~~~~~~~
src/video_core/shader_notify.cpp:6:1: note: 'std::unique_lock' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
5 | #include "video_core/shader_notify.h"
+++ |+#include <mutex>
6 |
src/video_core/shader_notify.cpp: In member function 'void VideoCore::ShaderNotify::MarkSharderBuilding()':
src/video_core/shader_notify.cpp:38:10: error: 'unique_lock' is not a member of 'std'
38 | std::unique_lock lock{mutex};
| ^~~~~~~~~~~
src/video_core/shader_notify.cpp:38:10: note: 'std::unique_lock' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
|
|
In file included from src/video_core/dma_pusher.cpp:5:
src/./common/cityhash.h:69:47: error: 'size_t' has not been declared
69 | [[nodiscard]] u64 CityHash64(const char* buf, size_t len);
| ^~~~~~
src/./common/cityhash.h:73:55: error: 'size_t' has not been declared
73 | [[nodiscard]] u64 CityHash64WithSeed(const char* buf, size_t len, u64 seed);
| ^~~~~~
src/./common/cityhash.h:77:56: error: 'size_t' has not been declared
77 | [[nodiscard]] u64 CityHash64WithSeeds(const char* buf, size_t len, u64 seed0, u64 seed1);
| ^~~~~~
src/./common/cityhash.h:80:47: error: 'size_t' has not been declared
80 | [[nodiscard]] u128 CityHash128(const char* s, size_t len);
| ^~~~~~
src/./common/cityhash.h:84:55: error: 'size_t' has not been declared
84 | [[nodiscard]] u128 CityHash128WithSeed(const char* s, size_t len, u128 seed);
| ^~~~~~
|
|
Offsets for TexelFetch and TextureGather in Vulkan
|
|
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
|
|
This command returns a Nintendo Account ID and writes 2 output buffers. The first output buffer is a NasUserBaseForApplication and the second output buffer is currently empty.
Used by:
- Pokken Tournament DX
- Super Smash Bros. Ultimate
- Super Nintendo Entertainment System - Nintendo Switch Online
- Mario Kart 8 Deluxe
|
|
After rewriting the resource limit, objects releasing reserved resources require a live kernel instance.
This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
|
|
|
|
- Previous optimized impl. resulted in an integer overflow, so revert.
- This is our slow/fallback path that should never be really be used, so the optimization in unimportant.
|
|
vk_update_descriptor: Inline and improve code for binding buffers
|
|
|
|
|