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
bunnei
981d8e82d2
Merge pull request #5765 from ogniK5377/StoreSaveDataThumbnail-stub
...
acc: Stub StoreSaveDataThumbnail
2021-01-22 21:51:54 -08:00
ReinUsesLisp
bda177ef40
video_core/memory_manager: Add BytesToMapEnd
...
Track map address sizes in a flat ordered map and add a method to query
the number of bytes until the end of a map in a given address.
2021-01-22 18:31:12 -03:00
bunnei
1e9b1d439f
common: Add missing include to bit_util.h
2021-01-21 15:30:28 -08:00
ReinUsesLisp
436457b6e7
gl_shader_decompiler: Fix constant buffer size calculation
...
The divide logic was wrong and can cause an uniform buffer size
overflow.
2021-01-21 19:47:41 -03:00
bunnei
2c4c7aea8a
Merge pull request #5781 from lioncash/bits
...
bit_util: Unify implementations of MostSignificantBit32/MostSignificantBit64
2021-01-21 14:45:40 -08:00
ReinUsesLisp
b7febb5625
video_core/memory_manager: Remove unused CopyBlockUnsafe
...
This function was not being used.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
0e9a6759f9
video_core/memory_manager: Flush destination buffer on CopyBlock
...
When we copy into a buffer, it might contain data modified from the GPU
on the same pages. Because of this, we have to flush the contents before
writing new data.
An alternative approach would be to write the data in place, but games
can also write data in other ways, invalidating our contents.
Fixes geometry in Zombie Panic in Wonderland DX.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
dd790abab0
video_core/memory_manager: Add GPU address based flush method
...
Allow flushing rasterizer contents based on a GPU address.
2021-01-21 19:16:05 -03:00
Lioncash
6ff2db181f
bit_util: Unify implementations of MostSignificantBit32/MostSignificantBit64
...
We can use the standardized CLZ facilities to perform this. This also
allows us to make utilizing functions constexpr and eliminate the
inclusion of an intrinsics header.
2021-01-21 04:07:58 -05:00
bunnei
a1335d3d51
Merge pull request #5270 from german77/multiTouch
...
HID: Add multitouch support
2021-01-20 22:39:01 -08:00
bunnei
ffbde909c8
Merge pull request #5361 from ReinUsesLisp/vk-shader-comment
...
vk_shader_decompiler: Show comments as OpUndef with a type
2021-01-20 21:33:42 -08:00
bunnei
f83ef80ebd
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
...
- Used by Monster Hunter Rise demo.
2021-01-20 20:35:12 -08:00
ReinUsesLisp
51512d01d8
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
...
Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to
be in yuzu's user directory to stop commonly distributed malware from
deleting our driver shader cache. And by setting
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader
cache size.
This has only been implemented on Windows, mostly because previous tests
didn't seem to work on Linux.
Disable the precompiled cache on Nvidia's driver. There's no need to
hide information the driver already has in its own cache.
2021-01-21 00:41:03 -03:00
bunnei
d98b0f8f48
Merge pull request #5743 from german77/HandheldFix
...
Fix player 1 turning on handheld and not updating handheld settings
2021-01-20 17:05:44 -08:00
Chloe Marcec
c795207fb2
lbl: Implement most of lbl
...
Pretty basic service, only thing left to do is handle setting applying once set:sys is implemented
2021-01-21 00:46:03 +11:00
Chloe Marcec
5b8bc56e65
mii: Fix BuildRandomStoreData & Cleanup raw_data
...
Cleaned up mii raw data to reflect the underlying values instead of just a chunk of bytes.
Fixed BuildRandomStoreData not actually generating random miis properly. "values" should be a u32, not a u8.
2021-01-20 21:53:57 +11:00
Chloe Marcec
dc18a1261c
Mark DestinationToString as static
2021-01-20 18:42:39 +11:00
Chloe Marcec
dca2e2c8f1
Mark LogPacketHeaderEntry hash as noexcept
2021-01-20 18:35:58 +11:00
Chloe Marcec
83f8c1a25e
lm: Recode LM service
...
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
2021-01-20 18:25:15 +11:00
bunnei
4cd8b2f1f7
Merge pull request #5755 from FearlessTobi/port-5344
...
Port citra-emu/citra#5344 : "game_list: Fix folder reordering"
2021-01-19 10:53:18 -08:00
Chloe Marcec
2d33b2c55a
acc: Stub StoreSaveDataThumbnail
...
Fixes ACA NEOGEO METAL SLUG hanging on boot.
2021-01-19 20:56:18 +11:00
Rodrigo Locatti
2ef4591e58
Merge pull request #5746 from lioncash/sign-compare
...
texture_cache/util: Resolve -Wsign-compare warning
2021-01-18 03:49:58 -03:00
LC
f1b58f0cd9
Merge pull request #5754 from lat9nq/fix-disable-boxcat
...
configure_service: Only compile FormatEventStatusString when YUZU_ENABLE_BOXCAT is enabled
2021-01-17 23:52:47 -05:00
Morph
4a67a5b917
npad: Add check for HANDHELD_INDEX in UpdateControllerAt()
2021-01-17 22:36:17 -05:00
german
e7c1d7bf77
Always update configuration for handheld
2021-01-17 18:40:27 -06:00
FearlessTobi
bf9f737c60
game_list: Fix folder reordering
...
The bug(s) happened because we swapped the contents on values.game_dirs, but the pointer each item had to their respective game_dir wasn't updated. This made it so that the item had the wrong game_dir associated with it after a "move up" or "move down" operation. It can be observed by choosing "open directory location" after such operation.
Changed from raw pointer to an index because it's equivalent but a bit clearer, but the change is not essential.
Co-Authored-By: Vitor K <29167336+vitor-k@users.noreply.github.com>
2021-01-18 01:22:54 +01:00
lat9nq
fb796843df
configure_service: Only compile FormatEventStatusString when YUZU_ENABLE_BOXCAT is enabled
...
The function is unused if YUZU_ENABLE_BOXCAT is disabled, causing a
-Wunused-funciton error when compiled.
Wrapping it with `#ifdef YUZU_ENABLE_BOXCAT` to prevent compiling the
function when the variable is disabled. Opting to not use [[maybe
unused]] in case the function is totally unused in the future.
2021-01-17 17:54:29 -05:00
german
0bd8cecc94
Fix player 1 default connected value
2021-01-17 12:55:28 -06:00
bunnei
e8401964b4
Merge pull request #5360 from ReinUsesLisp/enforce-memclass-access
...
core: Silence Wclass-memaccess warnings and enforce it
2021-01-17 00:55:10 -08:00
Rodrigo Locatti
132f2006af
Merge pull request #5745 from lioncash/documentation
...
video_core: Resolve -Wdocumentation warnings
2021-01-17 05:37:17 -03:00
Lioncash
5f4e7c77bd
texture_cache/util: Resolve -Wsign-compare warning
...
Resolves a -Wsign-compare warning on Clang.
2021-01-17 02:47:48 -05:00
Lioncash
40acc2c079
video_core: Resolve -Wdocumentation warnings
...
Silences some -Wdocumentation warnings on Clang.
2021-01-17 02:44:21 -05:00
Lioncash
c61b973968
vulkan_debug_callback: Add missing header guard
...
Prevents inclusion issues from occurring.
2021-01-17 02:39:24 -05:00
Rodrigo Locatti
0e0fc07135
Merge pull request #5740 from lioncash/const-fn
...
input_interpreter: Mark two member functions as const
2021-01-16 20:02:02 -03:00
Rodrigo Locatti
fd873fd369
Merge pull request #5262 from ReinUsesLisp/buffer-base
...
buffer_cache/buffer_base: Add a range tracking buffer container and tests
2021-01-16 19:48:26 -03:00
Lioncash
ca9afa3293
input_interpreter: Mark two member functions as const
...
These aren't stateful functions, so we can make use of const.
While we're at, we can resolve some -Wdocumentation warnings.
2021-01-16 16:08:35 -05:00
Morph
3c8f936b31
input_interpreter: Add method to check for a button press state
...
This allows to check for continuous input for the duration of a button press/hold
2021-01-16 10:34:39 -05:00
bunnei
a7fd61fcce
Merge pull request #5275 from FernandoS27/fast-native-clock
...
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-15 23:01:42 -08:00
bunnei
8def504d73
Merge pull request #5336 from lioncash/tree
...
common/tree: Convert defines over to templates
2021-01-15 21:46:25 -08:00
Rodrigo Locatti
c17ee0da5d
Merge pull request #5297 from ReinUsesLisp/vulkan-allocator-common
...
vulkan_memory_allocator: Improvements to the memory allocator
2021-01-15 21:50:05 -03:00
ReinUsesLisp
c3c7603076
vk_shader_decompiler: Show comments as OpUndef with a type
...
Silence the new validation layer error about SPIR-V not allowing OpUndef
on a OpTypeVoid, even when the SPIR-V spec doesn't say anything against
it.
They will be inserted as an undefined int to avoid SPIRV-Cross and
validation errors, but only when a debugging tool is attached.
2021-01-15 21:12:57 -03:00
LC
8be9e5b48b
Merge pull request #5358 from ReinUsesLisp/rename-insert-padding
...
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15 16:19:46 -05:00
ReinUsesLisp
5f517e3e16
core/cmake: Enforce Wclass-memaccess
...
Treat -Wclass-memaccess as an error.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
f8650a9580
core: Silence Wclass-memaccess warnings
...
This requires making several types trivial and properly initialize
them whenever they are called.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
3ff978aa4f
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
...
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15 16:27:28 -03:00
ReinUsesLisp
301e2b5b7a
vulkan_memory_allocator: Remove unnecesary 'device' memory from commits
2021-01-15 16:19:40 -03:00
ReinUsesLisp
432f045dba
vk_texture_cache: Use Download memory types for texture flushes
...
Use the Download memory type where it matters.
2021-01-15 16:19:40 -03:00
ReinUsesLisp
8f22f5470c
vulkan_memory_allocator: Add allocation support for download types
...
Implements the allocator logic to handle download memory types. This
will try to use HOST_CACHED_BIT when available.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
72541af3bc
vulkan_memory_allocator: Add "download" memory usage hint
...
Allow users of the allocator to hint memory usage for downloads. This
removes the non-descriptive boolean passed for "host visible" or not
host visible memory commits, and uses an enum to hint device local,
upload and download usages.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
fade63b58e
vulkan_common: Move allocator to the common directory
...
Allow using the abstraction from the OpenGL backend.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
c2b550987b
renderer_vulkan: Rename Vulkan memory manager to memory allocator
...
"Memory manager" collides with the guest GPU memory manager, and a
memory allocator sounds closer to what the abstraction aims to be.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
e996f1ad09
vk_memory_manager: Improve memory manager and its API
...
Fix a bug where the memory allocator could leave gaps between commits.
To fix this the allocation algorithm was reworked, although it's still
short in number of lines of code.
Rework the allocation API to self-contained movable objects instead of
naively using an unique_ptr to do the job for us. Remove the VK prefix.
2021-01-15 16:19:36 -03:00
bunnei
f728a504aa
Merge pull request #5355 from lioncash/timer
...
common/timer: Remove
2021-01-15 09:42:33 -08:00
german
b483f2d010
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
8495e1bd83
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
d8df9a16bd
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
german
390ee10eef
Allow all touch inputs at the same time and remove config options that are not longer necesary
2021-01-15 09:05:17 -06:00
german
d583e01f54
Add multitouch support
2021-01-15 09:03:39 -06:00
LC
9754a8145c
Merge pull request #5357 from ReinUsesLisp/alignment-log2
...
common/alignment: Rename AlignBits to AlignUpLog2 and use constraints
2021-01-15 03:12:36 -05:00
Lioncash
8620de6b20
common/bit_util: Replace CLZ/CTZ operations with standardized ones
...
Makes for less code that we need to maintain.
2021-01-15 02:15:32 -05:00
ReinUsesLisp
89c15dd115
common/alignment: Upgrade to use constraints instead of static asserts
2021-01-15 04:13:39 -03:00
ReinUsesLisp
fe494a0ccd
common/alignment: Rename AlignBits to AlignUpLog2
...
AlignUpLog2 describes what the function does better than AlignBits.
2021-01-15 04:13:33 -03:00
Lioncash
91084d9396
common/timer: Remove
...
This is a leftover from citra and dolphin that isn't used at all,
particularly given the <chrono> header exists.
2021-01-15 01:55:33 -05:00
LC
c8bf0caca0
Merge pull request #5354 from ReinUsesLisp/remove-common-color
...
common/color: Remove
2021-01-15 01:54:22 -05:00
LC
6676687694
Merge pull request #5352 from ReinUsesLisp/remove-tester
...
cmake: Remove yuzu_tester
2021-01-15 01:48:02 -05:00
ReinUsesLisp
95fa57f007
common/color: Remove
...
This is a leftover from Citra we no longer use.
2021-01-15 03:47:43 -03:00
ReinUsesLisp
fb99446f24
core/cmake: Remove Werror flags already defined code-base wide
2021-01-15 03:39:24 -03:00
ReinUsesLisp
cc2c3e447f
video_core/cmake: Remove Werror flags already defined code-base wide
...
These flags are already defined in src/cmake.
2021-01-15 03:37:34 -03:00
LC
28e78d81b2
Merge pull request #5351 from ReinUsesLisp/vc-unused-functions
...
cmake: Enforce -Wunused-function code-base wise
2021-01-15 01:36:51 -05:00
Rodrigo Locatti
185388f341
Merge pull request #5350 from ReinUsesLisp/vk-init-warns
...
vulkan_common: Silence missing initializer warnings
2021-01-15 03:32:01 -03:00
LC
76b465f3ef
Merge pull request #5349 from ReinUsesLisp/anv-fix
...
vulkan_device: Enable shaderStorageImageMultisample conditionally
2021-01-15 01:17:00 -05:00
ReinUsesLisp
af540b0057
cmake: Remove yuzu_tester
...
We never ended up using yuzu_tester.
Removing it saves code duplication with yuzu_cmd, and distribution size on
prebuilt packages.
For unit testing, we can use catch2 from guest code and dump the results
to a file. Then execute yuzu from a script on ci if we want this to be
automated.
2021-01-15 03:14:44 -03:00
ReinUsesLisp
06e0506cb3
cmake: Enforce -Wunused-function code-base wide
2021-01-15 03:09:48 -03:00
ReinUsesLisp
71264ce9a7
video_core: Enforce -Wunused-function
...
Stops us from merging code with unused functions in the future.
If something is invoked behind conditionally evaluated code in
a way that the language can't see it (e.g. preprocessor macros), the
potentially unused function should use [[maybe_unused]].
2021-01-15 02:59:25 -03:00
ReinUsesLisp
3e03391a49
vk_buffer_cache: Remove unused function
2021-01-15 02:58:55 -03:00
ReinUsesLisp
be8fd5490e
vulkan_common: Silence missing initializer warnings
...
Silence warnings explicitly initializing all members on construction.
2021-01-15 02:55:11 -03:00
ReinUsesLisp
ba2ea7eeac
vulkan_device: Enable shaderStorageImageMultisample conditionally
...
Fix Vulkan initialization on ANV.
2021-01-15 02:47:05 -03:00
ReinUsesLisp
22be115eb2
astc: Increase integer encoded vector size
...
Invalid ASTC textures seem to write more bytes here, increase
the size to something that can't make us push out of bounds.
2021-01-15 02:24:36 -03:00
ReinUsesLisp
0ec71b78fb
astc: Return zero on out of bound bits
...
Avoid out of bound reads on invalid ASTC textures.
Games can bind invalid textures that make us read or write out of bounds.
2021-01-15 02:24:36 -03:00
Lioncash
e11e1dcf2d
yuzu: Remove unused variables in Qt code
...
Removes two unused variables in out Qt code. In this case the removal of
these two results in less allocations, given std::map allocates on the
heap.
2021-01-14 03:05:41 -05:00
Morph
f1e278c30f
Merge pull request #5343 from lioncash/qt6
...
configure_motion_touch: Migrate off QRegExp to QRegularExpression
2021-01-14 15:30:26 +08:00
Lioncash
45aee996c1
configure_motion_touch: Prevent use after move in ApplyConfiguration()
...
touch_engine was being compared against after being moved into the
setter for the engine, so this comparison wouldn't behave properly.
2021-01-13 22:37:40 -05:00
Lioncash
a2952ac213
configure_motion_touch: Migrate off QRegExp to QRegularExpression
...
QRegularExpression was introduced in Qt 5 as a better replacement for
QRegExp. In Qt 6.0 QRegExp is removed entirely.
To remain forward compatible with Qt 6.0, we can transition over to
using QRegularExpression.
2021-01-13 22:25:52 -05:00
LC
5e35c69f35
Merge pull request #5330 from german77/regexerror
...
Fix IP validator error
2021-01-13 22:08:42 -05:00
bunnei
2c2ef9252f
Merge pull request #5342 from lioncash/qt6
...
yuzu: Migrate off of setMargin() to setContentsMargins()
2021-01-13 10:44:21 -08:00
german
06cf705501
Fix IP validator error where the last octet produced an error if the value was higher than 199
2021-01-13 11:02:28 -06:00
Lioncash
0d7de7c2db
yuzu: Migrate off of setMargin() to setContentsMargins()
...
setMargin() has been deprecated since Qt 5, and replaced with
setContentsMargins(). We can move over to setContentsMargins() to stay
forward-compatible with Qt 6.0.
2021-01-13 07:29:59 -05:00
ReinUsesLisp
d9a15a935b
vulkan_device: Remove requirement on shaderStorageImageMultisample
...
yuzu doesn't currently emulate MS image stores. Requiring this makes no
sense for now. Fixes ANV not booting any games on Vulkan.
2021-01-13 06:21:33 -03:00
ReinUsesLisp
7bd603061c
tests: Add unit tests for the GPU range tracking buffer container
...
Due to how error prone the container design is, this commit adds unit
tests for it.
Some tests taken from here are based on bugs from using this buffer
container in games, so if we ever break it in the future in a way that
might harm games, the tests should fail.
2021-01-13 04:31:40 -03:00
ReinUsesLisp
a4bfae1b55
buffer_cache/buffer_base: Add a range tracking buffer container
...
It keeps track of the modified CPU and GPU ranges on a CPU page
granularity, notifying the given rasterizer about state changes
in the tracking behavior of the buffer.
Use a small vector optimization to store buffers smaller than 256 KiB
locally instead of using free store memory allocations.
2021-01-13 04:14:58 -03:00
Morph
2b98da2ed4
cmake: Enforce -Werror=switch and -Werror=unused-variable
2021-01-13 01:57:18 -05:00
bunnei
0fb19e9bef
Merge pull request #5280 from FearlessTobi/port-5666
...
Port citra-emu/citra#5666 : "Rotate previous log file to "citra_log.txt.old""
2021-01-12 22:16:57 -08:00
bunnei
de1a316369
Merge pull request #5311 from ReinUsesLisp/fence-wait
...
vk_fence_manager: Use timeline semaphores instead of spin waits
2021-01-12 21:00:05 -08:00
Lioncash
b15e1a3501
common/tree: Convert defines over to templates
...
Reworks the tree header to operate off of templates as opposed to a
series of defines.
This allows all tree facilities to obey namespacing rules, and also
allows this code to be used within modules once compiler support is in
place.
This also gets rid to use a macro to define functions and structs for
necessary data types. With templates, these will be generated when
they're actually used, eliminating the need for the separate
declaration.
2021-01-12 16:46:36 -05:00
Lioncash
197b5d19bc
common/tree: Remove unused splay tree defines
...
Makes for less code to take care of.
2021-01-12 02:32:41 -05:00
Lioncash
703c57a119
common/parent_of_member: Replace TYPED_STORAGE define with template alias
...
Provides the same construct, but makes it obey namespacing.
2021-01-11 18:26:04 -05:00
bunnei
03dfc8d8e7
hle: kernel: thread: Preserve thread wait reason for debugging only.
...
- This is decoupled from core functionality and used for debugging only.
2021-01-11 14:23:17 -08:00
bunnei
81c1bfafea
yuzu: debugger: wait_tree: Handle unknown ThreadState.
2021-01-11 14:23:16 -08:00
bunnei
6b2f653143
hle: kernel: k_scheduler_lock: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
354130cd84
core: arm: arm_interface: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
82f6037ec2
core: hle: Add missing calls to MicroProfileOnThreadExit.
2021-01-11 14:23:16 -08:00
bunnei
912dd50146
core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.
2021-01-11 14:23:16 -08:00
bunnei
952d1ac487
core: hle: kernel: Update KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
b4e6d6c385
core: hle: kernel: Update KConditionVariable.
2021-01-11 14:23:16 -08:00
bunnei
1212fa60b6
core: hle: kernel: Begin moving common SVC defintions to its own header.
2021-01-11 14:23:16 -08:00
bunnei
8a155c4058
hle: kernel: Remove unnecessary AddressArbiter definition.
2021-01-11 14:23:16 -08:00
bunnei
92d5c63f01
common: common_funcs: Add R_UNLESS macro.
2021-01-11 14:23:16 -08:00
bunnei
f12701b303
hle: kernel: k_scheduler: Cleanup OnThreadPriorityChanged.
2021-01-11 14:23:16 -08:00
bunnei
d1309fb275
hle: kernel: Rename thread "status" to "state".
2021-01-11 14:23:16 -08:00
bunnei
c3c43e32fc
hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.
...
- This is how the real kernel works, and is more accurate and simpler.
2021-01-11 14:23:16 -08:00
bunnei
7420a717e6
core: hle: kernel: Add some useful functions for checking kernel addresses.
2021-01-11 14:23:16 -08:00
bunnei
4bbf173fc1
core: hle: kernel: svc_types: Add type definitions for KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
fb43b8efd2
common: Introduce useful tree structures.
2021-01-11 14:23:16 -08:00
bunnei
35c3c078e3
core: hle: kernel: Update KSynchronizationObject.
2021-01-11 14:23:16 -08:00
bunnei
1ae883435d
core: hle: kernel: Begin moving common SVC results to its own header.
2021-01-11 14:23:16 -08:00
bunnei
8fc6e92ef1
hle: service: nfp: Remove incorrect signaling behavior in GetDeviceState.
2021-01-11 14:23:16 -08:00
Levi
7a3c884e39
Merge remote-tracking branch 'upstream/master' into int-flags
2021-01-10 22:09:56 -07:00
bunnei
46cd71d1c7
Merge pull request #5229 from Morph1984/fullscreen-opt
...
yuzu/main: Add basic command line arguments
2021-01-10 18:53:04 -08:00
LC
5e161b2531
Merge pull request #5324 from Morph1984/docked-default
...
config: Enable docked mode by default
2021-01-10 20:51:33 -05:00
bunnei
32df83e55d
Merge pull request #5312 from german77/overclockenabled
...
apm: Stub IsCpuOverclockEnabled
2021-01-10 14:30:13 -08:00
Morph
05f58144c9
config: Enable docked mode by default
2021-01-10 09:37:38 -05:00
Morph
25724898d0
cmake: Enforce C4101
...
This matches GCC's -Wunused-variable
2021-01-10 01:16:25 -05:00
Morph
e07540264d
yuzu_cmd: Silence unreferenced local variable warning
2021-01-10 01:10:36 -05:00
LC
0f932d30f5
Merge pull request #5320 from ReinUsesLisp/div-ceil-type
...
common/div_ceil: Return numerator type
2021-01-09 16:45:29 -05:00
Morph
4aae21e1e4
general: Resolve C4062 warnings on MSVC
2021-01-09 14:46:35 -05:00
ReinUsesLisp
c190586597
common/div_ceil: Return numerator type
...
Fixes instances where DivCeil(u32, u64) would surprisingly return u64,
instead of the more natural u32.
2021-01-09 03:16:10 -03:00
ReinUsesLisp
d7128845c9
cmake: Enforce C4062, C4265, C4388, and C5038
...
This should match some warnings we treat as errors on gcc and clang,
caching bugs early and reducing the number of instances where we have to
edit commits to make CI happy when developing from Windows.
2021-01-09 02:19:17 -03:00
ReinUsesLisp
c68d0dc851
file_sys/registered_cache: Silence virtual functions without override warnings
2021-01-09 00:04:12 -03:00
ReinUsesLisp
b4451c5e81
core: Silence unhandled enum in switch warnings
2021-01-08 23:21:07 -03:00
ReinUsesLisp
613b3671b7
tests/ring_buffer: Silence signed/unsigned mismatch warnings
2021-01-08 23:14:38 -03:00
bunnei
8eea7c1176
Merge pull request #5231 from ReinUsesLisp/dyn-bindings
...
renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state
2021-01-08 12:24:46 -08:00
german
385a4555d5
Stub IsCpuOverclockEnabled
2021-01-08 09:44:56 -06:00
ReinUsesLisp
154a7653f9
vk_fence_manager: Use timeline semaphores instead of spin waits
...
With timeline semaphores we can avoid creating objects. Instead of
creating an event, grab the current tick from the scheduler and flush
the current command buffer. When the fence has to be queried/waited, we
can do so against the master semaphore instead of spinning on an event.
If Vulkan supported NVN like events or fences, we could signal from the
command buffer and wait for that without splitting things in two
separate command buffers.
2021-01-08 02:47:28 -03:00
Ameer J
16392a23cc
remove inaccurate reference
...
Co-authored-by: LC <mathew1800@gmail.com>
2021-01-07 14:33:45 -05:00
ameerj
06cef3355e
fix for nvdec disabled, cleanup host1x
2021-01-07 14:33:45 -05:00
ameerj
2c27127d04
nvdec syncpt incorporation
...
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2021-01-07 14:33:45 -05:00
MerryMage
21199cb965
vulkan_library: Common::DynamicLibrary::Open is [[nodiscard]]
...
Ignore the return value on __APPLE__ systems as well
2021-01-07 17:37:47 +00:00
MerryMage
aace20afc7
texture_cache: Replace PAGE_SHIFT with PAGE_BITS
...
PAGE_SHIFT is a #define in system headers that leaks into user code on some systems
2021-01-07 16:51:34 +00:00
Morph
e8d40559d5
Merge pull request #5288 from ReinUsesLisp/workaround-garbage
...
gl_texture_cache: Avoid format views on Intel and AMD
2021-01-06 15:39:51 +08:00
bunnei
dc02b03c4a
Merge pull request #5293 from ReinUsesLisp/return-values
...
core: Enforce C4715 (not all control paths return a value)
2021-01-05 19:04:15 -08:00
bunnei
275b96a0e2
Merge pull request #5289 from ReinUsesLisp/vulkan-device
...
vulkan_common: Move device abstraction to the common directory and allow surfaceless devices
2021-01-05 17:44:56 -08:00
ReinUsesLisp
43d9f417ae
core: Enforce C4715 (not all control paths return a value)
2021-01-05 04:18:40 -03:00
ReinUsesLisp
4f13e270c8
core: Silence warnings when compiling without asserts
2021-01-05 04:18:16 -03:00
LC
2a6e6306d8
Merge pull request #5292 from ReinUsesLisp/empty-set
...
vk_rasterizer: Skip binding empty descriptor sets on compute
2021-01-04 21:32:57 -05:00
bunnei
4e6aa1cfdd
Merge pull request #5261 from gal20/hide_mouse_patch
...
yuzu/main: Fix 'Hide mouse on inactivity' and port citra-emu/citra#5476
2021-01-04 17:19:04 -08:00
ReinUsesLisp
1ccf805367
vk_rasterizer: Skip binding empty descriptor sets on compute
...
Fixes unit tests where compute shaders had no descriptors in the set,
making Vulkan drivers crash when binding an empty set.
2021-01-04 17:56:39 -03:00
ameerj
6b354ccaee
buffer_queue: Protect queue_sequence list access with a mutex
...
fixes a data race as this is an unprotected variable manipulated by multiple threads
2021-01-04 01:36:41 -05:00
FearlessTobi
8e77d331be
yuzu/configure_filesystem: Remove "Select Cache Directory" option
...
This tab of the settings is already extremely bloated and the setting itself is quite useless.
With a gamelist of almost 30 games, the cache directory is smaller than 1MB for me and therefore I don't see why it needs to be configurable.
2021-01-04 06:29:48 +01:00
ReinUsesLisp
ac1e4734c2
vulkan_device: Allow creating a device without surface
2021-01-04 02:22:22 -03:00
ReinUsesLisp
d235cf3933
renderer_vulkan/nsight_aftermath_tracker: Move to vulkan_common
2021-01-04 02:22:22 -03:00
ReinUsesLisp
3753553b6a
renderer_vulkan: Move device abstraction to vulkan_common
2021-01-04 02:22:22 -03:00
Rodrigo Locatti
4801f4250d
Merge pull request #5286 from ReinUsesLisp/rename-vk-device
...
renderer_vulkan: Rename VKDevice to Device
2021-01-04 02:22:02 -03:00
ReinUsesLisp
7d904fef2e
gl_texture_cache: Avoid format views on Intel and AMD
...
Intel and AMD proprietary drivers are incapable of rendering to texture
views of different formats than the original texture. Avoid creating
these at a cache level. This will consume more memory, emulating them
with copies.
2021-01-04 02:06:40 -03:00
ReinUsesLisp
3a49c1a691
gl_texture_cache: Create base images with sRGB
...
This breaks accelerated decoders trying to imageStore into images with
sRGB. The decoders are currently disabled so this won't cause issues at
runtime.
2021-01-04 01:54:54 -03:00
FearlessTobi
beb951770a
Address review comments
2021-01-04 04:36:50 +01:00
xperia64
fd5776aac2
Delete the old log file before rotating ( #5675 )
2021-01-04 04:33:34 +01:00
Rodrigo Locatti
87a8925523
Merge pull request #5285 from lioncash/error-str
...
main: Resolve error string not displaying
2021-01-03 19:56:15 -03:00
ReinUsesLisp
974d731926
renderer_vulkan: Rename VKDevice to Device
...
The "VK" prefix predates the "Vulkan" namespace. It was carried around
the codebase for consistency. "VKDevice" currently is a bad alias with
"VkDevice" (only an upcase character of difference) that can cause
confusion. Rename all instances of it.
2021-01-03 17:51:48 -03:00
Rodrigo Locatti
7265e80c12
Merge pull request #5230 from ReinUsesLisp/vulkan-common
...
vulkan_common: Move reusable Vulkan abstractions to a separate directory
2021-01-03 17:38:29 -03:00
Lioncash
86592b274e
main: Resolve error string not displaying
...
During the transition to make the error dialog translatable, I
accidentally got rid of the conversion to ResultStatus, which prevented
operator<< from being invoked during formatting.
This adds a function to directly retrieve the result status string
instead so that it displays again.
2021-01-03 13:18:04 -05:00
bunnei
71e18dddbe
Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nan
...
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-03 03:27:29 -08:00
bunnei
f64456c7e2
Merge pull request #5279 from bunnei/buffer-queue-connect
...
hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.
2021-01-03 01:01:38 -08:00
bunnei
bf8bd60ab3
Fix the old log file to work with the log parser.
2021-01-03 01:44:52 +01:00
xperia64
f478a57737
Rotate previous log file to '.old' if it exists
2021-01-03 01:44:42 +01:00
bunnei
235b5d27ae
Merge pull request #5267 from lioncash/localize
...
main: Make the loader error dialog fully translatable
2021-01-02 15:44:32 -08:00
bunnei
beaa25d777
hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.
...
- This behavior is a mistake, fixes Katana Zero.
2021-01-02 15:42:16 -08:00
MerryMage
57c9da1b39
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-02 20:13:21 +00:00
Morph
a745d87971
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
Fernando Sahmkow
53d92318b8
X86/NativeClock: Reimplement RTDSC access to be lock free.
2021-01-02 04:00:27 +01:00
Fernando Sahmkow
d4f871cb6a
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-02 00:43:47 +01:00
bunnei
1ff341f3dc
Merge pull request #5209 from Morph1984/refactor-controller-connect
...
configure_input: Modify controller connection delay
2021-01-01 13:10:34 -08:00
Morph
904ac1daec
configure_input: Modify controller connection delay
...
Increases the controller connection delay to 60ms and refactors it to attempt to disconnect all controllers prior to connecting all controllers in HID.
2021-01-01 06:39:24 -05:00
MerryMage
6d30745d77
memory: Remove MemoryHook
2021-01-01 11:34:38 +00:00
bunnei
eb318ffffc
Merge pull request #5249 from ReinUsesLisp/lock-free-pages
...
core/memory: Read and write page table atomically
2021-01-01 02:54:01 -08:00
gal20
5dfb8743cb
yuzu/main: fix mouse not showing on move and port citra-emu/citra#5476
2020-12-31 21:16:09 +02:00
Lioncash
8c27a74132
main: Make the loader error dialog fully translatable
...
Makes the dialog fully localizable and also adds disambiguation comments
to help translators understand what the formatting specifiers indicate.
2020-12-31 12:44:31 -05:00
Lioncash
803ac4ca59
main: Tidy up enum comparison
...
enum classes are comparable with one another, so these casts aren't
necessary.
2020-12-31 10:21:15 -05:00
bunnei
60121d8f28
Merge pull request #5264 from 16-Bit-Dog/patch-1
...
Make the coding conventions more consistant
2020-12-31 01:46:53 -08:00
bunnei
fb41c82aaa
Merge pull request #5265 from german77/port5509
...
Port citra-emu/citra#5509 "Look at direction of analog axis travel instead of instantaneous sample"
2020-12-30 22:24:30 -08:00
bunnei
25d607f5f6
Merge pull request #5208 from bunnei/service-threads
...
Service threads
2020-12-30 22:06:05 -08:00
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