ameerj
5213f70230
texture_cache: Blacklist BGRA8 copies and views on OpenGL
...
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.
2021-03-04 14:14:49 -05:00
ameerj
0639244d85
renderer_opengl: Swizzle BGR textures on copy
...
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.
2021-03-04 14:14:19 -05:00
bunnei
b8b5891585
Merge pull request #5989 from ReinUsesLisp/cmdpool
...
vk_command_pool: Reduce the command pool size from 4096 to 4
2021-03-04 11:07:31 -08:00
bunnei
394475c4e3
Merge pull request #6004 from german77/udprandom
...
InputCommon: Use an unique client id for each udp socket instance
2021-03-03 15:45:32 -08:00
bunnei
50ee9c46ab
video_core: rasterizer_accelerated: Fix delta check ordering.
2021-03-02 17:48:02 -08:00
bunnei
6ab839462c
video_core: rasterizer_accelerated: Improve error handling & fix implicit conversion.
2021-03-02 17:44:02 -08:00
bunnei
f8bfec3109
Merge pull request #5815 from comex/net-error-reform
...
Network error handling reform
2021-03-02 17:08:47 -08:00
bunnei
94da1e8a7e
video_core: rasterizer_accelerated: Use a flat array instead of interval_map for cached pages.
...
- Uses a fixed 64MB for the cache instead of an ever growing map.
- Slightly faster by using atomics instead of a single mutex for access.
- Thanks for Rodrigo for the idea.
2021-03-02 16:57:53 -08:00
ReinUsesLisp
5ad62e7bfc
buffer_cache: Heuristically decide to skip cache on uniform buffers
...
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.
2021-03-02 02:44:19 -03:00
bunnei
925671071c
core: Shutdown: Move kernel cleanup to later in shutdown.
...
- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
2021-03-01 21:42:06 -08:00
Kelebek1
c7a7e47615
Fix default bcat_backend init
2021-03-02 03:20:16 +00:00
german
9b3af0027b
inputCommon: Use an unique client id for each socket instance
2021-03-01 09:19:33 -06:00
ameerj
52e9d7fa49
gpu_thread: Remove Async NVDEC placeholders
...
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.
2021-02-28 22:03:00 -05:00
comex
2910aa77b2
[network] Error handling reform
...
`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.
2021-02-28 17:25:31 -05:00
bunnei
9e9341f4b4
Merge pull request #6007 from bunnei/ldn-error
...
core: hle: ldn: Error out on call to Initialization.
2021-02-28 13:34:20 -08:00
Morph
ee9ebeeb80
Merge pull request #5276 from german77/gestures
...
HID: Implement gestures
2021-02-27 22:18:41 -05:00
german
e895ab7d6f
Implements touch, pan, pinch and rotation gestures
2021-02-27 19:54:42 -06:00
german77
4738e14cb0
inputCommon: Mouse fixes
2021-02-27 17:53:10 -06:00
bunnei
55f556c53e
Merge pull request #5984 from jbeich/gcc-freebsd
...
common,video-core: unbreak GCC 11 build on FreeBSD 13
2021-02-27 14:15:00 -07:00
bunnei
ab65cb499d
core: hle: ldn: Error out on call to Initialization.
...
- Since we do not emulate LDN, returning an error here makes more sense.
2021-02-27 11:59:29 -08:00
bunnei
51fb0a6f96
core: Switch to unique_ptr for usage of Common::Fiber.
...
- 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.
2021-02-27 11:56:04 -08:00
bunnei
09f7c355c6
Merge pull request #5953 from bunnei/memory-refactor-1
...
Kernel Rework: Memory updates and refactoring (Part 1)
2021-02-27 12:48:35 -07:00
bunnei
bfa1644464
Merge pull request #5944 from Morph1984/gc-vibrations
...
hid: Implement GameCube Controller Vibrations
2021-02-26 19:10:36 -07:00
bunnei
272bc4c3d6
Merge pull request #5997 from Kelebek1/Depth
...
[OpenGL] Implement glDepthRangeIndexeddNV
2021-02-26 15:06:55 -07:00
bunnei
1ba578c4aa
Merge pull request #5977 from Morph1984/stub-acc
...
acc: Stub GetNintendoAccountUserResourceCacheForApplication
2021-02-24 17:46:15 -07:00
Kelebek1
d31dbb1bc1
Implement glDepthRangeIndexeddNV
2021-02-24 22:26:53 +00:00
ReinUsesLisp
aae399c1a8
vk_command_pool: Reduce the command pool size from 4096 to 4
...
This allows drivers to reuse memory more easily and preallocate less.
The optimal number has been measured booting Pokémon Sword.
2021-02-23 19:08:24 -03:00
Jan Beich
1841ca4b9b
video_core: add missing header after 468bd9c1b0
...
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>'?
2021-02-23 00:04:36 +00:00
Jan Beich
71526ecfc7
common: add missing header after f3805376f7
...
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);
| ^~~~~~
2021-02-23 00:04:32 +00:00
bunnei
20245e660f
Merge pull request #5936 from Kelebek1/Offsets
...
Offsets for TexelFetch and TextureGather in Vulkan
2021-02-21 21:23:45 -07:00
Morph
ec19a85890
hid: Implement GameCube Controller Vibrations
...
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
2021-02-21 10:32:59 -05:00
Morph
3de8e7a8f2
acc: Stub GetNintendoAccountUserResourceCacheForApplication
...
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
2021-02-21 10:29:25 -05:00
ameerj
8e4c9c9852
kernel: Fix resource release exception on exit
...
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.
2021-02-20 20:51:11 -05:00
Morph
1a5d4d7840
gl_disk_shader_cache: Log total shader entries count on game load
2021-02-20 11:08:19 -05:00
bunnei
3acb265c9e
common: wall_clock: Fix integer overflow with StandardWallClock.
...
- 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.
2021-02-19 18:04:23 -08:00
bunnei
728ee181eb
Merge pull request #5924 from ReinUsesLisp/inline-bindings
...
vk_update_descriptor: Inline and improve code for binding buffers
2021-02-19 12:27:10 -08:00
bunnei
93e20867b0
hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.
2021-02-18 16:16:25 -08:00
bunnei
b1e27890e8
hle: kernel: Migrate MemoryManager to KMemoryManager.
2021-02-18 16:16:25 -08:00
bunnei
93109c870e
hle: kernel: Migrate PageLinkedList to KPageLinkedList.
2021-02-18 16:16:25 -08:00
bunnei
65e0178cc0
hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.
2021-02-18 16:16:25 -08:00
bunnei
9e520e8f12
hle: kernel: Migrate SlabHeap to KSlabHeap.
2021-02-18 16:16:25 -08:00
bunnei
1d162f28d1
hle: kernel: Migrate MemoryLayout to KMemoryLayout.
2021-02-18 16:16:25 -08:00
bunnei
7ed5dd0d62
hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo.
2021-02-18 16:16:25 -08:00
bunnei
701ef616b2
hle: kernel: memory_manager: Rename AllocateContinuous to AllocateContinuous.
2021-02-18 16:16:24 -08:00
bunnei
f7a008d77f
hle: kernel: KSystemControl does not belong in Memory namespace.
2021-02-18 16:16:24 -08:00
bunnei
6a19086001
hle: kernel: memory: PageHeap: Migrate to KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
a02566136c
hle: kernel: Add KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
e7c33d1ad6
hle: kernel: system_control: Add function GenerateRandomU64.
2021-02-18 16:16:24 -08:00
bunnei
c9235764c7
common: Add implementation of TinyMT (Mersenne Twister RNG).
2021-02-18 16:16:24 -08:00
bunnei
6da91da08e
hle: kernel: Add KSpinLock implementation.
2021-02-18 16:16:24 -08:00
bunnei
24e1e17a8a
core: memory: Add templated GetPointer methods.
2021-02-18 16:16:24 -08:00
bunnei
b5b92fd1e5
common: alignment: Add DivideUp utility method.
2021-02-18 16:16:24 -08:00
bunnei
0d62f30b00
hle: kernel: Rename SharedMemory to KSharedMemory.
2021-02-18 16:16:12 -08:00
bunnei
9cae3e6e90
Merge pull request #4973 from ameerj/nvdec-opt
...
nvdec: Reuse allocated buffers and general cleanup
2021-02-18 15:12:07 -08:00
Morph
1c550ff954
Revert "Port citra-emu/citra#5123 : "SDL: Disable hidapi drivers due to compatibility problems with certain controllers""
2021-02-18 11:16:14 -05:00
ReinUsesLisp
f3805376f7
common/cityhash: Use common types
...
Allow sharing return types with the rest of the code base. For example,
we use 'u128 = std::array<u64, 2>', meanwhile Google's code uses
'uint128 = std::pair<u64, u64>'.
While we are at it, use size_t instead of std::size_t.
2021-02-18 00:45:17 -03:00
ReinUsesLisp
9ca5e52f07
tests: Add tests for CityHash
2021-02-18 00:44:57 -03:00
bunnei
6be0975bf2
Merge pull request #5121 from bunnei/optimize-core-timing
...
core: Optimize core timing utility functions to avoid unnecessary math
2021-02-16 13:17:22 -08:00
Morph
723e038dba
Merge pull request #5929 from german77/mousePanning
...
Improve mouse panning
2021-02-16 22:52:35 +08:00
bunnei
aaccb21f81
Merge pull request #4298 from FearlessTobi/remove-cache-setting
...
yuzu/configure_filesystem: Remove "Select Cache Directory" option
2021-02-15 20:31:16 -08:00
ReinUsesLisp
24d0cc3ab8
vk_rasterizer: Fix loading shader addresses twice
...
This was recently introduced on a wrongly rebased commit.
2021-02-15 21:34:13 -03:00
bunnei
86212d4bcd
Merge pull request #3603 from FearlessTobi/port-5123
...
Port citra-emu/citra#5123 : "SDL: Disable hidapi drivers due to compatibility problems with certain controllers"
2021-02-15 16:25:53 -08:00
bunnei
f3345e84ad
core: core_timing_util: Optimize core timing math.
...
- Avoids a lot of unnecessary 128-bit math for imperceptible accuracy.
2021-02-15 14:54:06 -08:00
bunnei
592a649918
common: wall_clock: Optimize GetClockCycles/GetCPUCycles to use a single MUL instruction.
2021-02-15 14:51:43 -08:00
bunnei
0a91599aec
common: Merge uint128 to a single header file with inlines.
2021-02-15 14:46:04 -08:00
bunnei
cffa6f4e62
Merge pull request #5923 from ReinUsesLisp/vk-dirty-pipeline
...
fixed_pipeline_cache: Use dirty flags to lazily update key
2021-02-15 13:17:27 -08:00
LC
ed543c4d5c
Merge pull request #5939 from Morph1984/web_types
...
core/CMakeLists: Add web_types.h
2021-02-15 14:02:10 -05:00
bunnei
b53b50adec
Merge pull request #4940 from german77/nativeGC
...
HID: Implement GC controller in game
2021-02-15 10:32:19 -08:00
Morph
48cfc47050
core/CMakeLists: Add web_types.h
2021-02-15 09:40:30 -05:00
bunnei
90610bde9b
Merge pull request #5935 from lat9nq/controller_access_keys
...
debugger: controller: Add access key
2021-02-14 22:33:59 -08:00
Kelebek1
9d8f793969
Review 1
2021-02-15 05:26:28 +00:00
bunnei
8378b8a61f
Merge pull request #5909 from ogniK5377/I3dl2Reverb
...
audren: Implement I3dl2Reverb
2021-02-14 20:09:15 -08:00
Kelebek1
fb54c38631
Implement texture offset support for TexelFetch and TextureGather and add offsets for Tlds
...
Formatting
2021-02-15 00:36:37 +00:00
lat9nq
6269cd7f1d
debugger: controller: Add access key
...
Adds the access key to the Controller P1 selection at View -> Debugger
-> Controller P1. Avoids using the windowTitle as that would add a
literal & to the beginning of the window title.
2021-02-14 16:10:12 -05:00
bunnei
b0a3915351
Merge pull request #5920 from bunnei/am-ldn-fix
...
Fix LDN Initialization return code & resulting AM overflow
2021-02-14 02:46:01 -08:00
bunnei
eae9f2e440
yuzu: Various frontend improvements to avoid crashes and improve experience on Linux.
2021-02-14 00:20:41 -08:00
bunnei
d9a8060ce3
hle: service: ldn: IUserLocalCommunicationService: Improve the stub.
2021-02-13 21:45:09 -08:00
german
594973bdd2
Improve mouse panning
2021-02-13 22:23:32 -06:00
bunnei
51c13606d6
hle: service: ldn: IUserLocalCommunicationService: Indicate that LDN is disabled.
...
- Fixes crash on Pokemon Sword/Shield when pressing 'Y'.
2021-02-13 20:11:26 -08:00
bunnei
d25011c92f
hle: service: am: IStorageAccessor: Fix out of bounds error handling.
2021-02-13 20:11:26 -08:00
ReinUsesLisp
b8ffdbb167
vk_resource_pool: Load GPU tick once and compare with it
...
Other minor style improvements. Rename free_iterator to hint_iterator,
to describe better what it does.
2021-02-13 17:53:58 -03:00
ReinUsesLisp
21b40de318
vk_update_descriptor: Inline and improve code for binding buffers
...
Allow compilers with our settings inline hot code.
2021-02-13 17:46:24 -03:00
ReinUsesLisp
70353649d7
fixed_pipeline_cache: Use dirty flags to lazily update key
...
Use dirty flags to avoid building pipeline key from scratch on each draw
call. This saves a bit of unnecesary work on each draw call.
2021-02-13 17:44:47 -03:00
ameerj
c7325c6a4c
gl_texture_cache: Lazily create non-sRGB texture views for sRGB formats
...
This creates non-sRGB texture views for sRGB texture formats to allow for interfacing with these views in compute shaders using imageLoad and imageStore.
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2021-02-13 13:27:50 -05:00
ameerj
b675c44e49
rebase, fix name shadowing, more const
2021-02-13 13:07:56 -05:00
ameerj
3c37d66c28
Address PR feedback
...
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-02-13 13:07:56 -05:00
ameerj
09722cb4a7
streamline cdma_pusher/command_classes
2021-02-13 13:07:56 -05:00
ameerj
77564f987c
streamline cdma_pusher/command_classes
2021-02-13 13:07:53 -05:00
ameerj
ac265a72ce
nvdec cleanup
2021-02-13 13:07:31 -05:00
Morph
83227ad981
Merge pull request #5919 from ReinUsesLisp/stream-buffer-tragic
...
gl_stream_buffer/vk_staging_buffer_pool: Fix size check
2021-02-13 21:25:45 +08:00
ReinUsesLisp
dd9caf9aa0
vk_master_semaphore: Mark gpu_tick atomic operations with relaxed order
2021-02-13 05:57:28 -03:00
ReinUsesLisp
6171566296
vk_staging_buffer_pool: Inline tick tests
...
Load the current tick to a local variable, moving it out of an atomic
and allowing us to compare the value without going through a pointer
each time. This should make the loop more optimizable.
2021-02-13 05:14:11 -03:00
ReinUsesLisp
682d82faf3
gl_stream_buffer/vk_staging_buffer_pool: Fix size check
...
Fix a tragic off-by-one condition that causes Vulkan's stream buffer to
think it's always full, using fallback memory. The OpenGL was also
affected by this bug to a lesser extent.
2021-02-13 05:11:48 -03:00
LC
710aa22f7c
Merge pull request #5915 from lat9nq/screenshots-dir-fix
...
yuzu: Create screenshot path before capture
2021-02-13 02:56:23 -05:00
LC
6f1ad6aa9f
Merge pull request #5916 from ameerj/maxwell-gl-unused
...
maxwell_to_gl: Remove unused code
2021-02-13 02:55:59 -05:00
ReinUsesLisp
757fd1e917
vulkan_device: Require VK_EXT_robustness2
...
We are already using robustness2 features without requiring it
explicitly, causing potential crashes on drivers without the extension.
Requiring this at boot allows better diagnostics for it and formalizes
our usage on the extension.
2021-02-13 03:31:50 -03:00
ReinUsesLisp
13becdf18a
config: Make high GPU accuracy the default
...
This is a better default for most games, yielding better performance and
less graphical issues.
2021-02-13 02:38:05 -03:00
ReinUsesLisp
5b35b01070
video_core: Fix clang build issues
2021-02-13 02:26:47 -03:00
ReinUsesLisp
025fe458ae
vk_staging_buffer_pool: Fix softlock when stream buffer overflows
...
There was still a code path that could wait on a timeline semaphore tick
that would never be signalled.
While we are at it, make use of more STL algorithms.
2021-02-13 02:18:38 -03:00
ReinUsesLisp
3a2eefb16c
vk_buffer_cache: Add support for null index buffers
...
Games can bind a null index buffer (size=0) where all indices are
evaluated as zero. VK_EXT_robustness2 doesn't support this and all
drivers segfault when a null index buffer is passed to
vkCmdBindIndexBuffer.
Workaround this by creating a 4 byte buffer and filling it with zeroes.
If it's read out of bounds, robustness takes care of returning zeroes as
indices.
2021-02-13 02:18:38 -03:00
ReinUsesLisp
0b8b961442
buffer_cache: Add extra bytes to guest SSBOs
...
Bind extra bytes beyond the guest API's bound range.
This is due to some games like Astral Chain operating out of bounds.
Binding the whole map range would be technically correct, but games
have large maps that make this approach unaffordable for now.
2021-02-13 02:18:38 -03:00
ReinUsesLisp
93a69b6cc8
Merge branch 'bytes-to-map-end' into new-bufcache-wip
2021-02-13 02:18:35 -03:00
ReinUsesLisp
7402442442
vk_staging_buffer_pool: Get a staging buffer instead of waiting
...
Avoids waiting idle while the GPU finishes to do work, and fixes an
issue where we'd wait forever if a single command buffer (logic tick)
all the data.
2021-02-13 02:18:05 -03:00
ReinUsesLisp
75fd3f95a3
yuzu/config: Disable assembly shaders by default
...
Due to BindBufferRangeNV limitations and poor quality code emission from
our side, assembly shaders are currently slower than GLSL. Their build
time and feature advantages are still relevant, but they are outweighted
by their runtime performance.
2021-02-13 02:18:05 -03:00
ReinUsesLisp
0b631f22fc
renderer_opengl: Remove interop
...
Remove unused interop code from the OpenGL backend.
2021-02-13 02:18:04 -03:00
ReinUsesLisp
3da87d3f12
gl_buffer_cache: Drop interop based parameter buffer workarounds
...
Sacrify runtime performance to avoid generating kernel exceptions on
Windows due to our abusive aliasing of interop buffer objects.
2021-02-13 02:17:24 -03:00
ReinUsesLisp
2b95c137ff
buffer_cache: Heuristically detect stream buffers
...
Detect when a memory region has been joined several times and increase
the size of the created buffer on those instances. The buffer is assumed
to be a "stream buffer", increasing its size should stop us from
constantly recreating it and fragmenting memory.
2021-02-13 02:17:24 -03:00
ReinUsesLisp
ec9354d6d9
buffer_cache: Split CreateBuffer in separate functions
...
Allow adding functionality to each function without making CreateBuffer
more complex.
2021-02-13 02:17:24 -03:00
ReinUsesLisp
a02b4e1df6
buffer_cache: Skip cache on small uploads on Vulkan
...
Ports from OpenGL the optimization to skip small 3D uniform buffer
uploads. This will take advantage of the previously introduced stream
buffer.
Fixes instances where the staging buffer offset was being ignored.
2021-02-13 02:17:24 -03:00
ReinUsesLisp
35df1d1864
vk_staging_buffer_pool: Add stream buffer for small uploads
...
This uses a ring buffer similar to OpenGL's stream buffer for small
uploads. This stops us from allocating several small buffers, reducing
memory fragmentation and cache locality.
It uses dedicated allocations when possible.
2021-02-13 02:17:24 -03:00
ReinUsesLisp
8fd518ec40
vulkan_device: Enable robustBufferAccess
...
Fix regression on Pascal on Animal Crossing: New Horizons, fixing a
validation error.
2021-02-13 02:17:23 -03:00
ReinUsesLisp
82c2601555
video_core: Reimplement the buffer cache
...
Reimplement the buffer cache using cached bindings and page level
granularity for modification tracking. This also drops the usage of
shared pointers and virtual functions from the cache.
- Bindings are cached, allowing to skip work when the game changes few
bits between draws.
- OpenGL Assembly shaders no longer copy when a region has been modified
from the GPU to emulate constant buffers, instead GL_EXT_memory_object
is used to alias sub-buffers within the same allocation.
- OpenGL Assembly shaders stream constant buffer data using
glProgramBufferParametersIuivNV, from NV_parameter_buffer_object. In
theory this should save one hash table resolve inside the driver
compared to glBufferSubData.
- A new OpenGL stream buffer is implemented based on fences for drivers
that are not Nvidia's proprietary, due to their low performance on
partial glBufferSubData calls synchronized with 3D rendering (that
some games use a lot).
- Most optimizations are shared between APIs now, allowing Vulkan to
cache more bindings than before, skipping unnecesarry work.
This commit adds the necessary infrastructure to use Vulkan object from
OpenGL. Overall, it improves performance and fixes some bugs present on
the old cache. There are still some edge cases hit by some games that
harm performance on some vendors, this are planned to be fixed in later
commits.
2021-02-13 02:17:22 -03:00
ReinUsesLisp
a39d9c5194
vulkan_common: Expose interop and headless devices
2021-02-13 02:16:21 -03:00
ReinUsesLisp
47d5ec6cfc
vulkan_common: Make interop extensions mandatory
2021-02-13 02:16:21 -03:00
ReinUsesLisp
40ed0cb920
vulkan_device: Enable robust buffers
2021-02-13 02:16:21 -03:00
ReinUsesLisp
1a987054c5
vulkan_device: Use designated initializers for features
2021-02-13 02:16:21 -03:00
ReinUsesLisp
79afdeaf08
vulkan_wrapper: Add memory barrier pipeline barrier helper
2021-02-13 02:16:21 -03:00
ReinUsesLisp
004a8d6a7a
vulkan_device: Fix formatting of constants
2021-02-13 02:16:21 -03:00
ReinUsesLisp
16f97ded21
vulkan_wrapper: Add interop functions
2021-02-13 02:16:21 -03:00
ReinUsesLisp
9735c34f5d
vulkan_instance: Initialize Vulkan instance in a separate thread
...
Workaround an issue on Nvidia where creating a Vulkan instance from an
active OpenGL thread disables threaded optimization on the driver.
This optimization is important to have good performance on Nvidia
OpenGL.
2021-02-13 02:16:21 -03:00
ReinUsesLisp
dde19e7d75
vulkan_wrapper: Pull Windows symbols
2021-02-13 02:16:21 -03:00
ReinUsesLisp
75ccd9959c
gpu: Report renderer errors with exceptions
...
Instead of using a two step initialization to report errors, initialize
the GPU renderer and rasterizer on the constructor and report errors
through std::runtime_error.
2021-02-13 02:16:19 -03:00
ReinUsesLisp
19156292a3
tests/buffer_base: Add cached CPU writes tests
...
Ensure the behavior of the previous commit in tests.
2021-02-13 02:15:29 -03:00
ReinUsesLisp
9d8ca6cc4a
buffer_base: Add support for cached CPU writes
...
Some games usually write memory pages currently used by the GPU, causing
rendering issues (e.g. flashing geometry and shadows on Link's
Awakening). To workaround this issue, Guest CPU writes are delayed until
the command buffer finishes processing, but the pages are updated
immediately.
The overall behavior is:
- CPU writes are cached until they are flushed, they update the page
state, but don't change the modification state. Cached writes stop
pages from being flushed, in case games have meaningful data in it.
- Command processing writes (e.g. push constants) update the page state
and are marked to the command processor as dirty. They don't remove
the state of cached writes.
2021-02-13 02:15:29 -03:00
ameerj
069afcc633
maxwell_to_gl: Remove unused code
...
Removes unused declarations in maxwell_to_gl.h
2021-02-12 23:01:09 -05:00
Chloe Marcec
7ad63ea542
revert to std::sin and std::cos
2021-02-12 18:48:10 -08:00
Chloe Marcec
d28b942458
address issues
2021-02-12 18:48:10 -08:00
Chloe Marcec
4a7fd91857
audren: Implement I3dl2Reverb
...
Most notable fix is the voices in Fire Emblem Three Houses
2021-02-12 18:48:10 -08:00
ameerj
ec9b6641b1
kernel: More accurately reserve and release resources
2021-02-12 19:05:24 -05:00
ameerj
5fa6b15215
kernel: KScopedReservation implementation
...
This implements KScopedReservation, allowing resource limit reservations to be more HW accurate, and release upon failure without requiring too many conditionals.
2021-02-12 18:57:34 -05:00
Chloe
37939482fb
kernel: Unify result codes ( #5890 )
...
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
2021-02-12 15:43:01 -08:00
lat9nq
dcc0617cc2
yuzu: Create screenshot path before capture
...
Allows screenshots in cases where the screenshots path doesn't already
exist.
2021-02-12 17:26:01 -05:00
bunnei
a0379c2db5
Merge pull request #5902 from lioncash/core-warn
...
core: Silence various warnings on Clang 12
2021-02-11 18:57:23 -08:00
bunnei
e53b6ecc76
Merge pull request #5869 from german77/mousePanning
...
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
Morph
886043a6d2
software_keyboard: Implement Finalize request command
2021-02-10 21:42:49 -05:00
bunnei
3e6e0d8f13
Merge pull request #5893 from lioncash/input
...
configure_input_player_widget: Minor cleanup
2021-02-10 10:55:59 -08:00
LC
dee133ab3d
Merge pull request #5904 from lat9nq/common-sized-dealloc
...
common: Add -fsized-deallocation as a Clang flag
2021-02-09 23:45:52 -05:00
LC
3c22ce035b
Merge pull request #5905 from lat9nq/core-sized-dealloc
...
core: Add -fsized-dealloction as a Clang flag
2021-02-09 23:45:36 -05:00
lat9nq
0e004269a9
configure_input_player_widget: Silence unused variable warnings
...
Prevents clang 11 from throwing an error since these variables are
unused.
2021-02-09 22:09:23 -05:00
lat9nq
a58086ae0d
common: Add -fsized-deallocation as a Clang flag
...
Prevents an operator delete error when compiling with Clang 11.
2021-02-09 21:28:33 -05:00
lat9nq
68f718943e
core: Add -fsized-dealloction as a Clang flag
...
Prevents a operator delete error when compiling with Clang 11.
2021-02-09 21:27:12 -05:00
Ameer J
70db238f80
Merge pull request #5901 from lioncash/input-warn
...
udp: Silence warnings on Clang 12
2021-02-09 20:19:56 -05:00
bunnei
245d60bfff
Merge pull request #5900 from lioncash/unused-func
...
video_core: Remove unused functions and variables
2021-02-09 15:29:10 -08:00
Lioncash
0cd40fb523
bsd: Remove usage of optional emplace() with no arguments
...
Clang 12 currently falls over in the face of this.
2021-02-09 17:50:29 -05:00
Lioncash
1dab8acf5f
am/controller: Remove [[fallthrough]] from unreachable path
...
Prevents warnings on clang 12. This path is reachable on other
variations of the build that disable the unreachable macro.
2021-02-09 17:44:14 -05:00
Lioncash
d64ba58759
nfp: Correct uninitialized size being used within GetTagInfo()
...
We were previously the name of the object being initialized within its
own initializer, which results in uninitialized data being read.
2021-02-09 17:42:02 -05:00
Lioncash
a352f34462
udp: Silence unused member variable warnings
...
Simply mark them as unused for now.
2021-02-09 17:38:45 -05:00
Lioncash
cda24b8eb1
udp/client: Define ClientData constructor/destructor in cpp file
...
Prevents compilation errors on clang 12 due to incomplete types within a
unique_ptr member.
2021-02-09 17:36:32 -05:00
Lioncash
10636d2494
gl_rasterizer: Remove unused variables
...
Resolves warnings on clang 12
2021-02-09 17:31:37 -05:00
Lioncash
783dc9e112
texture_cache/util: Remove unused functions
...
Silences a few warnings on clang 12.
2021-02-09 17:30:20 -05:00
Lioncash
864762cac9
configure_input_player_widget: Reduce duplication of array accessors where applicable
...
Reduces the amount of code to read in expressions a little bit by
separating constituents out a little.
2021-02-09 13:15:05 -05:00
Lioncash
5c7c212f61
configure_input_player_widget: Avoid nontrivial copies where applicable
...
Previously a function was copying an array of 20 std::string instances
by value.
2021-02-09 13:15:03 -05:00
german
bcd4e4f650
Use GC image
2021-02-09 08:12:21 -06:00
Jatoxo
2e32ab4e0b
Settings: Add depth to Joysticks on Pro Controller preview ( #5894 )
...
* Add some depth to ProJoysticks
* address comments
* clang
* address nits
* fix wrong inner_offset when offset.x was 0
2021-02-08 21:06:37 -08:00
Ameer J
26669d9e13
Merge pull request #5880 from lat9nq/ffmpeg-external
...
cmake: FFmpeg linking rework
2021-02-08 21:13:10 -05:00
bunnei
1b730827dd
Merge pull request #5892 from german77/backup
...
olsc: Stub GetSaveDataBackupSetting
2021-02-08 17:48:52 -08:00
bunnei
7666c0994c
Merge pull request #5868 from german77/HandheldFix
...
Prevent over scheduling audio events and add motion update unschedule event
2021-02-08 11:33:53 -08:00
Morph
ff58ad2050
string_util: Remove MSVC workaround for converting between UTF8/UTF16
...
This has been fixed as of Visual Studio 2019 Version 16.2
2021-02-08 02:56:07 -05:00
german
a994a40467
hid: Implement GC controller
2021-02-07 22:59:46 -06:00
bunnei
0896089092
Merge pull request #5339 from german77/interactive
...
Settings: Make settings controller image change with controller input
2021-02-07 20:53:46 -08:00
german
3f9eb56972
olsc: Stub GetSaveDataBackupSetting
2021-02-07 22:32:13 -06:00
german
52b79ac009
Add mouse panning
2021-02-07 20:31:58 -06:00
Chloe
d0a760a34a
Merge pull request #5872 from lioncash/svc-error
...
svc: Provide more detailed error logs for svc functions
2021-02-08 12:27:36 +11:00
Rodrigo Locatti
4c82c08897
Merge pull request #5888 from Morph1984/ogl-4.6
...
renderer_opengl: Update OpenGL backend version requirement to 4.6
2021-02-07 21:44:49 -03:00
LC
148fb12bf3
Merge pull request #5889 from ogniK5377/morton-remove
...
video_core: Delete morton
2021-02-07 18:48:28 -05:00
Chloe Marcec
c5f109bc50
video_core: Delete morton
...
moron.h & morton.cpp are not used anywhere and are just empty files
2021-02-08 10:20:21 +11:00
Morph
6e5cc977ad
renderer_opengl: Update OpenGL backend version requirement to 4.6
2021-02-07 16:32:35 -05:00
bunnei
230e71b255
Merge pull request #5887 from ogniK5377/lm-fix
...
lm: Fix ReadLeb128
2021-02-07 10:25:56 -08:00
Morph
458be11f93
Merge pull request #5878 from aleasto/master
...
pl_u: Fix read out of bounds
2021-02-07 22:20:47 +08:00
Chloe Marcec
9d5a56a40b
lm: Fix ReadLeb128
...
Fixes assertion on Bloodstained Ritual of the Night.
We would over read sometimes, this is fixed by checking if the top bit is set in the first iteration. We also lock the loop off to be only the max size of the type we can fit. Finally we changed an incorrect print of "DEBUG" to "TRACE" to reflect the proper log severity
2021-02-07 23:52:56 +11:00
german
8893b766c3
Add GC controller animation
2021-02-07 00:15:24 -06:00
bunnei
4a01812ebe
Merge pull request #5885 from MerryMage/ring_buffer-granularity
...
ring_buffer: Remove granularity template argument
2021-02-06 13:18:41 -08:00
bunnei
9078f4a9c7
Merge pull request #5871 from lioncash/address-arb
...
k_address_arbiter: Minor cleanup
2021-02-06 13:05:19 -08:00
MerryMage
8d00265998
ring_buffer: Remove granularity template argument
...
Non-obvious bug in RingBuffer::Push(std::vector<T>&) when granularity != 1
Just remove it altogether because we do not have a use for granularity != 1
2021-02-06 19:16:00 +00:00
Alessandro Astone
32d9a83f8e
pl_u: Fix read out of bounds
2021-02-06 18:44:01 +01:00
german
160341fcf8
Refresh debug controller settings
2021-02-06 09:43:42 -06:00
german
d6a0975e5d
Refresh controller only when necessary
2021-02-06 09:43:42 -06:00
german
c9597af39d
Add SL SR vectors, change dual joycon view, add missing raw data from keyboard/mouse
2021-02-06 09:43:42 -06:00
german
a7f9983563
Add controller window and single joycon top view
2021-02-06 09:43:42 -06:00
german
ea1f656d7e
Replace text with vectors
2021-02-06 09:43:42 -06:00
german
481cd86722
Make settings controller image change with controller input
2021-02-06 09:43:41 -06:00
bunnei
61bf850f3d
Merge pull request #5326 from german77/hidUpdate1
...
HID: Update the HID service to match more closely to switchbrew part 1
2021-02-06 02:40:11 -08:00
Lioncash
40ab2b9348
k_address_arbiter: Unfold R_UNLESS macros
...
Allows for more descriptive error messages and also doesn't hide
control-path exit returns from the reader.
2021-02-06 04:08:27 -05:00
Lioncash
b8fc74d74d
k_address_arbiter: Remove unnecessary usages of std::addressof
...
This is a useful function in a generic context or with types that
overload unary operator&. However, primitives and pointers will never do
this, so we can opt for a more straightforward syntax.
2021-02-06 04:06:33 -05:00
Lioncash
7b9c58880f
k_address_arbiter: Remove dead code
...
This code is never used, so we can remove it. It's in version control,
so it can always be brought back when needed.
2021-02-06 04:06:33 -05:00
Lioncash
75a60a6e22
svc: Provide more detailed error logs for svc functions
...
Allows SVC calls to have much more informative information during error
cases. This also doesn't hide control flow returns from the reader.
2021-02-06 02:03:40 -05:00
bunnei
1498a7c9a8
Merge pull request #5862 from bunnei/kevent
...
Kernel Rework: Refactor KEvent/KReadableEvent/KWritableEvent
2021-02-05 23:00:43 -08:00
bunnei
3a804752cb
Merge pull request #5875 from lioncash/identifier
...
k_priority_queue: Minor cleanup
2021-02-05 17:02:13 -08:00
bunnei
ea4f62615e
hle: kernel: Drop R_UNLESS_NOLOG in favor of expanded if-statement.
2021-02-05 14:03:36 -08:00
bunnei
546af64340
hle: kernel: KAddressArbiter: Remove noisy error log.
2021-02-05 14:03:36 -08:00
bunnei
eba3c59a61
hle: kernel: svc: Cleanup KEvent/KReadableEvent/KWritableEvent SVCs.
2021-02-05 14:03:36 -08:00
bunnei
18175c71ed
common: scope_exit: Add a cancellable ScopeExit macro.
2021-02-05 14:03:36 -08:00
bunnei
ff3c7c068b
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
2021-02-05 14:03:32 -08:00
bunnei
6bf80dfee0
hle: kernel: Implement KEvent.
2021-02-05 14:00:36 -08:00
bunnei
e9446d232f
hle: kernel: KAddressArbiter: Use R_UNLESS_NOLOG where applicable.
2021-02-05 14:00:36 -08:00
bunnei
4577dcd5f9
common: common_funcs: Add R_UNLESS_NOLOG for scenarios that should not log.
2021-02-05 14:00:36 -08:00
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
bunnei
b0727c90c5
Merge pull request #5867 from Morph1984/am-GetHealthWarningDisappearedSystemEvent
...
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-05 13:49:49 -08:00
lat9nq
b7e6eca8b2
Address reviewer comments
2021-02-05 16:46:03 -05:00
lat9nq
1d19eac415
CMake: Port citra-emu/citra FindFFmpeg.cmake
...
Also renames related CMake variables to match both the Find*FFmpeg* and
variables defined within the file. Fixes odd errors produced by the old
FindFFmpeg.
Citra's FindFFmpeg is slightly modified here: adds Citra's copyright at
the beginning, renames FFmpeg_INCLUDES to FFmpeg_INCLUDE_DIR, disables a
few components in _FFmpeg_ALL_COMPONENTS, and adds the missing avutil
component to the comment above.
2021-02-05 15:39:19 -05:00
lat9nq
47401016bf
CMake: Implement YUZU_USE_BUNDLED_FFMPEG
...
For Linux, instructs CMake to use the FFmpeg submodule in externals.
This is HEAVILY based on our usage of the late Unicorn. Minimal change
to MSVC as it uses the yuzu-emu/ext-windows-bin. MinGW now targets the
same ext-windows-bin libraries as MSVC for FFmpeg. Adds FFMPEG_LIBRARIES
to WIN32 and simplifies video_core/CMakeLists.txt a bit.
2021-02-05 14:49:51 -05:00
bunnei
741dc13c5a
Merge pull request #5865 from lat9nq/conditionally-quiet
...
video_core: host_shaders: Don't pass --quiet to glslangValidator if unavailable
2021-02-04 17:07:17 -08:00
bunnei
00cb631b2f
Merge pull request #5876 from lioncash/truncation
...
k_affinity_mask: Avoid implicit truncation to bool
2021-02-04 14:44:11 -08:00
Lioncash
756365386a
k_affinity_mask: Avoid implicit truncation to bool
...
This can cause compiler warnings. Instead, we can explicitly add a
boolean expression around it to naturally turn the result into a bool.
2021-02-04 15:35:46 -05:00
Lioncash
b944edc85d
k_priority_queue: Unfold several declval usages
...
Given these are only used as function existence checks, we can simplify
some usages of declval, given they aren't particularly useful here.
Reduces a few template instantiations, which at most reduces compile
times a tiny bit.
2021-02-04 15:18:58 -05:00
Lioncash
31e6e58101
k_priority_queue: Simplify affinity mask type alias
...
We can make use of the _t variants of the templates to cut down on a
little bit of verbosity.
2021-02-04 14:57:41 -05:00
Lioncash
53aec1fe2d
k_priority_queue: Resolved reserved identifier
...
An identifier containing a starting underscore followed by a capital
letter is reserved by the standard. It's trivial to avoid this by moving
the underscore to the end of the identifier.
While the likelihood of clashing here being minimal, we can turn a
"should not break" scenario into a definitive "will not break" one, so
why not?.
2021-02-04 14:55:08 -05:00
Morph
806e2d7900
key_manager: Create the keys directory if it does not exist
2021-02-04 06:05:50 -05:00
bunnei
b331bb5210
Merge pull request #5870 from german77/hanheldfix2
...
config: Always update handheld config
2021-02-03 19:02:59 -08:00
german
8019b2b9b5
Add footer types and address comments
2021-02-03 20:17:08 -06:00
german
9a9e81f2e9
Fix npad struct to match switchbrew
2021-02-03 20:17:08 -06:00
german
f30ef98761
Adds missing controller types and properties
2021-02-03 20:17:08 -06:00
bunnei
cde532cc52
Merge pull request #5863 from ogniK5377/disable-reverb
...
audren: Disable reverb for the time being
2021-02-03 18:05:54 -08:00
german
c1b81f776c
Always update handheld config
2021-02-03 17:48:04 -06:00
bunnei
b0c9752663
Merge pull request #5848 from ogniK5377/k-resourcelimit
...
kernel: Rewrite resource limit to be more accurate
2021-02-03 14:53:25 -08:00
Chloe Marcec
2c6e940493
Simplify limitableresource names
2021-02-03 12:55:16 +11:00
bunnei
48d040fded
Merge pull request #5842 from german77/userfix
...
acc: Fix error when second user is selected
2021-02-02 15:43:51 -08:00
bunnei
e5a76d728f
Merge pull request #5841 from german77/username
...
Avoid overwriting username
2021-02-02 15:04:09 -08:00
german
7784b1da6d
Prevent over scheduling audio events and terminate properly the motion update event
2021-02-02 10:17:10 -06:00
Morph
13b08376b7
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-02 10:47:38 -05:00
Morph
9137f3ec68
settings: Log the cache, config, and mod load directories
2021-02-02 04:01:05 -05:00
lat9nq
fc43eac82a
video_core: host_shaders: Don't pass --quiet to glslangValidator if unavailable
...
Prevents CMake from calling `glslangValidator` with `--quiet` when it is
not available, i.e. on older downstream versions from Ubuntu.
2021-02-01 23:39:54 -05:00
bunnei
d4ebc9a120
Merge pull request #5861 from german77/HandheldFix
...
hid: Only update motion for npad and prevent over scheduling events
2021-02-01 18:46:26 -08:00
Chloe Marcec
64c3582705
Compile error
2021-02-02 13:23:34 +11:00
Chloe Marcec
9e4b2d60bc
Address issues
2021-02-02 13:23:00 +11:00
MerryMage
821fc4a7b6
arm_dynarmic_32: Print out CPSR.T on exception
2021-02-01 18:35:33 +00:00
bunnei
f317b0d354
Merge pull request #5859 from Morph1984/nifm
...
nifm: Stub GetCurrentNetworkProfile and GetCurrentIpConfigInfo
2021-01-31 21:31:14 -08:00
Ameer J
f614d7d887
Merge pull request #5856 from Morph1984/nifm-fix-getappletinfo-stub
...
nifm: Fix GetAppletInfo stub
2021-01-31 23:33:11 -05:00
Chloe Marcec
9fc7f60b94
audren: Disable reverb for the time being
...
As this is causing issues in a few games, it's best to have it disabled until it's completely implemented
2021-02-01 14:41:58 +11:00
bunnei
67d08f14af
Merge pull request #5858 from Morph1984/IsGamePlayRecordingSupported-stub
...
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
2021-01-31 18:04:04 -08:00
german
2489547dc5
Only update motion for npad and prevent over scheduling events
2021-01-31 18:52:38 -06:00
bunnei
1498ece290
Merge pull request #5860 from Morph1984/prepo-transmission-stub
...
prepo: Stub RequestImmediateTransmission and GetTransmissionStatus
2021-01-31 12:26:00 -08:00
Morph
f7dc77e03a
Merge pull request #5846 from ameerj/analog-join
...
analog_from_button: Fix update_thread.join exception
2021-01-31 23:06:06 +08:00
Morph
8c7d89e6c7
nifm: Stub GetCurrentIpConfigInfo
...
- Used by Lets Sing 12
2021-01-31 07:36:37 -05:00
Morph
7d9465d47a
prepo: Stub GetTransmissionStatus
2021-01-31 07:07:11 -05:00
Morph
2394807b42
prepo: Stub RequestImmediateTransmission
...
- Used by Animal Crossing: New Horizons
2021-01-31 07:04:35 -05:00
Morph
4bf1cf1f81
nifm: Stub GetCurrentNetworkProfile
...
- Used by Minecraft Bedrock Edition
- Used by Bloons TD 5
2021-01-31 06:56:29 -05:00
Morph
70a2065828
nifm: Add several structs
2021-01-31 06:56:29 -05:00
Morph
9f6b35e61f
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
...
Used by RetroArch
2021-01-31 03:11:03 -05:00
Morph
ded094a340
bsd: Fix EventFd stub
2021-01-31 02:57:56 -05:00
bunnei
1cc009a996
Merge pull request #5855 from Morph1984/bsd-fix-getsockopt-stub
...
bsd: Fix GetSockOpt stub
2021-01-30 23:21:21 -08:00
Morph
9914db8daa
nifm: Fix GetAppletInfo stub
2021-01-31 02:19:36 -05:00
Morph
94f660d1cb
Merge pull request #5851 from ameerj/pop-inv-stub
...
am: Stub TryPopFromFriendInvitationStorageChannel
2021-01-31 14:18:40 +08:00
Morph
6cc769065d
bsd: Fix GetSockOpt stub
2021-01-31 01:08:56 -05:00
ameerj
ad146eca60
bsd: Stub EventFd
...
Used by Family Feud
2021-01-30 21:47:32 -05:00
ameerj
99dcf7da21
am: Stub TryPopFromFriendInvitationStorageChannel
...
Used by Family Feud
2021-01-30 21:43:55 -05:00
Chloe Marcec
ee333e063d
fix compile error
2021-01-30 21:51:22 +11:00
Chloe Marcec
56742c6222
cleanup commenting
2021-01-30 21:20:35 +11:00
Chloe Marcec
7791cfd960
Drop m_ from lock
2021-01-30 21:19:49 +11:00
Chloe Marcec
3bf62c7a8a
Move to GetGlobalTimeNs, fix GetTotalPhysicalMemoryAvailable
2021-01-30 21:03:10 +11:00
Chloe Marcec
3be1a565f8
kernel: Rewrite resource limit to be more accurate
...
Matches closer to hardware
2021-01-30 20:40:49 +11:00
bunnei
a4526c4e1a
Merge pull request #5779 from bunnei/kthread-rewrite
...
Rewrite KThread to be more accurate
2021-01-29 23:06:40 -08:00
bunnei
5861bacafd
Merge pull request #5795 from ReinUsesLisp/bytes-to-map-end
...
video_core/memory_manager: Add BytesToMapEnd
2021-01-29 22:56:29 -08:00
Morph
f67cfebada
Merge pull request #5838 from german77/prepostub
...
prepo: Stub GetSystemSessionId
2021-01-30 14:19:59 +08:00
german
9150b8972e
Stub GetSystemSessionId
2021-01-29 18:41:28 -06:00
bunnei
650734cc3e
Merge pull request #5805 from german77/HandheldFix
...
Fix connect and disconnect controller events
2021-01-29 16:39:01 -08:00
ameerj
ef8b3623f5
analog_from_button: Fix update_thread.join exception
...
This commit aims to address an exception that occurs when trying to join the Analog object's update_thread.
By using an atomic bool for the status of the update thread, we ensure its value is consistent across the threads accessing it.
2021-01-29 18:41:22 -05:00
bunnei
b786568c5a
Merge pull request #5809 from ogniK5377/FlushAudioOutBuffers
...
audout: FlushAudioOutBuffers
2021-01-28 21:54:46 -08:00
bunnei
543e212554
hle: kernel: KLightLock: Fix several bugs.
2021-01-28 21:53:21 -08:00
bunnei
8d1afcb90f
common: common_funcs: Change R_UNLESS to LOG_ERROR.
2021-01-28 21:51:16 -08:00
bunnei
c8fe8247ee
arm: dynarmic: Reintroduce JIT checks on SaveContext/LoadContext.
2021-01-28 21:50:39 -08:00
bunnei
e24c6dab93
hle: kernel: KThread: Release thread resource on thread exit.
2021-01-28 21:49:47 -08:00
bunnei
10738839ad
yuzu: debugger: Ignore HLE threads.
2021-01-28 21:42:27 -08:00
bunnei
3856564727
hle: kernel: process: Add state lock.
2021-01-28 21:42:26 -08:00
bunnei
ff46ef7ea3
hle: kernel: threading: Fix bug with host thread naming.
2021-01-28 21:42:26 -08:00
bunnei
6ee8340a6b
hle: kernel: k_scheduler_lock: Cleanup.
2021-01-28 21:42:26 -08:00
bunnei
055194d2ab
core: arm: Remove unnecessary JIT checks.
2021-01-28 21:42:26 -08:00
bunnei
091e9e8c41
common: common_funcs: Log error on R_UNLESS.
2021-01-28 21:42:26 -08:00
bunnei
6e953f7f02
hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.
2021-01-28 21:42:26 -08:00
bunnei
37f74d8741
hle: kernel: k_scheduler: Use atomics for current_thread, etc.
2021-01-28 21:42:26 -08:00
bunnei
f6b10fad63
hle: kernel: k_scheduler: Fix for single core mode.
2021-01-28 21:42:26 -08:00
bunnei
0a1449e04b
kernel: Fix build errors.
2021-01-28 21:42:26 -08:00
bunnei
89a5ae92bd
core: cpu_manager: Remove unused variable.
2021-01-28 21:42:26 -08:00
bunnei
ca78f77827
hle: kernel: KScheduler: Introduce thread context_guard.
2021-01-28 21:42:26 -08:00
bunnei
cdd14b03e5
hle: kernel: Recode implementation of KThread to be more accurate.
2021-01-28 21:42:26 -08:00
bunnei
1470338458
kernel: svc_types: Add ThreadActivity.
2021-01-28 21:42:26 -08:00
bunnei
1772ebeb1e
kernel: KSchedulerPriorityQueue: Lowest priority should be LowestThreadPriority.
2021-01-28 21:42:26 -08:00
bunnei
1f99f5473c
kernel: k_light_lock: Simplify EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
c0f5830323
hle: kernel: TimeManager: Simplify to not rely on previous EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
bb966d3e33
common: common_funcs: Add useful kernel macro R_SUCCEED_IF.
2021-01-28 21:42:26 -08:00
bunnei
ff186b2498
core: hle: kernel: object: Implement Finalize() virtual method.
2021-01-28 21:42:26 -08:00
bunnei
33b4930280
core: hle: kernel: svc_results: Populate with several missing error codes.
2021-01-28 21:42:26 -08:00
bunnei
5a4fc4a529
core: hle: kernel: Implement KLightLock.
2021-01-28 21:42:26 -08:00
bunnei
97129bc742
core: hle: kernel: Implement KThreadQueue.
2021-01-28 21:42:25 -08:00
bunnei
2fb77adb9f
common: common_funcs: Add a few more useful macros for kernel code.
2021-01-28 21:42:25 -08:00
bunnei
4dbf3f4880
hle: kernel: KThread: Clean up thread priorities.
2021-01-28 21:42:25 -08:00
bunnei
1e55498110
hle: kernel: KThread: Reorganize thread priority defaults.
2021-01-28 21:42:25 -08:00
bunnei
0530292b97
hle: kernel: KThread: Fix ThreadType definition.
2021-01-28 21:42:25 -08:00
bunnei
4782985013
hle: kernel: Move single core "phantom mode" out of KThread.
...
- This is a workaround that does not belong in a kernel primitive.
2021-01-28 21:42:25 -08:00
bunnei
eea346ba8e
hle: kernel: KThread: Remove thread types that do not exist.
2021-01-28 21:42:25 -08:00
bunnei
9a4e148f9e
arm: arm_dynarmic: Skip calls when JIT is invalid.
...
- This can happen if called from an idle or suspension thread.
2021-01-28 21:42:25 -08:00
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
2021-01-28 21:42:25 -08:00
german
8ba0cac71c
Fix user changing to 0 if valid
2021-01-28 21:02:25 -06:00
bunnei
df41e78205
Merge pull request #5837 from german77/socketstub
...
sockets: Stub GetSockOpt
2021-01-28 16:28:11 -08:00
german
7b8fa78c65
Avoid overwritting username
2021-01-28 16:58:53 -06:00
LC
16818e952c
Merge pull request #5836 from ReinUsesLisp/unaligned-constr-sched
...
vk_scheduler: Fix unaligned placement new expressions
2021-01-28 10:53:15 -05:00
LC
9f6290d207
Merge pull request #5840 from Morph1984/prepo-fix
...
prepo: Fix BufferDescriptorX invalid buffer index errors and add New variants of SaveReport
2021-01-28 10:52:44 -05:00
LC
0e125dfd43
Merge pull request #5835 from Morph1984/cleanup-sixaxis-fusion
...
hid: Cleanup SixAxisFusionParameters
2021-01-28 10:51:04 -05:00
Morph
4921ba05db
hid: Add static_assert for Parameter size
2021-01-28 09:41:43 -05:00
Morph
ae6b3bdfbf
prepo: Fix BufferDescriptorX invalid buffer errors and add "New" variants of SaveReport
...
The second input buffer could be optional when prepo/srepo is called, test for the availability of the second buffer prior to reading from it.
2021-01-28 01:32:24 -05:00
Morph
008afa5d59
hle_ipc: Add Can(Read, Write)Buffer
...
Allows us to test whether a buffer can be read from or written to memory
2021-01-28 01:32:24 -05:00
german
659b5f8088
Stub GetSockOpt
2021-01-27 23:18:20 -06:00
ReinUsesLisp
9e88ad8da9
vk_scheduler: Fix unaligned placement new expressions
...
We were accidentaly creating an object in an unaligned memory address.
Fix this by manually aligning the offset.
2021-01-27 22:28:22 -03:00
bunnei
45b13c3037
Merge pull request #5786 from ReinUsesLisp/glsl-cbuf
...
gl_shader_decompiler: Fix constant buffer size calculation
2021-01-27 15:27:53 -08:00
Rodrigo Locatti
ef6cc3aa1d
vulkan_device: Blacklist Intel from float16 math ( #5798 )
...
Astral Chain crashes Intel's SPIR-V compiler when using fp16.
Disable this while the vendor works on a fix.
2021-01-27 13:31:32 -08:00
bunnei
28b822fe38
Merge pull request #5778 from ReinUsesLisp/shader-dir
...
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
2021-01-27 11:34:21 -08:00
Morph
d4d39aa4c7
npad: Remove unused device handle parameter
2021-01-27 13:05:31 -05:00
bunnei
fb0fe3b8c3
Merge pull request #5812 from german77/StubSixaxisFusion
...
HID: Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-26 15:58:04 -08:00
bunnei
09b6f03592
Merge pull request #5810 from ogniK5377/stereo-vision
...
hle: Implement remaining services for Stereo Vision
2021-01-26 15:01:01 -08:00
bunnei
72c1cb85f1
Merge pull request #5824 from ogniK5377/IPsmSession
...
psm: IPsmSession
2021-01-26 11:11:29 -08:00
bunnei
64a5548454
Merge pull request #5774 from ogniK5377/mii-raw-random
...
mii: Fix BuildRandomStoreData & Cleanup raw_data
2021-01-25 16:41:20 -08:00
bunnei
81a037df9d
Merge pull request #5771 from ogniK5377/lm-rework
...
lm: Recode LM service
2021-01-25 10:18:09 -08:00
Chloe Marcec
2c57f0fbd5
Omit system reference
2021-01-25 23:13:37 +11:00
Chloe Marcec
04e9486651
psm: IPsmSession
...
Used by homebrew menu
2021-01-25 21:37:51 +11:00
bunnei
2a2ee62cfd
Merge pull request #5799 from ogniK5377/event-register-unregister
...
nvdrv: Unregister already registered events
2021-01-24 23:19:10 -08:00
bunnei
62766b1326
Merge pull request #5785 from ReinUsesLisp/buffer-dma
...
video_core/memory_manager: Flush destination buffer on CopyBlock
2021-01-24 22:57:00 -08:00
ReinUsesLisp
34c3ec2f8c
Revert "Start of Integer flags implementation"
...
This reverts #4713 . The implementation in that PR is not accurate.
It does not reflect the behavior seen in hardware.
2021-01-25 02:48:03 -03:00
ReinUsesLisp
9dc4a80b17
vk_graphics_pipeline: Fix narrowing conversion on MSVC
2021-01-24 21:41:29 -03:00
LC
df0d8c45d2
Merge pull request #5807 from ReinUsesLisp/vc-warnings
...
video_core: Silence the remaining gcc warnings and enforce them
2021-01-24 17:36:43 -05:00
Rodrigo Locatti
b769b1be26
Merge pull request #5363 from ReinUsesLisp/vk-image-usage
...
vk_texture_cache: Support image store on sRGB images with VkImageViewUsageCreateInfo
2021-01-24 18:44:51 -03:00
bunnei
44c5ea3639
Merge pull request #5151 from comex/xx-vfs
...
vfs_real: When moving files or directories, don't assume file opening will succeed
2021-01-24 13:42:51 -08:00
ReinUsesLisp
6b00443bc1
vk_texture_cache: Support image store on sRGB images with VkImageViewUsageCreateInfo
...
Vulkan 1.0 didn't support creating sRGB image views on an ABGR8 VkImage
with storage usage bits. VK_KHR_maintenance2 addressed this allowing to
reduce the usage bits on a VkImageView.
To allow image store on non-sRGB image views when the VkImage is created
with sRGB, always create VkImages without sRGB and add the sRGB format
on the view.
2021-01-24 18:16:43 -03:00
ReinUsesLisp
6a0143400f
vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNA
...
It seems to be safe to use this on new drivers.
2021-01-24 20:21:11 -03:00
ReinUsesLisp
748551dafb
cmake: Enforce -Warray-bounds and -Wmissing-field-initializers globally
2021-01-24 17:31:29 -03:00
bunnei
19c14589d3
Merge pull request #5796 from ReinUsesLisp/vertex-a-bypass-vk
...
vk_pipeline_cache: Properly bypass VertexA shaders
2021-01-24 11:22:58 -08:00
german
a8245cf2f1
Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-24 11:28:52 -06:00
Chloe Marcec
2afc1060ef
Print Process ID and Thread ID as hex
2021-01-25 02:47:40 +11:00
Chloe Marcec
5882cc0502
hle: Implement remaining services for Stereo Vision
...
Used by Zelda Breath of the Wild, Super Mario Odyssey and Nintendo Labo
2021-01-25 00:34:01 +11:00
LC
04dcada85f
Merge pull request #5808 from ReinUsesLisp/glslang-quiet
...
host_shaders/cmake: Pass --quiet to glslang to keep it quiet
2021-01-24 05:01:10 -05:00
Chloe Marcec
b2b95e96c1
audout: FlushAudioOutBuffers
...
Fixes Devil May Cry
2021-01-24 19:13:34 +11:00
ReinUsesLisp
f81c783b5b
host_shaders/cmake: Pass --quiet to glslang to keep it quiet
...
Silences noisy builds on toolchains.
2021-01-24 04:55:23 -03:00
ReinUsesLisp
cc4335a9c6
video_core/cmake: Enforce -Warray-bounds and -Wmissing-field-initializers
2021-01-24 04:42:41 -03:00
bunnei
f7ac4e1eb4
Merge pull request #5806 from bunnei/am-stub
...
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
2021-01-23 23:37:05 -08:00
ReinUsesLisp
1b76e7e890
video_core: Silence -Wmissing-field-initializers warnings
2021-01-24 04:32:19 -03:00
ReinUsesLisp
80a673a27f
maxwell_3d: Silence array bounds warnings
2021-01-24 04:31:41 -03:00
ReinUsesLisp
ad48259d7e
maxwell_to_vk: Silence -Wextra warnings about using different enum types
2021-01-24 04:03:36 -03:00
german
3b4da2d7fa
Fix connect and disconnect controller events
2021-01-23 22:59:44 -06:00
comex
e9bb95ae16
vfs_real: When moving files or directories, don't assume file opening will succeed
...
Found this via a warning, but it's a substantive fix.
Since this is only for a cache, it should be safe to silently drop the
entry if opening fails. I think.
2021-01-23 16:19:29 -05:00
Levi Behunin
9477d23d70
shader_ir: Fix comment typo
2021-01-23 13:16:37 -05:00
Morph
5942d206c2
sdl_impl: Set the maximum vibration duration to 1 second
2021-01-23 08:06:07 -05:00
Chloe Marcec
822edff5bd
Simplify condition
2021-01-23 22:12:05 +11:00
Chloe Marcec
3b0458a7a5
nvdrv: Unregister already registered events
2021-01-23 22:02:14 +11:00
LC
65f821850e
Merge pull request #5797 from ReinUsesLisp/nsight-aftermath-build
...
nsight_aftermath_tracker: Fix build issues when enabled
2021-01-23 05:40:50 -05:00
Chloe Marcec
df42100320
Clamp string reads to buffer size
2021-01-23 18:24:57 +11:00
ReinUsesLisp
966896daad
video_core/cmake: Properly generate fatal errors on Aftermath
...
Fix "message(ERROR ..." to "message(FATAL_ERROR ..." to properly stop
cmake when Nsight Aftermath can't be configured.
2021-01-23 04:15:30 -03:00
ReinUsesLisp
625a011888
nsight_aftermath_tracker: Fix build issues when enabled
...
Fixes a bunch of build errors when Nsight Aftermath is properly enabled.
2021-01-23 04:13:39 -03:00
bunnei
12355cbf02
Merge pull request #5776 from ogniK5377/lbl
...
lbl: Implement most of lbl
2021-01-22 23:13:23 -08:00
ReinUsesLisp
37ef2ee595
vk_pipeline_cache: Properly bypass VertexA shaders
...
The VertexA stage is not yet implemented, but Vulkan is adding its
descriptors, causing a discrepancy in the pushed descriptors and the
template. This generally ends up in a driver side crash.
Bypass the VertexA stage for now.
2021-01-23 03:59:59 -03:00
bunnei
302a5f00e8
Merge pull request #4713 from behunin/int-flags
...
Start of Integer flags implementation
2021-01-22 21:57:14 -08:00