Lioncash
1b0b7e4873
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
d032b1a815
Merge pull request #5270 from german77/multiTouch
...
HID: Add multitouch support
2021-01-20 22:39:01 -08:00
bunnei
02dfcb4b8f
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
4daf48ffbf
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
...
- Used by Monster Hunter Rise demo.
2021-01-20 20:35:12 -08:00
ReinUsesLisp
5f0b72553b
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
867af3bf19
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
156e795758
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
3d4f05299e
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
4b0d52ae64
Mark DestinationToString as static
2021-01-20 18:42:39 +11:00
Chloe Marcec
c9f841adfd
Mark LogPacketHeaderEntry hash as noexcept
2021-01-20 18:35:58 +11:00
Chloe Marcec
5cbbf4f865
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
0f02201fb3
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
f78692a11f
acc: Stub StoreSaveDataThumbnail
...
Fixes ACA NEOGEO METAL SLUG hanging on boot.
2021-01-19 20:56:18 +11:00
Rodrigo Locatti
cd2d96edb6
Merge pull request #5746 from lioncash/sign-compare
...
texture_cache/util: Resolve -Wsign-compare warning
2021-01-18 03:49:58 -03:00
LC
7eaaaf5305
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
1ec37a7c7a
npad: Add check for HANDHELD_INDEX in UpdateControllerAt()
2021-01-17 22:36:17 -05:00
german
27dee554d5
Always update configuration for handheld
2021-01-17 18:40:27 -06:00
FearlessTobi
a4e67c9402
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
7b2314bab1
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
1b01f3199e
Fix player 1 default connected value
2021-01-17 12:55:28 -06:00
bunnei
2783c5b69e
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
06ca8264a8
Merge pull request #5745 from lioncash/documentation
...
video_core: Resolve -Wdocumentation warnings
2021-01-17 05:37:17 -03:00
Lioncash
bc509928d4
texture_cache/util: Resolve -Wsign-compare warning
...
Resolves a -Wsign-compare warning on Clang.
2021-01-17 02:47:48 -05:00
Lioncash
c7bd08aad1
video_core: Resolve -Wdocumentation warnings
...
Silences some -Wdocumentation warnings on Clang.
2021-01-17 02:44:21 -05:00
Lioncash
edb202eef8
vulkan_debug_callback: Add missing header guard
...
Prevents inclusion issues from occurring.
2021-01-17 02:39:24 -05:00
Rodrigo Locatti
53957403cf
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
2fccc35fa8
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
6311c72b03
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
989694f182
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
74cee15619
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
1914ab2be9
Merge pull request #5336 from lioncash/tree
...
common/tree: Convert defines over to templates
2021-01-15 21:46:25 -08:00
Rodrigo Locatti
7f0e5d911f
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
3d5910da6d
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
d9a8238acb
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
1af09cf1b5
core/cmake: Enforce Wclass-memaccess
...
Treat -Wclass-memaccess as an error.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
4854f3291e
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
92ca4929f5
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
d43c0e4c53
vulkan_memory_allocator: Remove unnecesary 'device' memory from commits
2021-01-15 16:19:40 -03:00
ReinUsesLisp
36597c0b38
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
517400fb71
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
60bb77340f
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
fa012cc7e6
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
bb1cc99e64
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
550a9cbcb5
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
9590588b9b
Merge pull request #5355 from lioncash/timer
...
common/timer: Remove
2021-01-15 09:42:33 -08:00
german
b92717bec6
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
df1070a735
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
f452fbfc88
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
german
2aa888b7e3
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
29cf5313da
Add multitouch support
2021-01-15 09:03:39 -06:00
LC
4df2d09468
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
d5bff783bd
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
14ba0b1e68
common/alignment: Upgrade to use constraints instead of static asserts
2021-01-15 04:13:39 -03:00
ReinUsesLisp
4e4056f581
common/alignment: Rename AlignBits to AlignUpLog2
...
AlignUpLog2 describes what the function does better than AlignBits.
2021-01-15 04:13:33 -03:00
Lioncash
d8771fb857
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
6c998e7370
Merge pull request #5354 from ReinUsesLisp/remove-common-color
...
common/color: Remove
2021-01-15 01:54:22 -05:00
LC
24e21f88d3
Merge pull request #5352 from ReinUsesLisp/remove-tester
...
cmake: Remove yuzu_tester
2021-01-15 01:48:02 -05:00
ReinUsesLisp
a815988d5c
common/color: Remove
...
This is a leftover from Citra we no longer use.
2021-01-15 03:47:43 -03:00
ReinUsesLisp
d7b2d16fc4
core/cmake: Remove Werror flags already defined code-base wide
2021-01-15 03:39:24 -03:00
ReinUsesLisp
98ad500af1
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
5681af1131
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
e999fdf283
Merge pull request #5350 from ReinUsesLisp/vk-init-warns
...
vulkan_common: Silence missing initializer warnings
2021-01-15 03:32:01 -03:00
LC
e7e89341f2
Merge pull request #5349 from ReinUsesLisp/anv-fix
...
vulkan_device: Enable shaderStorageImageMultisample conditionally
2021-01-15 01:17:00 -05:00
ReinUsesLisp
4b3ae78de7
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
4bd143ca76
cmake: Enforce -Wunused-function code-base wide
2021-01-15 03:09:48 -03:00
ReinUsesLisp
4d9ee82fca
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
bf1d317892
vk_buffer_cache: Remove unused function
2021-01-15 02:58:55 -03:00
ReinUsesLisp
520685e719
vulkan_common: Silence missing initializer warnings
...
Silence warnings explicitly initializing all members on construction.
2021-01-15 02:55:11 -03:00
ReinUsesLisp
cefa8135c5
vulkan_device: Enable shaderStorageImageMultisample conditionally
...
Fix Vulkan initialization on ANV.
2021-01-15 02:47:05 -03:00
ReinUsesLisp
c0c51e4be0
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
185c16d893
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
d524f04fc6
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
87eea4e068
Merge pull request #5343 from lioncash/qt6
...
configure_motion_touch: Migrate off QRegExp to QRegularExpression
2021-01-14 15:30:26 +08:00
Lioncash
bdbb35bc3b
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
cca1d8342d
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
15f13ef605
Merge pull request #5330 from german77/regexerror
...
Fix IP validator error
2021-01-13 22:08:42 -05:00
bunnei
4726014c46
Merge pull request #5342 from lioncash/qt6
...
yuzu: Migrate off of setMargin() to setContentsMargins()
2021-01-13 10:44:21 -08:00
german
0da0fff264
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
1c11424586
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
6c3376b789
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
e482ac4786
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
77efe79868
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
854e3e0b00
cmake: Enforce -Werror=switch and -Werror=unused-variable
2021-01-13 01:57:18 -05:00
bunnei
b824301b69
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
cbf81948f5
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
d11b3ebfc4
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
17044f999a
common/tree: Remove unused splay tree defines
...
Makes for less code to take care of.
2021-01-12 02:32:41 -05:00
Lioncash
6d1212fdb9
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
e89be18c79
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
e19dca9193
yuzu: debugger: wait_tree: Handle unknown ThreadState.
2021-01-11 14:23:16 -08:00
bunnei
42b25c1a2c
hle: kernel: k_scheduler_lock: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
6cbeabce0d
core: arm: arm_interface: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
7f4d928f77
core: hle: Add missing calls to MicroProfileOnThreadExit.
2021-01-11 14:23:16 -08:00
bunnei
e5cfd63ba4
core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.
2021-01-11 14:23:16 -08:00
bunnei
8f3987d3df
core: hle: kernel: Update KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
75610701a3
core: hle: kernel: Update KConditionVariable.
2021-01-11 14:23:16 -08:00
bunnei
c37b0da7d0
core: hle: kernel: Begin moving common SVC defintions to its own header.
2021-01-11 14:23:16 -08:00
bunnei
02071333ca
hle: kernel: Remove unnecessary AddressArbiter definition.
2021-01-11 14:23:16 -08:00
bunnei
bf73b6ed86
common: common_funcs: Add R_UNLESS macro.
2021-01-11 14:23:16 -08:00
bunnei
99a3953705
hle: kernel: k_scheduler: Cleanup OnThreadPriorityChanged.
2021-01-11 14:23:16 -08:00
bunnei
818ff3901a
hle: kernel: Rename thread "status" to "state".
2021-01-11 14:23:16 -08:00
bunnei
9744afa8b1
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
d103a3656b
core: hle: kernel: Add some useful functions for checking kernel addresses.
2021-01-11 14:23:16 -08:00
bunnei
f3f7d42d63
core: hle: kernel: svc_types: Add type definitions for KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
eeb0493b5d
common: Introduce useful tree structures.
2021-01-11 14:23:16 -08:00
bunnei
2feb4d56e9
core: hle: kernel: Update KSynchronizationObject.
2021-01-11 14:23:16 -08:00
bunnei
eafd021b14
core: hle: kernel: Begin moving common SVC results to its own header.
2021-01-11 14:23:16 -08:00
bunnei
a45d39c9d6
hle: service: nfp: Remove incorrect signaling behavior in GetDeviceState.
2021-01-11 14:23:16 -08:00
Levi
c70d8ebb75
Merge remote-tracking branch 'upstream/master' into int-flags
2021-01-10 22:09:56 -07:00
bunnei
5607df3eb9
Merge pull request #5229 from Morph1984/fullscreen-opt
...
yuzu/main: Add basic command line arguments
2021-01-10 18:53:04 -08:00
LC
e0f774156e
Merge pull request #5324 from Morph1984/docked-default
...
config: Enable docked mode by default
2021-01-10 20:51:33 -05:00
bunnei
af8f4d3635
Merge pull request #5312 from german77/overclockenabled
...
apm: Stub IsCpuOverclockEnabled
2021-01-10 14:30:13 -08:00
Morph
7031765c6f
config: Enable docked mode by default
2021-01-10 09:37:38 -05:00
Morph
02f068cd8f
cmake: Enforce C4101
...
This matches GCC's -Wunused-variable
2021-01-10 01:16:25 -05:00
Morph
dd29408b26
yuzu_cmd: Silence unreferenced local variable warning
2021-01-10 01:10:36 -05:00
LC
355df17549
Merge pull request #5320 from ReinUsesLisp/div-ceil-type
...
common/div_ceil: Return numerator type
2021-01-09 16:45:29 -05:00
Morph
f658307735
general: Resolve C4062 warnings on MSVC
2021-01-09 14:46:35 -05:00
ReinUsesLisp
7e3b53c5be
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
4154a16ce4
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
d27f026a50
file_sys/registered_cache: Silence virtual functions without override warnings
2021-01-09 00:04:12 -03:00
ReinUsesLisp
53cf598783
core: Silence unhandled enum in switch warnings
2021-01-08 23:21:07 -03:00
ReinUsesLisp
148a3c173a
tests/ring_buffer: Silence signed/unsigned mismatch warnings
2021-01-08 23:14:38 -03:00
bunnei
fa0fc64dee
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
b28282edab
Stub IsCpuOverclockEnabled
2021-01-08 09:44:56 -06:00
ReinUsesLisp
ecb015995e
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
21ff77c366
remove inaccurate reference
...
Co-authored-by: LC <mathew1800@gmail.com>
2021-01-07 14:33:45 -05:00
ameerj
30f3faf3e2
fix for nvdec disabled, cleanup host1x
2021-01-07 14:33:45 -05:00
ameerj
762de858e6
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
6562054749
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
7a302cdec2
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
07f5c03885
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
d2e86ac59a
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
0d3eb81f66
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
5e3be575ad
core: Enforce C4715 (not all control paths return a value)
2021-01-05 04:18:40 -03:00
ReinUsesLisp
64d9ef5e7a
core: Silence warnings when compiling without asserts
2021-01-05 04:18:16 -03:00
LC
7ba63cf225
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
6a7d7d276a
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
2fb40db5fc
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
2faecc2720
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
ReinUsesLisp
ac94649acc
vulkan_device: Allow creating a device without surface
2021-01-04 02:22:22 -03:00
ReinUsesLisp
eb04c63df5
renderer_vulkan/nsight_aftermath_tracker: Move to vulkan_common
2021-01-04 02:22:22 -03:00
ReinUsesLisp
fc515aed5f
renderer_vulkan: Move device abstraction to vulkan_common
2021-01-04 02:22:22 -03:00
Rodrigo Locatti
0cdedb7eef
Merge pull request #5286 from ReinUsesLisp/rename-vk-device
...
renderer_vulkan: Rename VKDevice to Device
2021-01-04 02:22:02 -03:00
ReinUsesLisp
d8569c3af4
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
77e7412d3e
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
ae1899577f
Address review comments
2021-01-04 04:36:50 +01:00
xperia64
34bacedd1a
Delete the old log file before rotating ( #5675 )
2021-01-04 04:33:34 +01:00
Rodrigo Locatti
450a1b7c71
Merge pull request #5285 from lioncash/error-str
...
main: Resolve error string not displaying
2021-01-03 19:56:15 -03:00
ReinUsesLisp
aa08e1bfbf
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
b0764f3823
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
fb9624da9d
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
98c455451f
Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nan
...
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-03 03:27:29 -08:00
bunnei
d0044d768b
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
a8aea907f4
Fix the old log file to work with the log parser.
2021-01-03 01:44:52 +01:00
xperia64
1c775a3f66
Rotate previous log file to '.old' if it exists
2021-01-03 01:44:42 +01:00
bunnei
c5156b4656
Merge pull request #5267 from lioncash/localize
...
main: Make the loader error dialog fully translatable
2021-01-02 15:44:32 -08:00
bunnei
a86ae9fa3c
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
c535205f1c
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-02 20:13:21 +00:00
Morph
23413c0d44
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
Fernando Sahmkow
659fb51dd9
X86/NativeClock: Reimplement RTDSC access to be lock free.
2021-01-02 04:00:27 +01:00
Fernando Sahmkow
50dd9a423a
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-02 00:43:47 +01:00
bunnei
80f49ed9f1
Merge pull request #5209 from Morph1984/refactor-controller-connect
...
configure_input: Modify controller connection delay
2021-01-01 13:10:34 -08:00
Morph
dd73d7eb8e
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
e3490b55c1
memory: Remove MemoryHook
2021-01-01 11:34:38 +00:00
bunnei
f1195d12cc
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
6e102ea048
yuzu/main: fix mouse not showing on move and port citra-emu/citra#5476
2020-12-31 21:16:09 +02:00
Lioncash
99790b1eb4
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
c1908af95a
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
34d62f16cc
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
2a5e0d3d92
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
41e8f75c82
Merge pull request #5208 from bunnei/service-threads
...
Service threads
2020-12-30 22:06:05 -08:00
ReinUsesLisp
e92031e767
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
9c39c02012
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
c5fc83ae74
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
8bc3e20760
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
69c145b484
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
7334e9e212
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
bb5903c665
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
d7f0249d2e
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
74276df159
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
ddddd25033
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
b05cecfbd8
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
f04be5803d
Port citra-emu/citra#5509
2020-12-30 22:29:20 -06:00
16-Bit-Dog
a96fd630b4
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
efc456aa94
half_set: Resolve -Wmaybe-uninitialized warnings
2020-12-30 17:59:42 -05:00
Lioncash
ebb8133b6e
maxwell_to_vk: Initialize usage variable in SurfaceFormat()
...
Silences a -Wmaybe-uninitialized warning
2020-12-30 13:25:03 -05:00
LC
1c53456c3c
Merge pull request #5251 from ReinUsesLisp/wuninitialized
...
cmake: Enforce -Wuninitialized
2020-12-30 06:34:42 -05:00
ReinUsesLisp
d25b097e84
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
64f651bfa0
cmake: Enforce -Wuninitialized
2020-12-30 02:58:58 -03:00
ReinUsesLisp
d719dc7688
service/pcie: Fix invalid initialization argument
2020-12-30 02:58:38 -03:00
ReinUsesLisp
2d951b73bf
video_core: Add a delayed destruction ring abstraction
2020-12-30 02:10:19 -03:00
ReinUsesLisp
b8bc5d95af
host_shaders: Add Vulkan assembler compute shaders
2020-12-30 02:03:50 -03:00
ReinUsesLisp
82723df129
host_shaders: Add helper to blit depth stencil fragment shader
2020-12-30 02:02:07 -03:00
ReinUsesLisp
627b4c3387
host_shaders: Add texture color blit fragment shader
2020-12-30 02:00:48 -03:00
ReinUsesLisp
5ed139d5a2
host_shaders: Add shaders to present to the swapchain
2020-12-30 01:59:12 -03:00
ReinUsesLisp
90b5661015
host_shaders: Add shaders to convert between depth and color images
2020-12-30 01:48:44 -03:00
ReinUsesLisp
9d5ab4f22b
host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8
2020-12-30 01:47:08 -03:00
ReinUsesLisp
9915ad809e
host_shaders: Add shader to render a full screen triangle
2020-12-30 01:44:09 -03:00
ReinUsesLisp
8d49d1bc1f
host_shaders: Add pitch linear upload compute shader
2020-12-30 01:41:42 -03:00
ReinUsesLisp
e4e49e7fcb
host_shaders: Add block linear upload compute shaders
2020-12-30 01:39:35 -03:00
ReinUsesLisp
f0b34215b6
host_shaders: Add copyright headers to OpenGL present shaders
2020-12-30 01:35:56 -03:00
ReinUsesLisp
60050f5dd1
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
8bfa4d6dbf
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
1a96235760
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
bunnei
236149a59b
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
bunnei
407d3b7374
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
01e1b790a5
common: ThreadWorker: Add class to help do asynchronous work.
2020-12-29 16:46:29 -08:00
bunnei
f3a274a13f
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
127bb064f7
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
8be4bd5104
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
0049fbaa9e
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
e1b8d02351
Merge pull request #5245 from ameerj/sleepthread-log
...
svc: demote SleepThread log to LOG_TRACE
2020-12-29 14:03:24 -05:00
ameerj
ca41363261
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
ae5e92e2fb
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
67051cf10c
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
b2ef309edb
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
bunnei
e5f216261e
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
93b4668017
audio_core: stream: Ensure buffer is valid before release.
2020-12-28 21:33:34 -08:00
bunnei
ae526934c7
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
bunnei
5d4fa58af2
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
bunnei
50675db080
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
2020-12-28 21:33:34 -08:00
bunnei
04e4925807
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
bunnei
b1b4edec05
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
8cf0ba96d9
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
bunnei
838c266e82
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
bunnei
db49c273db
video_core: gpu_thread: Do not wait when system is powered down.
2020-12-28 16:33:48 -08:00
bunnei
1e370cff0e
core: settings: Untangle multicore from asynchronous GPU.
...
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
1481056e3d
video_core: gpu: Implement synchronous mode using threaded GPU.
2020-12-28 16:33:48 -08:00
bunnei
927976c86c
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
...
- We must always use a GPU thread now, even with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
846f35c4ad
hle: kernel: hle_ipc: Remove SleepClientThread.
...
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28 16:33:48 -08:00
bunnei
e322c6cfba
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
fd213b5856
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28 16:33:48 -08:00
bunnei
3d7b4bfa48
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
bunnei
eeabd0cc31
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
bunnei
b8cb6a1b2c
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
bunnei
56be5d7ba9
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
gal20
2f5fb99b94
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
german
139222d3a5
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
ReinUsesLisp
4ea0d7a8f1
renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state
...
Without using VK_EXT_robustness2, we can't consider the 'enabled' (not
null) vertex buffers as dynamic state, as this leads to invalid Vulkan
state. Move this to static state that is always hashed and compared in
the pipeline key.
The bits for enabled vertex buffers are moved into the attribute state
bitfield. This is not 'correct' as it's not an attribute state, but that
struct has bits to spare, and it's used in an array of 32 elements (the
exact same number of vertex buffer bindings).
2020-12-25 23:34:38 -03:00
Morph
91db46cf0e
yuzu/main: Add basic command line arguments
...
The following command line arguments are supported:
yuzu.exe "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f - Launches the next game in fullscreen
yuzu.exe -g "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f -g "path_to_game" - Launches a game at "path_to_game" in fullscreen
2020-12-25 15:41:00 -05:00
Rodrigo Locatti
2ee2a45da2
Merge pull request #5226 from ReinUsesLisp/c4715-vc
...
video_core: Enforce C4715 (not all control paths return a value)
2020-12-25 03:11:47 -03:00
Rodrigo Locatti
1f3305dc1c
Merge pull request #5225 from ReinUsesLisp/always-vulkan
...
cmake: Always enable Vulkan
2020-12-25 02:52:29 -03:00
bunnei
eb609b73a7
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
...
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-24 21:51:49 -08:00
ReinUsesLisp
4df8b8a0f5
cmake: Always enable Vulkan
...
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
ReinUsesLisp
472e86da85
video_core: Enforce C4715 (not all control paths return a value)
...
Most of the time people write code that always returns a value,
terminates execution, throws an exception, or uses an unconventional
jump primitive.
This is not always true when we build without asserts on mainline builds.
To avoid introducing undefined behavior on our most used builds, enforce
this warning signalling an error and stopping the build from shipping.
2020-12-24 21:01:23 -03:00
ReinUsesLisp
4d7405712a
vk_shader_decompiler: Silence warning when compiling without asserts
2020-12-24 21:01:09 -03:00
bunnei
3cde4f549b
Merge pull request #5217 from lat9nq/save-on-boot
...
yuzu/main: Save settings when starting guest
2020-12-23 01:45:24 -08:00
lat9nq
662c4a68f6
yuzu/main: Improve menubar access keys
...
Adds a unique access key to each action within each menu. A few actions
already had their own access key, so those were untouched.
2020-12-22 19:32:58 -05:00
german
0b75b39cac
Add option to reset window size to 1080p
2020-12-22 17:06:48 -06:00
bunnei
9729bce30a
Merge pull request #5042 from Morph1984/project-aether
...
Project Aether: Reimplementation of the Web Browser Applet
2020-12-21 23:47:10 -08:00
lat9nq
b4094cb11a
yuzu/main: Save settings when starting guest
...
Saves UISettings and Settings when booting a guest. Moves updating
UISettings::values from GMainWindow::closeEvent into its own function,
then reuses it in GMainWindow::BootGame.
2020-12-22 02:29:30 -05:00
bunnei
8e1f16e8fa
Merge pull request #5131 from bunnei/scheduler-rewrite
...
Rewrite Kernel scheduler based on Atmosphere
2020-12-20 20:57:54 -08:00
bunnei
37008cad35
Merge pull request #5201 from ameerj/bufferq-refactor
...
vi/buffer_queue: Buffer queue management refactor
2020-12-20 15:48:39 -08:00
FearlessTobi
1bfd9b5081
yuzu: Remove gdbstub configuration
...
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028 .
This PR just removes the remaining gdb configuration code from the emulator and the UI.
2020-12-19 19:19:42 +01:00
Morph
469ed33cf6
applets/web: Implement the online web browser applet
2020-12-18 10:33:28 -05:00
Morph
150d237919
applets/web: Fix keyboard to emulated controller input
2020-12-18 10:33:28 -05:00
Morph
358b38f3e1
main: Add the ability to disable the web applet
...
This should only be used for Super Mario 3D All-Stars. This is a temporary solution until it can be implemented properly.
2020-12-18 10:33:28 -05:00
Morph
fef6f942e4
main, applets/web: Re-add progress dialog for RomFS extraction
2020-12-18 10:33:28 -05:00
Morph
7641f35fe3
applets/web: Implement the Qt web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
727780763e
web_browser_scripts: Add injection scripts for the web browser
2020-12-18 10:33:28 -05:00
Morph
46f376e8fe
pl_u, applets/web: Decrypt shared fonts to TTF files
2020-12-18 10:33:28 -05:00
Morph
0e1390257a
ns_vm: Stub NeedsUpdateVulnerability
...
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
2020-12-18 10:33:28 -05:00
Morph
0c99879bec
frontend/input_interpreter: Add InputInterpreter API
...
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18 10:33:28 -05:00
Morph
7c1af698e4
controllers/npad: Make press_state atomic
2020-12-18 10:33:28 -05:00
Morph
71b0d923e2
util: Add URL Request Interceptor for QWebEngine
2020-12-18 10:33:28 -05:00
Morph
790a9e47eb
bootmanager: Add a check whether loading is complete
2020-12-18 10:33:28 -05:00
Morph
a367dc5be0
applets/web: Implement the default web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
312d05c3ff
applets/web: Implement the offline browser applet backend
2020-12-18 10:33:27 -05:00
Morph
c3371126a0
applets/web: Initial implementation of the web browser applet
2020-12-18 10:33:27 -05:00
Morph
7da1c67f5a
applets: Remove the previous web browser applet implementation
2020-12-18 10:33:27 -05:00
Morph
f36865a3f4
system_archive: Add + and - buttons to the Nintendo Extended OSS font
2020-12-18 02:55:48 -05:00
ameerj
0bdbc27d82
buffer_queue: better use of std::array
2020-12-18 00:12:14 -05:00
ameerj
ad6bf1246c
Overwrite slots instead of queuing them, add disconnect signal
...
Fix for Katana Zero and Yoshi's Crafted World
2020-12-17 14:22:46 -05:00
Morph
8cd0b60587
system_archive: Update Nintendo Extended OSS font
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-12-17 08:58:13 -05:00
bunnei
70aed117a6
Merge pull request #5190 from Morph1984/validate_device_handle
...
controllers/npad: Validate device handles before use
2020-12-15 16:40:11 -08:00
bunnei
b87cc8b17e
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
...
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-15 11:07:03 -08:00
bunnei
79deefc29f
Merge pull request #5157 from lioncash/array-dirty
...
maxwell_3d: Remove unused dirty_pointer array
2020-12-15 00:35:47 -08:00
bunnei
6e6dcc8fd7
Merge pull request #5168 from Morph1984/aoc-PurchaseEventManager
...
aoc_u: Stub IPurchaseEventManager and its service commands
2020-12-14 16:08:38 -08:00
lat9nq
5e59e26876
cmake: Fix generating CMake configs and linking with Boost
...
Fixes regression by 91c13721de , causing
yuzu to not build on Linux with any version of Boost except a cached
1.73 Conan version from before about a day ago.
Moves the Boost requirement out of the `REQUIRED_LIBS` psuedo-2D-array
for Conan to instead be manually configured, using Conan as a fallback
solution if the system does not meet our requirements.
Requires any update from the linux-fresh container in order to build.
**DO NOT MERGE** until someone with the MSVC toolchain can verify this
works there, too.
2020-12-13 01:28:51 -05:00
bunnei
91c13721de
common: Update CMakeList to fix build issue with Boost.
2020-12-12 11:50:07 -08:00
Morph
63115659b0
controllers/npad: Validate device handles before use
...
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-12-12 07:05:38 -05:00
bunnei
f68691758d
Merge pull request #5183 from lioncash/alias2
...
vfs: Use existing type aliases consistently
2020-12-12 01:54:28 -08:00
bunnei
bf0fea0cfc
Merge pull request #5187 from Morph1984/revert-stdfs
...
fs: Revert all std::filesystem changes
2020-12-11 20:07:37 -08:00
bunnei
a1bc0b56de
Merge pull request #5172 from lioncash/svc-wide
...
svc: Remove unnecessary casts
2020-12-11 17:39:30 -08:00
Morph
944c66a1c4
Revert "Merge pull request #5173 from lioncash/common-fs"
...
This reverts commit 65c2816e9e , reversing
changes made to f923f9b6d0 .
2020-12-11 20:24:22 -05:00
Morph
07b5c70975
Revert "Merge pull request #5174 from ReinUsesLisp/fs-fix"
...
This reverts commit 1f5f5d8d3c , reversing
changes made to 714b347f96 .
2020-12-11 20:24:22 -05:00
Morph
9e47a3f7cd
Revert "Merge pull request #5176 from Morph1984/fix-createfile"
...
This reverts commit 586d5a72e1 , reversing
changes made to 1f5f5d8d3c .
2020-12-11 20:24:22 -05:00
Morph
4b2d4ac412
Revert "Merge pull request #5179 from ReinUsesLisp/fs-path"
...
This reverts commit be3622e550 , reversing
changes made to 586d5a72e1 .
2020-12-11 20:21:46 -05:00
Morph
1992dbc3cf
Revert "Merge pull request #5181 from Morph1984/5174-review"
...
This reverts commit 1f3f6640f6 , reversing
changes made to 38152bb0f7 .
2020-12-11 20:21:21 -05:00
bunnei
1f3f6640f6
Merge pull request #5181 from Morph1984/5174-review
...
common/file_util: Address review comments of #5174
2020-12-10 15:52:11 -08:00
bunnei
a00c2d6fca
Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailable
...
nim: Stub IsLargeResourceAvailable
2020-12-10 11:34:18 -08:00
bunnei
275f63f3ea
Merge pull request #5162 from lioncash/copy-shader
...
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
2020-12-10 00:11:11 -08:00
Lioncash
fd6a753646
vfs: Use existing type aliases consistently
...
Makes use of the VirtualDir and VirtualFile aliases across the board
instead of having a few isolated places that don't use it.
2020-12-10 01:44:43 -05:00
Morph
c71f111bb0
common/file_util: Simplify the behavior of CreateFullPath
2020-12-09 19:28:11 -05:00
ReinUsesLisp
eff4da93e1
common/file_util: Let std::filesystem cast from UTF16 to std::string
...
Fix invalid encoding paths when iterating over a directory on Windows.
2020-12-09 18:52:36 -03:00
Morph
b8c2935580
vfs_real: Fix CreateFile for files without a file extension
2020-12-09 06:34:49 -05:00
ReinUsesLisp
443d8d3a23
common/file_util: Fix and deprecate CreateFullPath, add CreateDirs
...
Fix CreateFullPath to have its intended previous behavior (whatever
that was), and deprecate it in favor of the new CreateDirs function.
Unlike CreateDir, CreateDirs is marked as [[nodiscard]] to avoid new
code ignoring its result value.
2020-12-09 05:42:03 -03:00
ReinUsesLisp
74e078db55
common/file_util: Succeed on CreateDir when the directory exists
2020-12-09 05:21:08 -03:00
Rodrigo Locatti
714b347f96
Merge pull request #5142 from comex/xx-poll-events
...
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
2020-12-09 03:52:20 -03:00
Rodrigo Locatti
65c2816e9e
Merge pull request #5173 from lioncash/common-fs
...
common/file_util: Make use of std::filesystem
2020-12-09 03:47:21 -03:00