german77
3d24eb54ec
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
german77
ab93b4c66d
yuzu: Mute audio when in background
2022-02-06 20:46:58 -06:00
german77
49eb78497b
yuzu: Add docked, GPU accuracy and adapting filter hotkeys
2022-02-06 20:46:58 -06:00
german77
6a4ab3e0d2
yuzu: Add auto center on right click
2022-02-06 19:56:03 -06:00
german77
21742f0096
input_common: Remove battery duplicated struct and update every button press
2022-02-06 18:33:55 -06:00
Morph
b720009dc0
Merge pull request #7847 from tech-ticks/master
...
service: pm: Implement AtmosphereGetProcessInfo
2022-02-05 19:22:45 -05:00
Morph
36910e9020
Merge pull request #7851 from lat9nq/cmd-add-motion
...
yuzu-cmd: config: Support motion inputs
2022-02-05 19:22:18 -05:00
bunnei
0456ed6b4e
Merge pull request #7849 from Morph1984/qt-frameless-window
...
main: Always remove the frameless window flag when restoring UI state
2022-02-05 15:18:48 -07:00
Morph
ec4d7f71fe
common: uuid: Return an invalid UUID if conversion from string fails
...
The string constructor of UUID states:
Should the input string not meet the above requirements, an assert will be triggered and an invalid UUID is set instead.
2022-02-05 13:56:21 -05:00
Morph
25db62ce15
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
dfe11d72e3
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
Morph
d94dcaefa0
common: uuid: Add AsU128()
...
This copies the internal bytes of the UUID into a u128 for backwards compatibility. This should not be used.
2022-02-05 13:56:21 -05:00
Morph
f0340b8d22
hle: ipc_helpers: Ignore -Wclass-memaccess
...
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
2022-02-05 13:56:20 -05:00
Morph
ee0547e4c4
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
Morph
cb30fe50cd
input/hid: Migrate to the new UUID implementation
2022-02-05 13:18:41 -05:00
Morph
3271099fea
common: Implement NewUUID
...
This is a fixed and revised implementation of UUID that uses an array of bytes as its internal representation of a UUID instead of a u128 (which was an array of 2 u64s).
In addition to this, the generation of RFC 4122 Version 4 compliant UUIDs is also implemented.
2022-02-05 13:18:31 -05:00
bunnei
5cb1c2ad84
Merge pull request #7842 from german77/vibration_test
...
yuzu: config: Vibrate the controller while configuring vibration strength
2022-02-05 02:57:26 -07:00
lat9nq
928380ebf9
config: Support motion inputs
...
Motion inputs were not being read in by the config when yuzu-cmd boots
up. This adds support for those.
While we're at it, make a reference to the current player controls to
improve readability. Also updates the if statements in the Analog and
Button loops with curly braces to keep the style consistent.
2022-02-05 02:31:55 -05:00
bunnei
0ec5b9bff2
Merge pull request #7839 from german77/battery
...
yuzu: ui: Improve battery symbols
2022-02-04 18:23:35 -07:00
Morph
edbfbf2f2f
main: Always remove the frameless window flag when restoring UI state
...
For unknown reasons, this flag may persist after the application has been closed.
Removing this flag when restoring the UI state ensures that a frameless window will not be shown on startup.
2022-02-03 23:12:49 -05:00
Morph
fbefcf7280
input_common: Remove unused core include
2022-02-03 22:44:28 -05:00
tech-ticks
16bf50e610
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
fc8aef7323
Merge pull request #7811 from german77/analog-mod
...
input_common: Use attributes for analog range modifiers
2022-02-03 12:21:11 -07:00
bunnei
8ec32e9755
Merge pull request #7814 from FernandoS27/another-bug-in-my-schedule
...
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
2022-02-02 19:15:06 -07:00
bunnei
03186af6a1
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Morph
d68eb751c5
Merge pull request #7838 from lioncash/noncopy
...
common_types: Remove NonCopyable struct
2022-02-02 16:04:26 -05:00
Narr the Reg
694c078655
yuzu: config: Vibrate the controller while configuring vibration strength
2022-02-02 14:54:24 -06:00
bunnei
9484519ec3
Merge pull request #7834 from german77/repeat
...
yuzu: Disable auto repeat on hotkeys again
2022-02-02 13:20:18 -07:00
Lioncash
e015dc8264
texture_cache: Ensure has_blacklisted is always initialized
...
Resolves a -Wmaybe_uninitialized warning
2022-02-02 14:37:27 -05:00
Lioncash
7367e55d1d
texture_cache: Remove dead code within SynchronizeAliases
...
Since these were being copied by value, none of the changes applied in
the loop would be reflected.
However, from the looks of it, this would already be applied within
CopyImage() anyways, so this can be removed.
2022-02-02 14:37:22 -05:00
Lioncash
856f576c05
texture_cache: Amend unintended bitwise OR in SynchronizeAliases
2022-02-02 14:20:58 -05:00
Narr the Reg
064aa3de11
yuzu: ui: Improve battery symbols
2022-02-02 13:18:06 -06:00
Lioncash
ade44ac2ea
common_types: Remove NonCopyable struct
...
Now that we're moved over to the YUZU_ defines, we can get rid of this
struct.
2022-02-02 13:19:01 -05:00
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
bunnei
09400e4f4e
Merge pull request #7806 from ameerj/atomic64-fallbacks
...
shaders: Implement U32x2 atomic fallbacks when device does not support int64
2022-02-02 10:57:22 -07:00
Lioncash
76d83ffbec
general: Move deleted copy/move constructor/assignment operators to public interface
...
This allows for better compiler errors, where the compiler will state a
copy or move couldn't occur due to the relevant function being deleted.
Previously a compiler would warn about the relevant function not being
accessible (which, while true, isn't as informative as it could be).
2022-02-02 12:17:08 -05:00
bunnei
72add82ee9
Merge pull request #7807 from german77/moar-buttons
...
input_common: Add home and hard touch press buttons to UDP controllers
2022-02-01 22:37:13 -07:00
bunnei
995e27e9b7
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Morph
79e8f4abe8
Merge pull request #7833 from lioncash/file-sys
...
configure_filesystem: Add missing changeEvent() override
2022-02-01 22:15:37 -05:00
bunnei
404a94a199
Merge pull request #7792 from german77/translate
...
hotkeys: Don't translate hotkey buttons
2022-02-01 20:07:52 -07:00
Lioncash
40d31b8b8a
configure_filesystem: Add missing changeEvent() override
...
This allows the dialog to be retranslated during runtime if the language
is changed.
2022-02-01 22:03:12 -05:00
Lioncash
b9f06bd599
configure_filesystem: Normalize member function casing
...
All other dialog types we have use CamelCase naming.
2022-02-01 22:01:22 -05:00
Narr the Reg
330b31ae2e
yuzu: Disable auto repeat on hotkeys again
2022-02-01 21:00:37 -06:00
bunnei
50e9ba34b4
Merge pull request #7809 from Morph1984/clock-constants
...
common: wall_clock: Utilize constants for ms, us, and ns ratios
2022-02-01 18:34:31 -07:00
Morph
a28a10bc54
Merge pull request #7831 from lioncash/motion
...
configure_motion_touch: Use functor versions of invokeMethod
2022-02-01 14:48:52 -05:00
Lioncash
5c4ed30c21
configure_motion_touch: Use functor versions of invokeMethod
...
Same behavior, but ensures that the functions we're calling exist, since
they can be checked at compile-time.
2022-02-01 13:22:42 -05:00
Lioncash
e2a86e2c8a
configure_input_player: Eliminate variable shadowing
2022-02-01 12:54:00 -05:00
Lioncash
2dba59d1ff
configure_input_player: std::move input setters in HandleClick
2022-02-01 12:51:03 -05:00
Lioncash
9ba6bab920
configure_input_player: Avoid unnecessary ParamPackage copies
...
Avoids churning allocations.
2022-02-01 12:20:23 -05:00
Lioncash
cd4aa50207
yuzu/game_list: Use non-deprecated version of QString's split() function
...
The previous overload of split() was deprecated in 5.14.
2022-02-01 11:41:31 -05:00
Morph
7432343214
Merge pull request #7825 from lioncash/nodisc2
...
common/file: Remove [[nodiscard]] from Open()
2022-02-01 02:29:36 -05:00
Lioncash
8f32bab4c9
common/file: Remove [[nodiscard]] from Open()
...
Since this has a void return value, there's nothing that can actually be
used.
2022-02-01 02:19:21 -05:00
Morph
26a9dc3f65
Merge pull request #7824 from lioncash/scache
...
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
2022-02-01 01:58:38 -05:00
Lioncash
360a97ab54
video_core/shader_cache: Remove unused algorithm include
2022-02-01 01:41:05 -05:00
Lioncash
540ed72e99
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
...
Same behavior, but without the need to move into the function to avoid
an allocation.
2022-02-01 01:40:41 -05:00
bunnei
7ddccb55d2
Merge pull request #7821 from german77/espada_aguda
...
svc: Add 32 bit SynchronizePreemptionState
2022-01-31 19:13:46 -07:00
Narr the Reg
1ed22b4613
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
35ed051742
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
2022-01-31 17:08:08 +01:00
german77
5bd0c1517f
input_common: Use attributes for analog range modifiers
2022-01-30 22:42:40 -06:00
Morph
6267110b69
common: wall_clock: Check precision against the emulated CPU and CNTFRQ
...
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
2022-01-30 12:57:23 -05:00
Morph
4e766280c4
common: wall_clock: Utilize constants for ms, us, and ns ratios
2022-01-30 12:36:56 -05:00
german77
3d2d77eb3f
input_common: Add home and hard touch press buttons to UDP controllers
2022-01-30 09:17:22 -06:00
ameerj
e394e1ecc4
emit_glsl_atomic: Implement 32x2 fallback atomic ops
2022-01-29 19:56:03 -05:00
ameerj
90a0506d56
lower_int64_to_int32: Add 64-bit atomic fallbacks
2022-01-29 19:56:02 -05:00
ameerj
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
Fernando Sahmkow
d0a5a48948
GPU: Improve syncing.
2022-01-29 23:02:04 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
Fernando Sahmkow
f54280dafd
Inline2Memory: Flush before writting buffer.
2022-01-29 17:42:28 +01:00
Morph
11099dda2e
Merge pull request #7791 from german77/wall_clock
...
wall_clock: Use standard wall clock if rtsc frequency is too low
2022-01-28 20:04:24 -05:00
ameerj
4790ba7839
spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
...
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.
Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
2022-01-28 19:00:04 -05:00
Morph
1900abde13
Merge pull request #7784 from german77/ds5
...
input_common: Add DS5 to HD rumble list
2022-01-28 18:36:28 -05:00
Morph
60b5670577
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
Morph
b00406c8e4
Merge pull request #7788 from ameerj/stream-buffer-begin
...
buffer_cache: Reduce stream buffer allocations when expanding from the left
2022-01-28 18:30:01 -05:00
Morph
8dea7fa129
Merge pull request #7786 from ameerj/vmnmx-sel
...
video_minimum_maximum: Implement src operand selectors
2022-01-28 18:24:56 -05:00
ameerj
beaf7654bb
emit_spirv: Add Xfb execution mode when transform feedback is used
...
Fixes Transform Feedback on Vulkan AMD drivers.
2022-01-28 16:32:48 -05:00
bunnei
0dec42431f
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
german77
fea05a17ea
hotkeys: Don't translate hotkey buttons
2022-01-27 17:32:48 -06:00
german77
e4c63d432d
wall_clock: use standard wall clock if rtsc frequency is too low
2022-01-27 17:07:52 -06:00
ameerj
f300a1d54b
buffer_cache: Reduce stream buffer allocations when expanding from the left
...
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
2022-01-27 15:31:43 -05:00
bunnei
3a1a3dd0db
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
ameerj
74e6e3623f
video_minimum_maximum: Implement src operand selectors
...
Used by Pokemon Legends: Arceus
2022-01-27 14:55:08 -05:00
Morph
8a244dd3d3
Merge pull request #7783 from lioncash/abi-cexpr
...
common/xbyak_api: Make BuildRegSet() constexpr
2022-01-27 10:29:34 -05:00
Narr the Reg
fd1cef5616
input_common: Add DS5 to HD rumble list
2022-01-26 21:49:32 -06:00
bunnei
adcac857f8
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Lioncash
f6a049337e
common/xbyak_api: Make BuildRegSet() constexpr
...
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
2022-01-26 16:29:15 -05:00
bunnei
40050c1188
Merge pull request #7780 from lioncash/macro
...
video_core/macro: Move impl classes into their cpp files
2022-01-26 12:39:59 -08:00
bunnei
9bf7ad97f5
Merge pull request #7769 from german77/no-control
...
yuzu: Add setting to disable controller navigation
2022-01-25 20:24:42 -08:00
bunnei
5723145165
Merge pull request #7768 from Moonlacer/fsr-1.0.2
...
Update AMD FidelityFX Super Resolution™ to 1.0.2
2022-01-25 17:32:44 -08:00
Morph
84cc22b21b
Merge pull request #7777 from lioncash/nodisc
...
shader_recompiler: Remove unnecessary [[nodiscard]] specifier
2022-01-25 16:16:20 -05:00
Morph
c93dd45997
Merge pull request #7779 from lioncash/gpu-iface
...
gpu: Remove obsoleted CDmaPusher() accessors
2022-01-25 16:16:04 -05:00
Morph
a1c4bca908
Merge pull request #7778 from lioncash/comma
...
vk_fsr: Replace comma operator with semicolon
2022-01-25 16:15:53 -05:00
Morph
432f4441b9
Merge pull request #7774 from lioncash/mapping
...
input_common/main: Pass MappingData by const reference in callbacks
2022-01-25 16:15:45 -05:00
Morph
306b3491c4
Merge pull request #7773 from lioncash/udp-deprecated
...
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
2022-01-25 16:15:27 -05:00
Morph
8dbad556ec
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
a8a4f37628
video_core/macro: Add missing <cstring> header
...
Necessary since memcpy is used.
2022-01-25 14:10:02 -05:00
Lioncash
81d1a1133d
video_core/macro_interpreter: Move impl class to the cpp file
...
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
2022-01-25 14:03:48 -05:00
Lioncash
cfd9f7d25b
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
...
Same behavior, but less code and header dependencies.
2022-01-25 13:50:14 -05:00
Lioncash
a05d9405b9
video_core/macro: Remove unused parameter from Execute()
...
Simplifies the function interface.
2022-01-25 13:41:38 -05:00
Lioncash
74f80299b0
video_core/macro_jit_x64: Remove unused impl class member
...
Reduces the size of the impl class a tiny bit.
2022-01-25 13:33:09 -05:00
Lioncash
f11eefed56
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
...
This doesn't depend on class state and can just be a regular function.
2022-01-25 13:31:54 -05:00
Lioncash
6b873b72ae
video_core/macro_jit_x64: Move impl class into cpp file
...
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
2022-01-25 13:31:46 -05:00
Lioncash
a3c81745b1
video_core/macro_hle: Move impl class into cpp file
...
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
2022-01-25 13:15:48 -05:00
Lioncash
d8486a9968
gpu: Tidy up forward declarations
...
Over time a few forward declarations became unnecessary, so we can
remove these to tidy up the header a little bit.
2022-01-25 13:05:39 -05:00
Lioncash
9b38c8ef08
gpu: Remove obsoleted CDMAPusher() accessors
...
These were obsoleted in 2c47f8aa18
but
were accidentally overlooked.
2022-01-25 12:53:56 -05:00
Lioncash
e7af84670d
vk_fsr: Replace comma operator with semicolon
...
Generally, we should be ending statements with a semicolon not a comma
Resolves a clang diagnostic.
2022-01-25 12:42:27 -05:00
Lioncash
b46ec4efea
shader_recompiler: Remove unnecessary [[nodiscard]]
...
Since ConvertLegacyToGeneric has a void return value, there's nothing
that is actually returned by the function.
2022-01-25 12:16:09 -05:00
bunnei
4f9f55ec21
Merge pull request #7765 from bunnei/update-thread-count
...
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
2022-01-24 18:58:48 -08:00
bunnei
3442365127
Merge pull request #7760 from german77/inverted_keyboard
...
yuzu: Add modifiers for keyboard
2022-01-24 15:41:49 -08:00
Lioncash
651358d0b6
input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state
...
The default constructor of a UUID instance doesn't initialize the
underlying array.
2022-01-24 11:57:48 -05:00
Lioncash
187c9d7e33
input_common/input_mapping: Simplify UUID validity checks
...
Makes the checks a little more intuitive to read and doesn't construct
an extra UUID instance
2022-01-24 11:49:52 -05:00
Lioncash
0849be094e
input_common/input_mapping: Add missing includes
...
Ensures that the class always sees the types it needs.
2022-01-24 11:49:31 -05:00
Lioncash
8bb39750a1
input_common/input_mapping: Remove const from return value
...
Top-level const on a return by value can inhibit move semantics, and is
unnecessary.
2022-01-24 11:39:20 -05:00
Lioncash
12e7d3b254
input_common/input_mapping: Default constructor
2022-01-24 11:37:48 -05:00
Lioncash
51dd3da11c
input_common/main: Pass MappingData by const reference in callbacks
...
Avoids creating unnecessary 168 byte copies per callback invocation.
2022-01-24 11:31:43 -05:00
Lioncash
87eb3cb083
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
...
These are deprecated and make_address variants and to_uint() should be used instead.
2022-01-24 11:14:30 -05:00
Lioncash
b084a9bf0a
input_common/udp_client: Prevent unnecessary string copies
...
We can also remove some redundant const on the return values, since
these don't do anything
2022-01-24 10:58:25 -05:00
Lioncash
2f12caccf9
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
ebf19616f4
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
german77
b998aa5504
yuzu: Add setting to disable controller navigation
2022-01-23 21:08:49 -06:00
Moonlacer
fdde08bd01
Update FSR to 1.0.2
...
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
bunnei
59add00d4a
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
e791da9791
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
07add23251
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ee25e0a40b
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
0cee5e1af8
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ffcaf5af90
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
5b57ee66ce
Merge pull request #7716 from german77/volume
...
yuzu: Add volume hotkeys
2022-01-22 02:25:59 -08:00
bunnei
2935c9d8de
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
264bb5abf7
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
0137f2e6e1
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
6d8e498f76
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
b8b1b58f36
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
8433edacb3
Merge pull request #7735 from german77/udp_battery
...
input_common: Report battery for UDP controllers
2022-01-22 01:28:14 -08:00
bunnei
68c8a1b170
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
Narr the Reg
7d133fd37e
yuzu: Add modifiers for keyboard
2022-01-21 20:41:50 -06:00
bunnei
cef7649bed
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
615fb40416
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
12bf8ca929
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
8dd6dc9a29
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
43039d95ac
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
7ba6f68a8d
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
19c11e2fd2
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
888bc10c17
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
54150f5afa
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
3da43ad2a9
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
0f7337c522
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
29e3636e0a
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
a271cf89cf
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
bunnei
88d9b55b14
Merge pull request #7755 from v1993/someone-in-here-lacks-system-wide-theming
...
Use Default Colorful theme by default outside of Windows
2022-01-21 11:51:29 -08:00
bunnei
03cf308c16
Merge pull request #7731 from v1993/xfb-varying-check-fix
...
shader_recompiler: fix potential OOB access
2022-01-21 10:45:56 -08:00
v1993
d63d8bf7f9
Use Default Colorful theme by default outside of Windows
...
On OSes with system-wide theming this allows yuzu to follow system style, regardless of its exact coloration, working well with both light and dark system themes. Dark /Colorful, on the other hand, forces dark theme regardless of user preferences set in system settings, making for a poor default.
Use Colorful variation to keep in line with icon style of patron-voted Dark Colorful.
2022-01-21 20:57:00 +03:00
Morph
a396473201
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
ef7c50b276
Merge pull request #7695 from Morph1984/is-pow2
...
common: bit_util: Add IsPow2 helper function
2022-01-20 18:06:11 -08:00
bunnei
f6815086a1
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
91ff6d4cb3
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
46a620f9d7
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
0b37e7cb39
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
384e24d3e9
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
ad53dc22fd
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting.
- KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20 17:08:00 -08:00
bunnei
5ffec69dc7
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
11a380c3da
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
f6cbb14dce
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
bunnei
e781f6e767
Merge pull request #7710 from german77/just-shake-it
...
core/hid: Increment shake force
2022-01-20 16:53:22 -08:00
Jan Beich
d24a4b79d4
video_core: constify AVCodec for ffmpeg >= 5.0
...
src/video_core/command_classes/codecs/codec.cpp:177:16: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
av_codec = avcodec_find_decoder(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-20 11:09:21 +00:00
Morph
dc471700ca
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
8fa0416fee
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
Georg Lehmann
d15814d39f
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
2022-01-19 19:48:46 +01:00
bunnei
b5e83bcc7b
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
fc3eb72359
Merge pull request #7715 from gidoly/patch-4
...
Xbox controller default name nit pick
2022-01-18 21:14:30 -08:00
bunnei
eceee8e5f4
Merge pull request #7725 from german77/mouse_in_motion
...
input_common: Reintroduce motion from mouse and use button names
2022-01-18 18:16:27 -08:00
bunnei
101d86897b
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
bunnei
1dbb9e353e
Merge pull request #7724 from ameerj/astc_new_nv
...
astc_decoder: Combine FastReplicate functions to work around new NV driver bug
2022-01-17 16:48:04 -08:00
bunnei
5eb0b65590
Merge pull request #7732 from v1993/patch-7
...
kernel: remove no-op code
2022-01-17 15:37:16 -08:00
Narr the Reg
36144a5690
input_common: Report battery for UDP controllers
2022-01-17 13:30:15 -06:00
v1993
a943600019
shader_recompiler: fix potential OOB access
...
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
2022-01-17 21:50:51 +03:00
Mai M
45ac3f414e
Merge pull request #7730 from v1993/patch-6
...
input_common: nitpick about SetHatButton usage
2022-01-17 13:43:34 -05:00
Mai M
b92198b7f8
Merge pull request #7729 from v1993/patch-5
...
input_common: fix copy-paste error
2022-01-17 13:43:21 -05:00
Mai M
cf4893410b
Merge pull request #7728 from v1993/patch-4
...
hid: fix std::transform call
2022-01-17 13:43:11 -05:00
Mai M
345bcd4cdf
Merge pull request #7727 from v1993/patch-3
...
hid: Correct assignment source for rotations
2022-01-17 13:42:57 -05:00
Valeri
84786dde00
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
Valeri
3431e0acf5
input_common: nitpick about SetHatButton usage
2022-01-17 12:04:38 +03:00
Valeri
a99f84f4b2
input_common: fix copy-paste error
...
Found by static analysis with PVS-Studio.
2022-01-17 11:31:38 +03:00
Valeri
8eddafd9d0
hid: fix std::transform call
...
Found by static analysis with PVS-Studio.
2022-01-17 10:47:38 +03:00
Morph
78e233c460
uisettings: Add enumeration type for themes
...
Eliminates the usage of a magic number to indicate the default index of the themes array,
2022-01-17 02:46:30 -05:00
gidoly
789af19c60
config: Change default theme to Dark Colorful
2022-01-17 02:41:53 -05:00
Valeri
c624edceba
Correct assignment source for rotations
...
Found by static analysis with PVS-Studio
2022-01-17 10:40:41 +03:00
german77
9eab07f863
input_common: Reintroduce motion from mouse and use button names
2022-01-16 20:37:34 -06:00
ameerj
a5bff8e9b3
astc_decoder: Combine FastReplicate functions to work around new NV driver bug
...
The new Nvidia drivers have a bug where the FastReplicateTo6 function produces a lookup into the REPLICATE_TO_8 table rather than the REPLICATE_TO_6 table.
This seems to be an optimization gone wrong. Combining the logic of the FastReplicate functions seems to address the bug.
2022-01-16 16:13:20 -05:00
german77
850896a52b
audio/stream: Adjust volume scale factor
2022-01-15 20:28:37 -06:00
german77
c8b3a12856
yuzu: Add volume up/down hotkeys
2022-01-15 20:28:37 -06:00
gidoly
92d676d788
Xbox controller default name nit pick
...
Discord User moon lacer pointed us that official name is 'Xbox' not 'XBox'
2022-01-16 05:59:31 +09:00
german77
419f427a01
yuzu: Remove speed limit hotkeys
2022-01-15 13:44:45 -06:00
bunnei
480b03b645
Merge pull request #7713 from gidoly/patch-3
...
Change default name for playstation controllers
2022-01-15 02:39:58 -08:00
bunnei
5eda606952
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
b54cbc985e
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
gidoly
7978ea4e8c
Change default name for ps controllers
...
Minor nitpick
Code is from narr
2022-01-15 10:29:42 +09:00
bunnei
4064e03568
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
f499c8177e
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
d8b3f665db
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
03884b7ea6
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
c905044e1b
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
bf32fcc817
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
f6de57c1a5
common: fiber: YieldTo: Avoid hard crash on nullptr previous_fiber.
...
- When the emulator crashes to desktop below, we don't even get this captured in a log, making such issues harder to debug.
2022-01-14 16:17:19 -08:00
bunnei
cc112f971e
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
Narr the Reg
5ce5432830
core/hid: Increment shake force
...
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
2022-01-14 11:11:20 -06:00
Mai M
b2d45a4072
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
Mai M
07e477f891
Merge pull request #7698 from bunnei/mem-code-memory-updates
...
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
2022-01-14 00:41:17 -05:00
bunnei
2147240e47
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
bunnei
f1aa7ff893
Merge pull request #7690 from Morph1984/increase-file-limit-win
...
yuzu: main: Increase the open file limit on Windows to 8192
2022-01-13 21:25:06 -08:00
bunnei
b3bcf0fa88
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
Narr the Reg
8185509683
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
Narr the Reg
d348070226
core/hid: Reduce gyro threshold even more
2022-01-11 23:15:39 -06:00
bunnei
eb7197eb47
Merge pull request #7697 from abouvier/opt-tests
...
cmake: make tests optional
2022-01-11 20:58:16 -08:00
bunnei
49a0e4330e
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
6ac44f3bdc
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
6123b6ea45
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
081669c334
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
599c0763e5
Merge pull request #7684 from bunnei/set-mem-perm-attr
...
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11 16:26:17 -08:00
Alexandre Bouvier
c8b358dba2
cmake: make tests optional
2022-01-12 00:36:20 +01:00
Morph
d92b5fc435
common: bit_util: Add IsPow2 helper function
...
Makes use of std::has_single_bit() to check whether the value is a power of 2.
2022-01-11 16:01:12 -05:00
bunnei
c65c651b6f
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
Morph
36da4d1121
yuzu: main: Increase the open file limit on Windows to 8192
...
This is a temporary solution for now to accommodate for mods containing more than 4096 files.
2022-01-09 21:33:58 -05:00
Morph
b3308830b2
Merge pull request #7683 from liushuyu/fmt-8.1
...
logging: adapt to changes in fmt 8.1
2022-01-09 18:29:59 -08:00
Morph
18adea343e
Merge pull request #7687 from german77/tas_handle
...
input_common: Handle errors on TAS scripts
2022-01-09 16:43:06 -08:00
liushuyu
09f4f3f23b
logging/log.h: move enum class formatter to a separate file ...
...
... to common/logging/formatter.h
2022-01-09 17:35:33 -07:00
liushuyu
099dd0c0d2
logging/log: use underlying_type
instead of hardcoding types
2022-01-08 16:02:49 -07:00
bunnei
acbfb0083a
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
af4696657c
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
german77
ea089c012e
input_common: Handle errors on TAS scripts
2022-01-08 12:27:16 -06:00
bunnei
b9a313057e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
liushuyu
42f653ab6f
logging: adapt to changes in fmt 8.1
2022-01-08 01:49:26 -07:00
bunnei
26f4e92c1f
Merge pull request #7680 from german77/accel_mapping
...
input_common: Allow to only have acceleration motion data
2022-01-08 00:06:15 -08:00
german77
873d26b335
yuzu: Use pad parameter to choose the correct controller
2022-01-07 16:56:36 -06:00
german77
d05675242a
input_common: Fix udp motion not automapping to both sides
2022-01-07 16:56:36 -06:00
german77
72c8a94a6c
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
b94e947793
core/hid: Add home and screenshot button support
2022-01-06 21:11:27 -06:00
german77
50a7152941
core/hid: Set minimum gyro threshold
2022-01-06 20:05:59 -06:00
german77
4b4af29f86
input_common: Use accelerometer data for mapping
2022-01-06 20:05:49 -06:00
Fernando S
a95c49e7d0
Merge pull request #7658 from ameerj/sparse-fixes
...
video_core/memory_manager: Fixes for sparse memory management
2022-01-06 13:50:14 +01:00
bunnei
f46e1b8ca2
Merge pull request #7674 from lat9nq/fix-custom-highlight
...
configure_per_game: Initialize tabs after loading custom configuration
2022-01-05 16:14:15 -08:00
Mai M
7116a7d28b
Merge pull request #7673 from german77/no_return
...
glsl: Remove unreachable return
2022-01-05 06:41:16 -05:00
lat9nq
62c13e8318
configure_per_game: Initialize tabs after loading custom configuration
...
Changes tab initialization to happen after the configuration is loaded,
which means that it no longer happens as member initializers in the
ConfigurePerGame constructor. Removes the cluster of
??_tab->SetConfiguration's that I added earlier to get around this issue
initially.
Fixes a regression in #6774
2022-01-04 23:43:19 -05:00
Narr the Reg
41bbb31af4
video_core: Remove unnecesary maybe_unused flag
2022-01-04 21:25:47 -06:00
Narr the Reg
524674aafc
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
bunnei
afb06b1495
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
Fernando S
118d5fa3b0
Merge pull request #7670 from ameerj/vsync-block
...
gpu: Add shut down method to synchronize threads before destruction
2022-01-04 14:16:24 +01:00
bunnei
c68a0d17fc
Merge pull request #7251 from FernandoS27/shader-dump
...
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-03 17:56:30 -08:00
ameerj
c17938f96b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01:00
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit e773354477
, reversing
changes made to abbbdc2bc0
.
2022-01-03 20:28:54 -05:00
bunnei
e773354477
Merge pull request #7668 from ameerj/fence-stop-token
...
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03 16:40:36 -08:00
bunnei
abbbdc2bc0
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
bunnei
05b7b177f6
Merge pull request #7662 from german77/uistatus
...
yuzu: Fix UI elements not updating correctly
2022-01-03 13:24:15 -08:00
bunnei
b89d096652
Merge pull request #7663 from german77/applet
...
controller_applet: Only populate supported controllers
2022-01-03 10:51:51 -08:00
ameerj
d866916f42
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
Fernando S
da8e0f6571
Merge pull request #7648 from bunnei/thread-pinning
...
core: hle: kernel: Implement thread pinning.
2022-01-03 02:01:26 +01:00
Fernando S
3fa9702952
Merge pull request #7624 from ameerj/intel-msaa-scale
...
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
2022-01-03 00:40:14 +01:00
Fernando S
ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
german77
7a13a515d9
core/hid: Add fallback to fullkey controllers
2022-01-01 22:01:13 -06:00
german77
133f497f84
controller_applet: Only populate supported controllers
2022-01-01 21:42:17 -06:00
german77
a9ad983c13
yuzu: Fix UI elements not updating correctly
2022-01-01 17:57:43 -06:00
ameerj
951c61aeaa
texture_cache/util: Fix s32 overflow when resolving overlaps
2021-12-31 20:03:22 -05:00
ameerj
285b6dbc39
video_core/memory_manager: Fixes for sparse memory management
2021-12-31 17:04:02 -05:00
ameerj
2428214c4b
video_core/memory_manager: Deduplicate Read/WriteBlock
2021-12-31 02:08:22 -05:00
bunnei
667a8ae163
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
3a89723d97
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
german77
9ee5c4ec56
core/hid: Fix controller type validation
2021-12-29 22:51:53 -06:00
bunnei
5e58271903
Merge pull request #7635 from bunnei/set-heap-size
...
core: hle: kernel: Updated implementation of svcSetHeapSize.
2021-12-29 20:30:12 -08:00
ameerj
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
ameerj
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
9f34be5a61
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05:00
ameerj
14ac0c2923
shader: Add integer attribute get optimization pass
...
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
bunnei
279c7bcc1a
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08:00
Matías Locatti
c7235e67ef
Empty spaces
2021-12-28 18:50:51 -03:00
Matías Locatti
840d5520d2
Changes to avoid warnings in SSE4.2 optimized SPIR-V
2021-12-28 17:35:55 -03:00
Feng Chen
1eec9590c3
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
e18bf4b062
Remove invalid header include
2021-12-28 18:51:11 +08:00
Feng Chen
88e1e7f14b
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
091463a429
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
f67605e6aa
Merge pull request #7622 from ameerj/vk-rescale-invalid-ptr
...
vk_texture_cache: Fix invalidated pointer access
2021-12-28 00:46:37 -08:00
bunnei
9a0648ff0a
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
c9e4acc4e2
Merge pull request #7630 from ameerj/glasm-get-int
...
emit_glasm_context_get_set: Fix GetAttribute return value type.
2021-12-27 16:35:11 -08:00
bunnei
292dfac25e
Merge pull request #7620 from bunnei/kernel-thread-x18
...
core: hle: kernel: KThread: X18 should be a cryptographically random number.
2021-12-25 00:42:54 -08:00
ameerj
37addf7a94
emit_glasm_context_get_set: Fix GetAttribute return value type.
...
GetAttribute expects an F32 result type at the IR level, this fixes the return value of attributes which were not returning an F32
2021-12-24 20:45:07 -05:00
ameerj
640fc1418b
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
ameerj
f9e0681d59
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
...
Fixes a crash when scaling MSAA textures in titles such as Sonic Colors Ultimate.
2021-12-23 22:35:19 -05:00
ameerj
cbc0f0a66e
blit_image: Remove unused function
2021-12-23 21:06:32 -05:00
ameerj
481b210c0d
vk_texture_cache: Fix invalidated pointer access
...
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
bunnei
4e7a6639d2
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
a0c7d93b84
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
516325eba8
Merge pull request #7614 from liushuyu/fix-linux-inhibit
...
main: Fix wake lock (prevent sleep) in Flatpak
2021-12-22 16:53:54 -08:00
Fernando S
b85f5b1332
Merge pull request #7616 from bunnei/fix-get-idle-ticks
...
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
2021-12-22 17:39:17 +01:00
Fernando S
648c7b4ed6
Merge pull request #7375 from vonchenplus/convert_legacy
...
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
liushuyu
14fc1bec17
main: reword inhibit reason
2021-12-22 02:33:01 -07:00
liushuyu
fa7abafa5f
main: fix wake lock in Flatpak ...
...
... by using the XDP system
2021-12-22 02:27:09 -07:00
bunnei
36df305b13
Merge pull request #7599 from FernandoS27/primrestart-vulkan
...
Vulkan: Fix Primitive Restart and implement Logical Operations
2021-12-22 00:19:23 -08:00
bunnei
f1eff447bb
Merge pull request #7602 from jbeich/freebsd-vaapi
...
build: enable VA-API on FreeBSD
2021-12-21 22:46:49 -08:00
bunnei
49e3c073a5
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
6991d447d4
Merge pull request #7604 from ameerj/fullscreen-render-window
...
main: Make separate render window fullscreen toggle on the monitor it resides in
2021-12-21 18:05:11 -08:00
bunnei
b30a1d49ff
Merge pull request #7608 from Tatsh/scm-ver-override
...
Allow overriding SCM version info
2021-12-21 16:07:27 -08:00
bunnei
5e24f7ed31
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
Andrew Udvare
caf38725ae
Allow overriding SCM version info
...
If the build is from a non-repository, these functions will return empty. This
patch allows using defines to CMake to set version info such as
-DGIT_BRANCH=master.
2021-12-20 19:13:07 -05:00
bunnei
ee6d40d414
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
3074b2eb93
main: Refactor to reduce code duplication in ShowFullscreen()
2021-12-19 02:09:37 -05:00
ameerj
39bb6851e4
main: Make render window borderless fullscreen toggle on the monitor it resides in
...
Toggling borderless fullscreen on the separate render window made it fullscreen on the monitor which the main yuzu window resided in.
This change allows the render window to go fullscreen on the monitor it resides in, independent of the main window location.
2021-12-19 02:08:48 -05:00
ameerj
55650c5b75
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
Jan Beich
e57b13ad94
video_core/codecs: re-enable VAAPI/VDPAU on BSDs after 72aa418b0b
2021-12-18 20:57:30 +00:00
Morph
8e33cf1c2b
Merge pull request #7593 from german77/brrr_test
...
core/hid: Cancel any vibration after the test
2021-12-18 15:53:15 -05:00
Morph
6fb212784e
Merge pull request #7600 from bunnei/fix-kip-loading
...
core: loader: kip: Minimal changes to fix KIP loading.
2021-12-18 15:50:25 -05:00
bunnei
2030522d86
Merge pull request #7587 from liushuyu/fix-linux-decoding
...
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
2021-12-18 02:33:07 -08:00
bunnei
212b497d5c
Merge pull request #7302 from VPeruS/check-deadlock
...
[input_common] Fixed thread hang
2021-12-17 23:43:19 -08:00
bunnei
7feac8ba46
core: loader: kip: Minimal changes to fix KIP loading.
...
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
2021-12-17 23:08:51 -08:00
vonchenplus
4908a07c20
Address format clang
2021-12-18 14:27:07 +08:00
Fernando Sahmkow
6c00151d17
Vulkan: Fix the checks for primitive restart extension.
2021-12-18 07:17:08 +01:00
Fernando S
04b4f3b051
Merge pull request #7399 from ameerj/art-refactor
...
video_core: Refactoring post A.R.T. merge
2021-12-18 07:09:58 +01:00
vonchenplus
6ebc972c2b
Remove spirv handle legacy related code
2021-12-18 14:08:50 +08:00
vonchenplus
94652e122d
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00
Feng Chen
e49184e606
Merge branch 'yuzu-emu:master' into convert_legacy
2021-12-18 13:57:14 +08:00
Fernando Sahmkow
14d2c77f91
Vulkan: implement Logical Operations.
2021-12-18 06:52:28 +01:00
Fernando Sahmkow
6430fc29a9
Vulkan: Implement VK_EXT_primitive_topology_list_restart
2021-12-18 05:47:48 +01:00
bunnei
77d06d5df0
Merge pull request #7570 from ameerj/favorites-expanded
...
game_list: Add persistent setting for the favorites row expanded state
2021-12-17 16:09:05 -08:00
bunnei
c73841500a
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
vperus
11f4bf8a9a
[input_common] Move variable declaration closer to usage
...
MSVC supplied with VS2022 generates "warning C4189: 'CALIBRATION_THRESHOLD':
local variable is initialized but not referenced" which is treated as an
error.
Circumvent it by moving constexpr variable directly into body of lambda function.
2021-12-17 20:51:47 +02:00
Narr the Reg
c82e6dc810
core/hid: Cancel any vibration after the test
2021-12-16 13:35:15 -06:00
bunnei
e242f16986
Merge pull request #7532 from goldenx86/patch-3
...
Update video core popup
2021-12-15 22:32:27 -08:00
Matías Locatti
333ccf23f8
Suggestions from CrusadingNinja
2021-12-16 02:57:45 -03:00
Matías Locatti
1cdddd17d2
Changed link
2021-12-16 02:40:30 -03:00
bunnei
7cf74abbf5
Merge pull request #7551 from vonchenplus/fix_blit_image_view_mismatching
...
Fix blit image/view not compatible
2021-12-15 21:39:53 -08:00
liushuyu
3f765ea9a4
video_core/codecs: (re-spin) refactor ffmpeg searching and handling
2021-12-15 20:57:01 -07:00
bunnei
b3fc36d989
Merge pull request #7588 from Wunkolo/gibibibi-bytes
...
yuzu/main: Fix host memory byte units. GB to GiB
2021-12-15 12:04:37 -08:00
bunnei
2f32133ad5
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
2021-12-15 00:02:53 -08:00
Wunkolo
44b3abdfc0
yuzu/main: Fix host memory byte units. GB to GiB
...
I have `134850146304` bytes of ram and Yuzu was saying that I had `125.59 GB`
of ram. But `125.59` is actually the amount of gi**bi**bytes I have. In
gi**ga**bytes I would have `134.9`.
Additionally, I changed the `1024 / 1024 / 1024` here into the `_GiB`
user-literals that I added a while ago(#6519 ).
https://www.wolframalpha.com/input/?i=134850146304+bytes
2021-12-14 23:57:33 -08:00
bunnei
156215d1fa
Merge pull request #7565 from liushuyu/fix-linux-decoding
...
video_core/codecs: refactor ffmpeg searching and handling in cmake
2021-12-14 22:27:13 -08:00
Mai M
019ae82c94
Merge pull request #7558 from Morph1984/unused-cpu-family-model
...
common/cpu_detect: Remove CPU family and model
2021-12-14 23:43:16 -05:00
Mai M
822259a3f2
Merge pull request #7549 from Morph1984/astc-8x5
...
maxwell_to_vk: Add ASTC_2D_8X5_UNORM
2021-12-14 23:42:44 -05:00
Mai M
f0ed11e318
Merge pull request #7579 from Morph1984/swkbd-oob-array-access
...
qt_software_keyboard: Fix out of bounds array access
2021-12-14 23:42:07 -05:00
Narr the Reg
6aac5d4c27
core/hid: Fix faulty analog triggers
2021-12-14 19:49:44 -06:00
Narr the Reg
5e732e7aec
Merge pull request #7581 from lioncash/input-iface
...
common/input: Avoid numerous large copies of CallbackStatus
2021-12-14 19:10:39 -06:00
Narr the Reg
ac0c5be7c0
Merge pull request #7577 from v1993/patch-2
...
input/SDL: Update SDL hints
2021-12-14 10:12:17 -06:00
Valeri
7f965172c5
input/SDL: Update SDL hints
...
SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED is no longer needed thanks to new default in SDL 2.0.18.
SDL_HINT_JOYSTICK_HIDAPI_XBOX is reported to cause conflicts with native driver Xbox driver on Linux, and Xbox controllers don't benefit from hidapi anyways.
2021-12-14 15:02:03 +03:00
liushuyu
dd72e4dce4
CI: fix CI on Linux
2021-12-13 22:31:19 -07:00
liushuyu
a2d73eaa10
video_core/codecs: skip decoders that use hw frames ...
...
... this would resolve some edge-cases where multiple devices are
present and ffmpeg is unable to auto-supply the hw surfaces
2021-12-13 22:29:19 -07:00
Lioncash
e05d2a70b2
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
2021-12-13 21:22:02 -05:00
Morph
4af413623b
common/cpu_detect: Remove CPU family and model
...
We currently do not make use of these fields, remove them for now.
2021-12-13 20:45:18 -05:00
Lioncash
54eafbaf17
common/input: Remove unnecessary returns
...
Given these return void, these can be omitted.
2021-12-13 20:43:12 -05:00
Lioncash
5e7e38ac72
input_poller: Add missing override specifiers
2021-12-13 20:41:17 -05:00
Lioncash
6497fbfa96
input_mapping: Amend specification of parameters
...
param tags are supposed to specify the parameter name without any
quoting.
Silences several -Wdocumentation warnings.
2021-12-13 20:31:59 -05:00
Lioncash
7783c0aaef
input_poller: Remove several unnecessary @param tags
...
Silences quite a bit of -Wdocumentation warnings, given the @param tag
is only intended to be used to identify function parameters, not what it
contains.
2021-12-13 20:28:30 -05:00
bunnei
ad45963b45
Merge pull request #7575 from lioncash/input
...
input_engine: Minor object churn cleanup
2021-12-13 16:50:54 -08:00
Morph
96579e515a
qt_software_keyboard: Fix out of bounds array access
...
We were unconditionally accessing the keyboard_buttons array, even if the bottom_osk_index was for the numberpad, leading to an out of bounds array access. Fix this by accessing the proper array for the current button when the index is for the numberpad.
2021-12-13 19:04:07 -05:00
Lioncash
54ca48e8b7
tas_input: Avoid minor copies in Read/WriteCommandButtons()
...
We don't need to copy the whole pair
2021-12-13 11:45:19 -05:00
Lioncash
734fb180bb
tas_input: Remove unnecessary semicolon
...
Resolves a -Wextra-semi warning
2021-12-13 11:45:19 -05:00
Lioncash
ddda6ae776
tas_input: Execute clear() even if empty
...
clear() when empty is simply a no-op, so we can get rid of the check
here and let the stdlib do it for us.
2021-12-13 11:45:18 -05:00
Lioncash
db9320e754
tas_input: Remove unnecessary includes
...
Gets rid of indirect includes and includes only what the interface
needs.
2021-12-13 11:45:18 -05:00
Lioncash
26ef76213c
tas_input: std::move strings into vector
...
While we're in the same area, we can also avoid performing std::stoi in
a loop when it only needs to be performed once.
2021-12-13 11:45:15 -05:00
Lioncash
a515ede2af
tas_input: Use istringstream over stringstream
...
This is only using the input facilities, so we don't need to use the
fully-fleged stringstream.
2021-12-13 10:57:53 -05:00
Lioncash
6be730bdcd
tas_input: Use u8string_view instead of u8string
...
Same behavior, but without the potential for extra allocations.
2021-12-13 10:54:43 -05:00
Lioncash
37a8e2a67e
tas_input: Remove unused std::smatch variable
...
This also means we can get rid of the dependency on <regex>
2021-12-13 10:50:24 -05:00
Lioncash
d52ad96ce3
tas_input: Amend -Wdocumentation warnings
...
Parameters shouldn't have the colon by their name.
2021-12-13 10:49:11 -05:00
Lioncash
c126b0718c
tas_input: Make TasAxes enum an enum class
...
Prevents these values from potentially clashing with anything in other
headers.
2021-12-13 10:41:32 -05:00
Lioncash
e4de1783e1
input_engine: Fix typo in TriggerOnAxisChange() parameter name
2021-12-13 10:21:37 -05:00
Lioncash
a9d39b6895
input_engine: Simplify PreSet* family of functions
...
We can make use of try_emplace() to insert values only if they don't
already exist.
2021-12-13 10:18:04 -05:00
Lioncash
4d4a234476
input_engine: Avoid redundant map lookups
...
We can use iterators to avoid looking up into maps twice in the getter
functions.
At the same time we can also avoid copying the ControllerData structs,
since they're 264 bytes in size.
2021-12-13 09:57:51 -05:00
Lioncash
e51b852aee
input_engine: Remove left-over namespace qualifiers
...
These types are part of the InputCommon namespace.
2021-12-13 09:57:51 -05:00
Lioncash
e826e6715a
input_engine: Iterate by reference rather than by value where applicable
...
Avoids creating copies of several object instances (some of which being
over 100 bytes in size).
2021-12-13 09:57:51 -05:00
Lioncash
755822ceec
input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange()
...
Copies the BasicMotion instance once instead of twice.
2021-12-13 09:57:39 -05:00
Lioncash
a92dbec962
input_engine: std::move InputIdentifier in SetCallback()
...
Allows avoiding std::function allocations.
2021-12-13 09:23:23 -05:00
Lioncash
985599e485
input_engine: Pass LedStatus by const reference
...
Avoids copies where reasonably applicable
2021-12-13 09:20:58 -05:00
Lioncash
38f3442ea5
input_engine: Pass VibrationStatus by const reference in SetRumble()
...
Avoids creating copies of the struct where not necessary.
2021-12-13 09:16:10 -05:00
Lioncash
2b92d22bda
input_engine: std::move engine name where applicable
...
We can allow the name to be moved into, allowing allocations to be
avoided.
2021-12-13 09:05:50 -05:00
Lioncash
9a104e2b60
input_engine: Remove callback clearing in constructor
...
The callback map is a member variable, so this will always be empty on
initial construction.
2021-12-13 08:54:23 -05:00
Lioncash
479369db43
input_engine: Remove unnecessary semi-colons
...
Silences -Wextra-semi warnings
2021-12-13 08:53:01 -05:00
Lioncash
3c618a3306
input_engine: Remove unnecessary return
...
This is a void function, so it doesn't need this.
2021-12-13 08:52:09 -05:00
Valeri
04301e1a8a
Remove erroneous #pragma once
2021-12-13 16:49:01 +03:00
bunnei
280c779898
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
Narr the Reg
316f80af87
service/hid: Improve console motion accuracy
2021-12-12 23:26:04 -06:00
ameerj
b64d28492a
game_list: Add persistent setting for the favorites row expanded state
...
Previously, the favorites row was always expanded on launch. This change introduces a persistent setting that allows the favorites row's expanded state to be remembered between launches.
2021-12-12 15:46:42 -05:00
Morph
14110230c7
maxwell_to_vk: Add ASTC_2D_5X4_UNORM
2021-12-10 22:44:24 -05:00
Feng Chen
1598426493
Fix blit image/view not compatible
2021-12-10 12:41:09 +08:00
Morph
ae4869650a
maxwell_to_vk: Add ASTC_2D_8X5_UNORM
...
- Used by Lego City Undercover
2021-12-09 13:53:53 -05:00
Morph
429320aee8
Merge pull request #7495 from FernandoS27/text-blit-fix-again
...
Texture Cache: Fix mismatching image/views on blits
2021-12-09 05:26:21 -05:00
bunnei
46366c6dca
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
Morph
9ba812485a
profiler: Use QWheelEvent position().toPoint()
...
QWheelEvent::pos() is deprecated. Make use of position().toPoint() instead.
2021-12-08 15:25:46 -05:00
Morph
47a724780f
renderer_vulkan: Add R16G16_UINT
...
- Used by Immortals Fenyx Rising
2021-12-08 10:55:11 -05:00
bunnei
5f7e73c74a
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07 23:31:44 -08:00
bunnei
f6e8e61e3e
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
815189eaf3
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
Mai M
5b2cb22a04
Merge pull request #7506 from heinermann/focus_crash
...
Fixed #7502
2021-12-07 18:28:16 -05:00
Mai M
edbde7a220
Merge pull request #7522 from ameerj/shader-recompiler-filenames
...
shader_recompiler/backend: Minor organization and refactoring to reduce compile time overhead
2021-12-07 18:27:50 -05:00
itsmeft24
e05c86aa3c
Update k_code_memory.h
2021-12-07 16:58:23 -05:00
itsmeft24
d197246880
make KCodeMemory::GetSourceAddress const
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-07 07:58:33 -05:00
Matías Locatti
60bdedc7dd
main: Update video core popup
...
Old version had formatting issues, and I want to provide an answer to the most common reason this pops up in the first place, outdated drivers.
2021-12-06 20:35:07 -05:00
bunnei
257d3c9ecf
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
9a9e7dd78b
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
834c25f4d9
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
a63af9860b
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
3f8eb44e7d
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
2e8d737a96
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
0d1bdfc1d4
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
d7f6d516ce
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
e596fac6ee
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
efb5de1c5f
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
a2384a18fa
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
42697527ba
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
e3d156ab0e
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
0d9afdedc4
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
FernandoS27
894ed14ebc
hle: kernel: fix timing on thread preemption
2021-12-06 16:39:18 -08:00
FernandoS27
3c2a451f47
hle: kernel: fix scheduling ops from HLE host thread.
2021-12-06 16:39:17 -08:00
bunnei
abbea575cf
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
2c49a65d2b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
8f4ff06c4c
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
316a2dd22a
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
4c74761155
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
f3d6e31e78
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
f62c7091a2
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
b0671c7cfa
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
beb55cb90e
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
e942d97540
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5dff28290f
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
423acf53b7
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
15c721b909
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
2f89456041
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bunnei
bc1399204b
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
bunnei
3dc803a430
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-12-06 16:39:17 -08:00
bunnei
d14b8fc747
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00
bunnei
08c63d5c75
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-12-06 16:39:17 -08:00
bunnei
07690572f7
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-12-06 16:39:16 -08:00
bunnei
3239442de6
core: hle: kernel: DisableDispatch on suspend threads.
2021-12-06 16:39:16 -08:00
bunnei
284015dfd7
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-12-06 16:39:16 -08:00
bunnei
d604edfedf
core: cpu_manager: Use KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
178584e56f
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-12-06 16:39:16 -08:00
bunnei
629f9274ac
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-12-06 16:39:16 -08:00
bunnei
13c82d042f
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-12-06 16:39:16 -08:00
bunnei
f412d2027a
core: hle: kernel: k_scheduler: Improve Unload.
2021-12-06 16:39:16 -08:00
bunnei
f13fce3953
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-12-06 16:39:16 -08:00
bunnei
4c18a207a4
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-12-06 16:39:16 -08:00
bunnei
04daefa488
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
3bd5d4b6f8
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-12-06 16:39:16 -08:00
bunnei
669a2d2c67
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-12-06 16:39:16 -08:00
Morph
c61857286d
CMakeLists: Specify /Zm200 when compiling in MSVC
...
This increases the memory heap size for constructing precompiled headers to 2x the default.
2021-12-06 19:31:26 -05:00
bunnei
bafee97589
Merge pull request #7524 from german77/hid_stub
...
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
2021-12-06 13:06:18 -08:00
german77
ac1bfe228f
service/notif: Add notif:a and stub ListAlarmSettings,Initialize
...
Used by ring fit adventure 1.2.0
2021-12-06 10:36:37 -06:00
itsmeft24
8ed2748820
fix formatting
2021-12-06 11:02:33 -05:00
itsmeft24
e10903cab9
move private members below public members
2021-12-06 10:37:13 -05:00
itsmeft24
4bdacdedc1
fix formatting
2021-12-06 10:37:09 -05:00
itsmeft24
32854a2992
fix formatting
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-06 07:58:28 -05:00
german77
189741b521
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
...
Used by ring fit adventure 1.2.0
2021-12-05 22:44:31 -06:00
jam1garner
29559930e9
loader: Support loading subsdk{8,9}
2021-12-05 23:07:50 -05:00
itsmeft24
14c03b9748
fix formatting
2021-12-05 19:00:29 -05:00
itsmeft24
8254f238b9
Remove unnecessary includes
2021-12-05 18:49:40 -05:00
ameerj
7105204a7e
emit_spirv: Reduce emit_spirv.h include overhead
...
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
2021-12-05 18:11:19 -05:00
ameerj
1e1f7b3234
glasm: Move implemented instructions from not_implemented.cpp
2021-12-05 18:11:19 -05:00
ameerj
f32b2bcd20
shader_recompiler: Adjust emit_context includes
2021-12-05 18:11:19 -05:00
german77
d6ae9c68f8
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-05 16:18:23 -06:00
itsmeft24
b7d80c127f
Add copyright notice
2021-12-05 16:49:52 -05:00
ameerj
5286a7bc4c
shader_recompiler: Rename backend emit_context files
2021-12-05 16:33:44 -05:00
ameerj
41aec2773f
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
itsmeft24
36350d3f78
Add KCodeMemory to CMakeLists.txt
2021-12-05 15:56:44 -05:00
ameerj
228a381aed
vk_texture_cache: Add ABGR src format check for D24S8 conversions
2021-12-05 15:54:58 -05:00
ameerj
c22c4f5d59
renderer_opengl: Minor refactoring of filter selection
2021-12-05 15:42:45 -05:00
ameerj
218d790bd6
texture_cache: Fix image convert dimensions assertion
2021-12-05 15:42:45 -05:00
ameerj
b8f3e5157b
blit_image: Refactor upscale factors usage
...
The image view itself can be queried to see if it is being rescaled or not, removing the need to pass the upscale/down shift factors from the texture cache.
2021-12-05 15:42:44 -05:00
ameerj
35d94dcb2b
vk_texture_cache: Add a function to ImageView to check if src image is rescaled
2021-12-05 15:39:00 -05:00
ameerj
4a13f9eecd
blit_image: Refactor ConvertPipeline functions
2021-12-05 15:39:00 -05:00
ameerj
ad99bbf5fe
blit_image: Refactor ConvertPipelineEx functions
...
reduces much of the duplication between the color/depth variants
2021-12-05 15:38:59 -05:00
ameerj
b387a26f30
vk_blit_screen: Minor refactor of filter pipeline selection
2021-12-05 15:35:35 -05:00
ameerj
75c4aec8ab
Revert "Merge pull request #7395 from Morph1984/resolve-comments"
...
This reverts commit d20f91da11
, reversing
changes made to 5082712b4e
.
2021-12-05 15:35:35 -05:00
itsmeft24
8aef8f39d8
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
...
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
german77
7347cdb651
core/hid: Add missing controller type
2021-12-05 13:57:59 -06:00
Fernando S
f1f91ad468
Merge pull request #7494 from Morph1984/no-time-to-wait
...
native_clock: Wait for less time in EstimateRDTSCFrequency
2021-12-05 18:56:38 +01:00
Adam Heinermann
7220056974
Fixed #7502
2021-12-04 23:22:39 -08:00
german77
7fe455e42e
core/hid: Ensure only valid npad are connected
2021-12-04 23:20:18 -06:00
Feng Chen
5462485cc3
Address feedback
2021-12-05 00:06:14 +08:00
Fernando Sahmkow
a5c212516c
Texture Cache: Fix crashes on NVIDIA.
2021-12-04 11:26:58 +01:00
bunnei
e482dd82b9
Merge pull request #7467 from liushuyu/fix-linux-decoding
...
video_core/codecs: more robust ffmpeg hwdecoder selection logic
2021-12-03 17:11:12 -08:00
Morph
f919498f8f
native_clock: Wait for less time in EstimateRDTSCFrequency
...
In my testing, waiting for 200ms provided the same level of precision as the previous implementation when estimating the RDTSC frequency.
This significantly improves the yuzu executable launch times since we reduced the wait time from 3 seconds to 200 milliseconds.
2021-12-03 19:55:59 -05:00
bunnei
a2fb5a13b2
Merge pull request #7489 from Morph1984/steady-clock
...
general: Replace high_resolution_clock with steady_clock
2021-12-03 16:08:20 -08:00
liushuyu
e7f10de11a
video_core/cmake: link against libva explicitly ...
...
... to fix build on Flatpak (and self-builds)
2021-12-02 22:35:30 -07:00
liushuyu
a578df4c6b
video_core/codecs: more fixes for VAAPI detection ...
...
* skip impersonated VAAPI implementaions ("imposter detection")
* place VAAPI priority below CUDA/NVDEC/CUVID
2021-12-02 21:31:51 -07:00
liushuyu
20a46790d7
video_core/codec: address comments
2021-12-02 21:01:34 -07:00
liushuyu
cd27f211c8
video_core/codecs: more robust ffmpeg hwdecoder selection logic
2021-12-02 21:01:34 -07:00
bunnei
fdcc161323
Merge pull request #7490 from Morph1984/stub-album-save-screenshot
...
service: am: ISelfController: Stub SaveCurrentScreenshot
2021-12-02 18:02:26 -08:00
Morph
f138731e2f
service: am: ISelfController: Stub SaveCurrentScreenshot
...
- Used by Disney Magical World 2: Enchanted Edition
2021-12-02 20:12:24 -05:00
Morph
55d6b095e5
Merge pull request #7452 from german77/controller_navigation
...
yuzu: Implement basic controller UI navigation
2021-12-02 19:55:08 -05:00
german77
5ba7b11ba4
yuzu: Implement basic controller navigation
2021-12-02 15:17:44 -06:00
Morph
762b8ad448
general: Replace high_resolution_clock with steady_clock
...
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
2021-12-02 14:20:43 -05:00
Feng Chen
2c47f8aa18
Support multiple videos playing
2021-12-02 12:48:42 +08:00
Morph
505ae5ea1b
service: friend: Implement GetCompletionEvent
...
- Used by Super Bomberman R Online
2021-11-30 12:19:21 -05:00
Narr the Reg
46e3ed5a48
Merge pull request #7472 from Morph1984/post-kraken-cleanup
...
core: hid: Post kraken cleanup
2021-11-29 21:10:02 -06:00
Narr the Reg
e4492a9a82
input_common: Fix error with thread name
2021-11-29 22:03:47 -05:00
Morph
5deecd714b
input_interpreter: Make use of NpadButton instead of a u64
...
Allows us to be more explicit with the representation of button states and use the provided bit manipulation operators
2021-11-29 19:21:51 -05:00
Morph
322339a5fd
npad: Return NpadButton in GetAndResetPressState
...
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-29 19:21:51 -05:00
Morph
bfac21fca1
core: hid: hid_types: Add "All" to NpadButton
...
This represents a bitmask for all pressed buttons
2021-11-29 19:21:51 -05:00
Morph
b86fcf7c31
qt_controller: Make use of (Enable/Disable)AllControllerConfiguration
...
This also moves the use of DisableConfiguration to the destructor.
2021-11-29 19:21:50 -05:00
bunnei
051e63c9a1
Merge pull request #7466 from vonchenplus/add_miss_pixel_format_mapping
...
Add missing pixel format mapping
2021-11-29 15:19:15 -08:00
Morph
940375dfbb
core: hid: hid_core: Add (Enable/DIsable)AllControllerConfiguration
2021-11-29 17:59:58 -05:00
Morph
410df5446e
general: Fix handheld typo
2021-11-29 17:22:59 -05:00
Morph
04f48f0120
core: hid: Mark constructors as explicit
2021-11-29 17:20:15 -05:00
Morph
b9b28c0457
core: hid: Cleanup and amend documentation
2021-11-29 17:20:14 -05:00
vperus
660c6bec22
Revert of b01aa72
...
Caused worker_thread to be stuck in Stage1Completed state until job's destruction.
2021-11-29 16:37:11 +02:00
vperus
04fa990b0c
[input_common] Add completion test for CalibrationConfigurationJob
2021-11-29 16:33:12 +02:00
Feng Chen
524a9baa7e
Add missing pixel format mapping
2021-11-29 12:39:37 +08:00
german77
dcc4685557
qt_controller: Fix input when the controller applet is ignored
2021-11-28 21:03:42 -06:00
Fernando S
3031223153
Merge pull request #7396 from FernandoS27/blit-this-mf
...
TextureCache: Eliminate format deduction as full depth conversion has been supported.
2021-11-28 12:16:31 +01:00
Fernando Sahmkow
5a3463bc2b
Texture Cache: Secure insertions against deletions.
2021-11-28 10:53:27 +01:00
bunnei
11a9bff36d
Merge pull request #7438 from german77/homebrew2
...
Core: Stub services and functions needed for checkpoint
2021-11-28 00:54:48 -08:00
Narr the Reg
54f007efc6
core/ns: Implement GetReadOnlyApplicationControlDataInterface
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
Narr the Reg
50d8e753c5
core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
german77
51df96b7c0
settings: Add debug setting to enable all controllers
2021-11-27 20:24:37 -06:00
Narr the Reg
f966c05a74
core/hid: Stub GetUniquePadsFromNpad
...
Used in checkpoint homebrew
2021-11-27 09:03:10 -06:00
Fernando S
564f105277
Merge pull request #7255 from german77/kraken
...
Project Kraken: Input rewrite
2021-11-27 11:52:08 +01:00
Fernando Sahmkow
ecefc932e6
Texture Cache: Redesigning the blitting system (again).
2021-11-27 11:22:16 +01:00
german77
182cd9004f
config: Remove vibration configuration
2021-11-26 19:31:04 -06:00
german77
a4a0638bc8
applet/controller: Enable configuring mode while the applet is open
2021-11-26 18:55:28 -06:00
bunnei
157985f556
Merge pull request #7431 from liushuyu/fix-linux-decoding
...
video_core/codecs: fix multiple decoding issues on Linux
2021-11-26 15:38:40 -08:00
Narr the Reg
639402850a
input_common: Fully implement UDP controllers
2021-11-26 15:46:36 -06:00
Fernando Sahmkow
1624f307d0
Texture Cache: Further fix regressions.
2021-11-26 17:03:48 +01:00
bunnei
06ad463ec8
Merge pull request #7330 from MightyCreak/simplify-theme-selection
...
Replace "Light" theme by "Default"
2021-11-25 01:52:48 -08:00
Narr the Reg
23bf2e3bb6
service/hid: Finish converting LIFO objects and address some nits
2021-11-24 20:30:29 -06:00
german77
e64ee99f00
yuzu: Fix TAS from rebase
2021-11-24 20:30:29 -06:00
german77
746c85b560
input_common: Move button names to the frontend
2021-11-24 20:30:28 -06:00
german77
c4760489a0
input_common: Fix SDL controller with inverted axis
2021-11-24 20:30:28 -06:00
german77
922aa9410a
bootmanager: Use cross-platform keyboard input
2021-11-24 20:30:28 -06:00
german77
42949738f2
kraken: Address comments from review
...
Fix compiler bug
2021-11-24 20:30:28 -06:00
german77
f4e5f89e6f
core/hid: Improve accuary of mouse implementation
2021-11-24 20:30:28 -06:00
german77
654d76e79e
core/hid: Fully implement native mouse
2021-11-24 20:30:28 -06:00
german77
bca299e8e0
input_common: Allow keyboard to be backwards compatible
2021-11-24 20:30:28 -06:00
german77
b673857d7d
core/hid: Improve accuracy of the keyboard implementation
2021-11-24 20:30:28 -06:00
german77
7fcfe24a3e
core/hid: Fix keyboard alignment
2021-11-24 20:30:28 -06:00
german77
71f9b90dd9
core/hid: Remove usage of native types, fix a couple of errors with motion
2021-11-24 20:30:28 -06:00
german77
a17550be98
settings: Remove includes of core.h
2021-11-24 20:30:27 -06:00
german77
e7eee36d52
service/hid: Remove includes of core.h and settings.h
2021-11-24 20:30:27 -06:00
Levi Behunin
690013b342
UI nits
...
Set top margin to 6 on Right Stick, LeftStick, Face Buttons, D-Pad.
Change property on Input Device QComboBox from minimumSize to minimumContentsLength.
2021-11-24 20:30:27 -06:00
german77
b21fcd9527
service/hid: Add support for new controllers
2021-11-24 20:30:27 -06:00
german77
d14e74132c
settings: Fix controller preview not displaying the correct controller
2021-11-24 20:30:27 -06:00
german77
5d0f3540c4
core/hid: Rename NpadType to NpadStyleIndex
2021-11-24 20:30:27 -06:00
german77
84c58666a4
config: Cleanup and documentation
2021-11-24 20:30:27 -06:00
german77
c35af8d1c0
input_common: Fix motion from 3 axis
2021-11-24 20:30:27 -06:00
german77
157e0b85fd
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
2021-11-24 20:30:27 -06:00
german77
136eb9c4c2
core/hid: Fully emulate motion from button
2021-11-24 20:30:27 -06:00
german77
77fa4d4bf6
second commit lion review
2021-11-24 20:30:26 -06:00
german77
730f078302
settings: Fix Debug controller type options
2021-11-24 20:30:26 -06:00
german77
2b1b0c2a30
kraken: Address comments from review
...
start lion review
2021-11-24 20:30:26 -06:00
german77
61d9eb9f69
input_common: Revert deleted TAS functions
2021-11-24 20:30:26 -06:00
german77
5f69fdbfcc
core/hid: Explain better what a temporary value does
2021-11-24 20:30:26 -06:00
german77
d8e3f2b10b
input_common: Fix GC adapter initialization
...
Fix GC controller
2021-11-24 20:30:26 -06:00
german77
2d3a63b289
core/hid: Update structs to 13.1.0
2021-11-24 20:30:26 -06:00
german77
c085e54316
core/hid: Add TAS input
2021-11-24 20:30:26 -06:00
german77
1d71d4b874
input_common: Fix UDP uuid
2021-11-24 20:30:26 -06:00
german77
7348e205d9
input_common: Add multiple vibration curves
2021-11-24 20:30:26 -06:00
german77
064ddacf49
core/hid: Rework battery mappings
2021-11-24 20:30:26 -06:00
german77
c6c32daf40
input_common: Add manual update options to input devices
2021-11-24 20:30:26 -06:00
german77
f01dac3bf9
service/hid: Fix memory allocated incorrectly
2021-11-24 20:30:25 -06:00
german77
464c4d26ac
settings: Fix mouse and keyboard mappings
2021-11-24 20:30:25 -06:00
german77
cc651c7c99
web_applet: Replace HIDButton with NpadButton
2021-11-24 20:30:25 -06:00
german77
b564f024f0
Morph review first wave
2021-11-24 20:30:25 -06:00
german77
e2e5f1beaf
service/hid: Match shared memory closer to HW
2021-11-24 20:30:25 -06:00
german77
21819da8cd
yuzu: Fix loading input profiles
2021-11-24 20:30:25 -06:00
german77
b5e72de753
kraken: Address comments from review
...
review fixes
2021-11-24 20:30:25 -06:00
german77
95cf66b655
service/hid: Use ring buffer for gestures
2021-11-24 20:30:25 -06:00
german77
85052b8662
service/hid: Fix gesture input
2021-11-24 20:30:25 -06:00
german77
af55dd1935
configuration: Migrate controller settings to emulated controller
2021-11-24 20:30:25 -06:00
german77
c3ff0a8ac0
core/hid: Fix rumble too strong at 1%
2021-11-24 20:30:24 -06:00
german77
601ac43495
core/hid: Only signal when needed
2021-11-24 20:30:24 -06:00
german77
4d308fd0b4
hid: Fix controller connection/disconnection
2021-11-24 20:30:24 -06:00
german77
72e5920240
core/hid: Documment some files
2021-11-24 20:30:24 -06:00
german77
e0da5c1bbc
kraken: Fix errors from rebase and format files
2021-11-24 20:30:24 -06:00
german77
06a5ef5874
core/hid: Add output devices
2021-11-24 20:30:24 -06:00
german77
e14ae06391
core: Update input interpreter
2021-11-24 20:30:24 -06:00
german77
1b82d5bb4f
yuzu: Update overlay applet
2021-11-24 20:30:24 -06:00
german77
510c7d2953
core/frontend: Update applets
2021-11-24 20:30:24 -06:00
german77
dd62a0187d
core: Remove frontend/input
2021-11-24 20:30:24 -06:00
german77
c87ad2d0d6
service/hid: Rewrite npad to use ring lifo and the emulated controller
2021-11-24 20:30:24 -06:00
german77
a2ad5762e6
service/hid: Update console sixaxis to the emulated console
2021-11-24 20:30:24 -06:00
german77
800a66d25a
service/hid: Update mouse and keyboard to use ring lifo and the emulated device
2021-11-24 20:30:24 -06:00
german77
afe2d667d9
service/hid: Update touch and gestures to use ring lifo and the emulated console
2021-11-24 20:30:24 -06:00
german77
072559dede
service/hid: Update debug pad, xpad, stubbed and controller base to use ring lifo and the emulated controller
2021-11-24 20:30:23 -06:00
german77
dbe0301102
service/hid: Use remove duplicated code, update names
2021-11-24 20:30:23 -06:00
german77
db08721dcc
service/hid: Create ring LIFO
2021-11-24 20:30:23 -06:00
german77
8fff6d6c67
Qt_applets: Use new input
2021-11-24 20:30:23 -06:00
german77
6e2c84042d
settings: Cleanup settings
2021-11-24 20:30:23 -06:00
german77
456397ed39
debugger/controller: Remove TAS
2021-11-24 20:30:23 -06:00
german77
173a6b1e57
core/emu_window: Remove touch input
2021-11-24 20:30:23 -06:00
german77
c405a19b73
yuzu: Update frontend
2021-11-24 20:30:23 -06:00
german77
967cca10ff
core: Register HID
2021-11-24 20:30:23 -06:00
german77
c3f54ff232
core/hid: Add emulated controllers
2021-11-24 20:30:23 -06:00
german77
14b949a0da
yuzu_cmd: Use new input
2021-11-24 20:30:23 -06:00
german77
737d305f63
yuzu: Use new input on main and bootmanager
2021-11-24 20:30:23 -06:00
german77
29ae42f3e2
input_common: Rewrite main and add the new drivers
2021-11-24 20:30:23 -06:00
german77
6d108f0dcb
input_common: Remove obsolete files
2021-11-24 20:30:23 -06:00
german77
59b995a9e5
input_common: Rewrite SDL
2021-11-24 20:30:23 -06:00
german77
10241886dd
input_common: Rewrite udp client
2021-11-24 20:30:22 -06:00
german77
dc3ab9e110
input_common: Rewrite tas input
2021-11-24 20:30:22 -06:00
german77
395e9a449d
input_common: Rewrite gc_adapter
2021-11-24 20:30:22 -06:00
german77
fa8e23b842
input_common: Rewrite touch
2021-11-24 20:30:22 -06:00
german77
00834b84dd
input_common: Rewrite mouse
2021-11-24 20:30:22 -06:00
german77
5a785ed794
input_common: Rewrite keyboard
2021-11-24 20:30:22 -06:00
german77
4c6f2c2547
input_common: Move touch and analog from button. Move udp protocol
2021-11-24 20:30:22 -06:00
german77
854c933716
input_common: Create input poller and mapping
2021-11-24 20:30:22 -06:00
german77
ea7b1fbc67
input_common: Create input_engine
2021-11-24 20:30:22 -06:00
german77
449576df93
core/hid: Move motion_input, create input converter and hid_types
2021-11-24 20:30:22 -06:00
german77
bf71d18af9
core/hid: Move input_interpreter to hid
2021-11-24 20:30:22 -06:00
german77
ad5142ac2c
common: Rewrite and move core/frontend/input.h to common
2021-11-24 20:30:21 -06:00
Adam Heinermann
f078d3d212
Refactor menu states and shortcuts in GMainWindow. ( #7419 )
...
Refactor menu states and shortcuts in GMainWindow.
- Removed "Start", since it was always disabled unless it was "Continue"
which has now been moved to "Pause".
- Allow hotkeys to be used while in fullscreen.
- Removed the load amiibo hotkey.
2021-11-24 21:27:25 -05:00
liushuyu
60928cf8cd
video_core/codec: address comments
2021-11-24 18:06:38 -07:00
liushuyu
72aa418b0b
video_core/codecs: fix multiple decoding issues on Linux ...
...
* when someone installed Intel video drivers on an AMD system, the
decoder will select the Intel VA-API decoding driver and yuzu will
crash due to incorrect driver selection; the fix will check if the
currently about-to-use driver is loaded in the kernel
* when using NVIDIA driver on Linux with a ffmpeg that does not have
CUDA capability enabled, the decoder will crash; the fix simply
making the decoder prefers the VDPAU driver over CUDA on Linux
2021-11-24 17:23:57 -07:00
bunnei
cd6cf0422d
Merge pull request #7404 from Kewlan/per-game-framerate-cap
...
configure_general: Allow framerate cap to be used in custom game configs
2021-11-24 02:36:30 -08:00
bunnei
daecbd3a7f
Merge pull request #7394 from Morph1984/svc-SetMemoryPermission
...
kernel: svc: Implement SetProcessMemoryPermission
2021-11-22 14:06:09 -08:00
Fernando Sahmkow
08674aee87
Texture Cache: Fix issue with blitting 3D textures.
2021-11-22 06:07:21 +01:00
Mai M
ee76b546d4
Merge pull request #7406 from heinermann/tas_menu
...
Added TAS controls to the menu under Tools
2021-11-21 23:17:07 -05:00
jam1garner
4d9c9e567e
arm: dynarmic: Cleanup icache op handling
2021-11-21 22:44:13 -05:00
jam1garner
c8a67a725d
arm: dynarmic: Implement icache op handling for 'ic iallu' instruction
2021-11-21 21:18:56 -05:00
jam1garner
84eb3e7d02
arm: dynarmic: Implement icache op handling for 'ic ivau' instruction
2021-11-21 21:10:14 -05:00
Adam Heinermann
097de2febc
const fixes
2021-11-21 18:07:37 -08:00
Adam Heinermann
b7a938e817
Apply clang format
2021-11-21 18:02:08 -08:00
Adam Heinermann
f90d980837
Added TAS controls to the menu under Tools
2021-11-21 17:28:47 -08:00
Fernando Sahmkow
1e474fb9d1
Texture Cache: Correct conversion shaders.
2021-11-22 00:21:42 +01:00
Fernando Sahmkow
0902119302
Texture Cache: Always copy on NVIDIA.
2021-11-22 00:06:56 +01:00
Fernando Sahmkow
8532849439
TextureCache: Simplify blitting of D24S8 formats and fix bugs.
2021-11-22 00:00:01 +01:00
Fernando Sahmkow
d7f4434bd5
VulkanTexturECache: Use reinterpret on D32_S8 formats.
2021-11-21 21:09:49 +01:00
Fernando Sahmkow
b96caf200d
HostShaders: Fix D24S8 convertion shaders.
2021-11-21 21:04:04 +01:00
Kewlan
8e3371a5c5
configure_general: Allow framerate cap to be used in custom game configs
2021-11-21 16:57:00 +01:00
bunnei
d20f91da11
Merge pull request #7395 from Morph1984/resolve-comments
...
general: Resolve comments in PR #7368
2021-11-21 02:42:24 -08:00
bunnei
5082712b4e
Merge pull request #7389 from ameerj/screenshot-1x
...
Fix screenshot dimensions when at 1x scale
2021-11-21 02:31:32 -08:00
bunnei
ba5210675a
Merge pull request #7359 from heinermann/kthread_crash
...
Fix crash on exit due to static scoped dummy threads
2021-11-20 23:59:58 -08:00
bunnei
fc34749778
Merge pull request #7393 from Morph1984/pm-ams-get-pid
...
service: pm: Implement AtmosphereGetProcessId
2021-11-20 22:08:25 -08:00
Fernando Sahmkow
779f4ac72d
TextureCache: Eliminate format deduction as full depth conversion has been supported.
2021-11-21 05:37:01 +01:00
Morph
5cf93c1346
kernel: svc: Move all IsValid functions to an anonymous namespace
2021-11-20 22:49:13 -05:00
Morph
2726d705f8
kernel: svc: Implement SetProcessMemoryPermission
...
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
Morph
281437c811
kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission
2021-11-20 22:18:56 -05:00
Morph
a41c6dafea
vk_texture_cache: Mark VkBufferUsageFlags as static constexpr
2021-11-20 21:49:37 -05:00
Morph
095bc88428
vk_blit_image: Consolidate CreatePipelineTargetEx functions
2021-11-20 21:18:37 -05:00
Morph
9173f07a51
service: pm: Implement AtmosphereGetProcessId
...
- Used by Skyline modding framework
2021-11-20 20:56:29 -05:00
Morph
3dc38d185b
service: pm: Add all relevant result codes
2021-11-20 20:56:28 -05:00
bunnei
ea6fa044f3
Merge pull request #7368 from FernandoS27/vulkan-conv
...
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Morph
40cd0bb97b
service: pm: Rename title id to program id
2021-11-20 19:39:26 -05:00
ameerj
fe1f06c856
Fix screenshot dimensions when at 1x scale
...
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.
This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
Fernando Sahmkow
da2fe81905
TextureCache: Refactor and fix linux compiling.
2021-11-20 14:46:19 +01:00
Fernando Sahmkow
4ca6e9a9e2
TextureCache: Assure full conversions on depth/stencil write shaders.
2021-11-20 06:17:01 +01:00
Fernando Sahmkow
0857f82913
TextureCache: Implement buffer copies on Vulkan.
2021-11-20 06:15:29 +01:00
bunnei
c3e1ffc44b
Merge pull request #7294 from vonchenplus/fix_image_update_error_when_width_too_small
...
Fix image update/download error when width too small
2021-11-19 15:56:27 -08:00
Fernando Sahmkow
e02cff2f69
TextureCache: Add R16G16 to D24S8 converter.
2021-11-20 00:02:12 +01:00
Fernando Sahmkow
1d5e6a51d7
TextureCache: Add B10G11R11 to D24S8 converter.
2021-11-19 23:22:44 +01:00
Fernando Sahmkow
6f896d1fae
TextureCache: Further fixes on resolve algorithm.
2021-11-19 23:02:04 +01:00
Feng Chen
4dd85f86a8
Implement convert legacy to generic
2021-11-19 22:53:58 +08:00
bunnei
b44fbf6cdd
Merge pull request #7369 from Morph1984/amd-fsr-statusbar
...
main: Shorten AMD FSR status bar text
2021-11-19 01:20:27 -08:00
bunnei
a69813948f
Merge pull request #7342 from goldenx86/patch-3
...
Replace keys error pop up
2021-11-19 01:17:18 -08:00
bunnei
c45af76ea0
Merge pull request #7357 from Morph1984/s8_uint
...
video_core: Implement S8_UINT format
2021-11-19 01:16:49 -08:00
Fernando Sahmkow
b805c7bf05
TextureCache: Implement additional D24S8 convertions.
2021-11-19 06:27:44 +01:00
Fernando Sahmkow
0ff228405f
TextureCache: force same image format when resolving an image.
2021-11-19 05:46:57 +01:00
Morph
bc5ed1aa1b
main: Fix default AA name
...
By default, no AA is applied, not FXAA
2021-11-18 23:22:32 -05:00
Morph
a237fb5f75
configure_graphics_ui: AMD's -> AMD
...
AMD officially markets FSR as AMD FidelityFX™️ Super Resolution
2021-11-18 23:17:16 -05:00
Morph
c76163b611
main: Shorten AMD FSR status bar text
...
AMD'S FIDELITYFX SR -> FSR
2021-11-18 23:17:16 -05:00
Fernando Sahmkow
b130f648d7
TextureCache: Fix regression caused by ART and improve blit detection algorithm to be smarter.
2021-11-19 03:17:54 +01:00
Fernando Sahmkow
2ec7fcecb7
Vulkan: implement D24S8 <-> RGBA8 convertions.
2021-11-19 03:17:02 +01:00
bunnei
0bc46fedd6
Merge pull request #7349 from ameerj/ogl-convert-image
...
gl_texture_cache: Implement pixel format conversions for copies
2021-11-18 11:30:47 -08:00
bunnei
a100f5d5d4
Merge pull request #7353 from v1993/no-more-epilepsy
...
Prevent window flickering when holding Esc
2021-11-18 11:26:28 -08:00
Morph
dc61b7045b
renderer_vulkan: Implement S8_UINT stencil format
...
It should be noted that on Windows, only nvidia gpus support this format natively as of this commit.
2021-11-18 00:05:51 -05:00
ameerj
f7e155d8b9
gl_texture_cache: Round format conversion PBO to next power of 2
2021-11-17 23:49:44 -05:00
bunnei
2054013edb
Merge pull request #7355 from german77/hotkey_spam
...
hotkeys: Don't allow hotkeys to spam
2021-11-17 18:16:17 -08:00
Adam Heinermann
d8a783a368
Fix crash on exit due to static scoped dummy threads
2021-11-17 15:29:25 -08:00
Morph
6dd6dc046c
renderer_opengl: Implement S8_UINT stencil format
2021-11-17 15:05:07 -05:00
Morph
2348eb41f3
video_core: Add S8_UINT stencil format
2021-11-17 15:04:38 -05:00
german77
311324e231
hotkeys: Don't allow hotkeys to spam
2021-11-17 10:42:20 -06:00
Valeri
f7e0a37753
Prevent window flickering when holding Esc
...
Reported on discord by Levlight. Don't try to exit fullscreen if it's already off.
2021-11-17 18:07:47 +03:00
Feng Chen
894cc9d876
Fix image update/download error when width too small
2021-11-17 12:21:17 +08:00
ameerj
20ed7ba441
texture_cache: Use pixel format conversion when supported by the runtime
2021-11-16 22:32:46 -05:00
ameerj
50c3d53076
gl_texture_cache: Make FormatConversionPass more generic
...
This allows the usage of the FormatConversionPass to be applied to more than the previously used BGR conversion scenarios.
2021-11-16 22:32:11 -05:00
ameerj
35ca6274f4
gl_texture_cache: Rename BGRCopyPass to FormatConversionPass
2021-11-16 22:31:58 -05:00
Fernando Sahmkow
1c8a3d8d29
TextureCache: Fix Automatic Anisotropic.
2021-11-17 03:15:08 +01:00
FernandoS27
1128cc35b9
TextureCache: OGL query device memory if possible.
2021-11-17 01:45:50 +01:00
Fernando Sahmkow
978f598ff6
TextureCache: Fix OGL cleaning
2021-11-17 00:59:46 +01:00
Fernando Sahmkow
282e04bffb
TextureCache: Add automatic anisotropic filtering and refactor code.
2021-11-16 23:14:51 +01:00
Fernando Sahmkow
5230378709
TextureCache: Make a better Anisotropic setter.
2021-11-16 22:11:33 +01:00
Fernando Sahmkow
6c97ab571a
Texture Cache: revert Image changes.
2021-11-16 22:11:33 +01:00
Fernando Sahmkow
6f98690963
ShaderCache: Better fix for Shuffling gl_FragCoord
2021-11-16 22:11:33 +01:00
FernandoS27
d46a71e786
HostShader: fix Gaussian filter.
2021-11-16 22:11:33 +01:00
FernandoS27
de1c8c5c2c
Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs.
2021-11-16 22:11:33 +01:00
ameerj
917b2466ad
texture_cache: Refactor Render Target scaling function
2021-11-16 22:11:33 +01:00
ameerj
9fc1fa1b0d
gl_resource_manager: Ensure non EXT_framebuffer objects are created
2021-11-16 22:11:33 +01:00
FernandoS27
099b0b3167
Texture Cache: Fix memory usage on ScaleDown.
2021-11-16 22:11:33 +01:00
FernandoS27
9189aacfe2
OpenGL: Fix viewport/Scissor scaling on downscaling.
2021-11-16 22:11:33 +01:00
FernandoS27
c97c46747d
Vulkan: fix regression.
2021-11-16 22:11:33 +01:00
ameerj
87abab71ff
host_shaders: Misc copyright/style changes
2021-11-16 22:11:33 +01:00
ameerj
864f2e0b81
configure_graphics.ui: Cleanup scaling options and fix duplicate name warning
2021-11-16 22:11:33 +01:00
ameerj
99124b7261
FSR: Fix GCC build errors
2021-11-16 22:11:33 +01:00
Marshall Mohror
bb03675485
Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings
2021-11-16 22:11:33 +01:00
ameerj
47369faaab
vk_blit_screen: Fix AA destruction order
2021-11-16 22:11:32 +01:00
Marshall Mohror
dcc5b4f6b0
Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan
2021-11-16 22:11:32 +01:00
ameerj
a39e867c73
renderer_vulkan/blit_image: Use generic color state on Depth to Color blits
...
Fixes Bayonetta 2 on AMD
2021-11-16 22:11:32 +01:00
ameerj
282a4501d9
vk_texture_cache: Refactor 3D scaling helpers
2021-11-16 22:11:32 +01:00
ameerj
93c9eb196f
gl_rasterizer: Fix ScissorTest and Clear when scaling
2021-11-16 22:11:32 +01:00
ameerj
172d4f1e3b
gl_texture_cache: Simplify scaling procedures
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
5c6fa88935
OpenGlTextureCache: Fix state invalidation on rescaling.
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
c5dbd93adb
VulkanBufferCache: Avoid adding barriers between multiple copies.
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
99547d2656
HostShader: Fix gaussian and add attribution.
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
a96c9c803b
Yuzu UI: Add button for Anti Alias
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
21a8ba0437
Vulkan: Fix FXAA in AMD.
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
6cdfaee7b4
Texture Cache: Fix blitting.
2021-11-16 22:11:32 +01:00
FernandoS27
e6f1ed08fb
Vulkan: Implement FXAA
2021-11-16 22:11:32 +01:00
Marshall Mohror
056894f07a
OpenGL: fix FXAA with scaling
2021-11-16 22:11:32 +01:00
Marshall Mohror
48cf376462
OpenGL: Implement FXAA
2021-11-16 22:11:32 +01:00
Marshall Mohror
74e39ed6ee
Frontend: Add anti-aliasing method setting
2021-11-16 22:11:32 +01:00
Marshall Mohror
510caeefb3
Settings: Add anti-aliasing method setting
2021-11-16 22:11:32 +01:00
FernandoS27
2eff80b47f
QtGUI: Add buttton to toggle the filter.
2021-11-16 22:11:32 +01:00
FernandoS27
9e065b9c7d
VideoCore: Add gaussian filtering.
2021-11-16 22:11:32 +01:00
FernandoS27
bf01b7993d
TextureCache: Improve Reaper.
2021-11-16 22:11:32 +01:00
FernandoS27
bb3e95133d
Vulkan: fix waiting on semaphore.
2021-11-16 22:11:32 +01:00
Marshall Mohror
916b882ea8
Update scaleforce to use FP16
2021-11-16 22:11:32 +01:00
FernandoS27
e7fc60406e
VideoCore: Add more rescaling option.
2021-11-16 22:11:31 +01:00
FernandoS27
d37d10e7a7
TextureCache: fix rescaling in aliases and overlap joins.
2021-11-16 22:11:31 +01:00
Marshall Mohror
7506ac4118
Presentation: Fix turning FSR on and off in settings
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
4ad22c7d2b
Video Core: fix building for GCC.
2021-11-16 22:11:31 +01:00
FernandoS27
826a350e2b
Vulkan Rasterizer: Fix clears on integer textures.
2021-11-16 22:11:31 +01:00
FernandoS27
150bc45401
Texture cache: fix Intel with rescaler.
2021-11-16 22:11:31 +01:00
FernandoS27
f3ff8bdc0e
TextureCache: Fix blitting filter in Vulkan and correct viewport/scissor calculation when downscaling.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
3b61de74e6
Texture Cache: fix memory managment and optimize scaled downloads, uploads.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
c2ca55c9d5
Texture Cache: ease the requirements of textures being blacklisted.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
50b4c774cb
Vulkan: Fix Blit Depth Stencil
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
425ab9ef4b
Texture Cache: Fix downscaling and correct memory comsumption.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
b60966041c
Presentation: add Nearest Neighbor filter.
2021-11-16 22:11:31 +01:00
Marshall Mohror
37cb0377ae
vulkan: Implement FidelityFX Super Resolution
2021-11-16 22:11:31 +01:00
FernandoS27
d4f5193bd3
Texture Cache: Rescale conversions between depth and color
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
ef1dc42635
Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered.
2021-11-16 22:11:31 +01:00
ameerj
618de4e787
vulkan: Fix rescaling push constant usage
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
b7ccc58f23
Texture Cahe: Fix downscaling on SMO.
2021-11-16 22:11:31 +01:00
ameerj
0f14c9379e
texture_cache_base: Remove unused function declarations
2021-11-16 22:11:31 +01:00
ameerj
ca1db63116
yuzu: Fix build errors
2021-11-16 22:11:31 +01:00
ameerj
ebf36f23dd
vk_texture_cache: Use 3D to scale images when blit is unsupported
2021-11-16 22:11:31 +01:00
ameerj
4de584005f
texture_cache: Fix infinitely recursive ImageCanRescale check
2021-11-16 22:11:31 +01:00
ameerj
b1ae935f11
vk_texture_cache: Fix BlitScale of non-2D images
2021-11-16 22:11:31 +01:00
ameerj
abd07e4158
video_core: Refactor resolution scale function
2021-11-16 22:11:31 +01:00
ameerj
b14f2c7c82
texture_cache: Fix image resolves when src/dst are not both scaled
2021-11-16 22:11:30 +01:00
lat9nq
49c0c7efd2
yuzu_cmd: Read resolution_setup and scaling_filter from config
...
Also adds descriptions and the settings to the default config.
2021-11-16 22:11:30 +01:00
lat9nq
1c93476a80
video_core,yuzu: Move UpdateRescalingInfo call to video_core
...
This only needs to happen once per game boot, so we can just call it
during CreateGPU and be done with it, avoiding the need to call it in
the frontends.
2021-11-16 22:11:30 +01:00
ameerj
3233fa5dc8
gl_texture_cache: Disable scissor test when scaling textures
...
Fixes a bug on BOTW where some objects were no longer being rendered after blitting
2021-11-16 22:11:30 +01:00
ameerj
89a7e566c7
vk_texture_cache: Fix unsupported blit format error checking
2021-11-16 22:11:30 +01:00
ameerj
f8339cd703
vk_texture_cache: Fix early returns on unsupported scales
2021-11-16 22:11:30 +01:00
ameerj
31478c6c1b
video_core: Misc resolution scaling related refactoring
2021-11-16 22:11:30 +01:00
ameerj
88ef04dbaf
texture_cache: Refactor scaled image size calculation
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
237a43004f
Texture Cache: Fix calculations when scaling.
2021-11-16 22:11:30 +01:00
ameerj
e0a3830855
gl_texture_cache: Fix BGR pbo size for scaled textures
2021-11-16 22:11:30 +01:00
ameerj
581ea90062
rescaling_pass: Fix IR errors when unscalable texture types are encountered
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
ea82bd4b7e
Texture Cache: Fix Rescaling on Multisample
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
19ca0c9ab5
TextureCache: Base fixes on rescaling.
2021-11-16 22:11:30 +01:00
ameerj
99eec162da
rescaling_pass: Logic simplification and minor style cleanup
2021-11-16 22:11:30 +01:00
ameerj
276565973f
rescaling_pass: Scale ImageFetch offset if it exists
...
Plus some code deduplication
2021-11-16 22:11:30 +01:00
ameerj
dd66384451
rescaling_pass: Enable PatchImageQueryDimensions on fragment stages
2021-11-16 22:11:30 +01:00
ameerj
36f261edef
vk_texture_cache: Simplify scaled image management
2021-11-16 22:11:30 +01:00
ameerj
8183142cd4
gl_texture_cache: Fix scaling backup logic
2021-11-16 22:11:30 +01:00
ameerj
122ddeb7ff
vk_rasterizer: Fix scaling on Y_NEGATE
2021-11-16 22:11:30 +01:00
ameerj
16017ac450
vk_texture_cache: Use nearest neighbor scaling when available
2021-11-16 22:11:30 +01:00
ameerj
27af298e78
gl_texture_cache: Fix depth and integer format scaling blits
2021-11-16 22:11:30 +01:00
ameerj
b027fac794
gl_texture_cache/rescaling_pass: minor cleanup
2021-11-16 22:11:30 +01:00
ameerj
c8a971be91
vk_texture_cache: Minor cleanup
2021-11-16 22:11:30 +01:00
ameerj
edb5844240
rescaling_pass: Fix and simplify shuffle/fragcoord pass
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
b3a9c8f108
Shader: Don't rescale FragCoord if used by Shuffle
2021-11-16 22:11:30 +01:00
ameerj
6000fe69a4
image_info: Mark MSAA textures as non-rescalable
...
Blitting or resolving multisampled images requires the dimensions of the src and dst to be equal for valid usage, making them difficult for resolution scaling using the current implementation.
2021-11-16 22:11:30 +01:00
ameerj
80f8d4989e
bootmanager: Fix screenshot resolution factor usage
...
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
ameerj
fcf2b2c78a
gl_texture_cache: Simplify scaling
...
We don't need to reconstruct new textures every time we ScaleUp/ScaleDown. We can scale up once, and revert to the original texture whenever scaling down.
Fixes memory leaks due to glDeleteTextures being deferred for later handling on some drivers
2021-11-16 22:11:29 +01:00
ameerj
ae8d19d17e
Renderers: Unify post processing filter shaders
2021-11-16 22:11:29 +01:00
ameerj
29710f3250
gl_texture_cache: fix scaling on upload
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
a6b88e85bf
Renderer: Implement Bicubic and ScaleForce filters.
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
c5bbbf3902
Texture Cache: fix scaling on upload and stop scaling on base resolution.
2021-11-16 22:11:29 +01:00
ameerj
68e038404c
shader, video_core: Fix GCC build errors
2021-11-16 22:11:29 +01:00
ameerj
65781f88f8
emit_spirv: Fix RescalingLayout alignment
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
d7c9792169
TextureCache: Fix Buffer Views Scaling.
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
dfa8291526
RescalingPass: Agregate pixels on texelFetch while on Fragment Shader
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
4b1393a691
Texture Cache: Correctly fix Blits Rescaling.
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
8f78444de3
shader: Fix TextureSize check on rescaling.
2021-11-16 22:11:29 +01:00
ameerj
ed675cfd8c
texture_cache: Disable dst_image scaling in BlitImage
...
Fixes scaling in Super Mario Party
2021-11-16 22:11:29 +01:00
ameerj
dc28284437
emit_spirv: Fix RescalingLayout alignment
2021-11-16 22:11:29 +01:00
ReinUsesLisp
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
fc9bb3c3fe
shader: Properly blacklist and scale image loads
2021-11-16 22:11:29 +01:00
ReinUsesLisp
c7a1cbad44
texture_cache: Add getter to query if image view is rescaled
2021-11-16 22:11:29 +01:00
ReinUsesLisp
526e47f148
vk_rasterizer: Minor style change
2021-11-16 22:11:29 +01:00
ReinUsesLisp
c9238555f7
gl_texture_cache: Fix scaling blits
2021-11-16 22:11:29 +01:00
ReinUsesLisp
cfeb161c7e
glsl/glasm: Pass and use scaling parameters in shaders
2021-11-16 22:11:29 +01:00
ReinUsesLisp
4a512d6827
gl_rasterizer: Properly scale viewports and scissors
2021-11-16 22:11:29 +01:00
ameerj
05d98d9bbf
gl_texture_cache: Fix multi layered texture Scale
2021-11-16 22:11:29 +01:00
ameerj
b6060873ce
gl_compute_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:29 +01:00
ameerj
9bc7b04ca5
gl_rasterizer: Fix rescale dirty state checking
2021-11-16 22:11:29 +01:00
ameerj
f086c82e1f
gl_graphics_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:28 +01:00
ReinUsesLisp
2182d25750
texture_cache: Fix blacklists on compute
2021-11-16 22:11:28 +01:00
ReinUsesLisp
56ccda1d99
texture_cache: Simplify image view queries and blacklisting
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
48d81506a3
Vulkan: Fix downscaling Blit.
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
07c564f38b
Texture Cache: Implement Rating System.
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
cee7eba64e
OpenGL: set linear mag filter when blitting a downscaled image.
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
117f8ee7a4
Vulkan: Fix AA when rescaling.
2021-11-16 22:11:28 +01:00
Fernando Sahmkow
0e8cf38f39
Texture Cache: Implement Blacklisting.
2021-11-16 22:11:28 +01:00
Morph
138d9d7eff
main: Add resolution scale label in the status bar
...
Shows the resolution scale as "Scale: {}x" in the status bar, where {} is a floating point value representing the current resolution scaling factor.
2021-11-16 22:11:28 +01:00
ReinUsesLisp
d2388dd0d0
vulkan: Implement rescaling shader patching
2021-11-16 22:11:28 +01:00
ReinUsesLisp
dc72d4d4f5
vk_texture_cache: Properly scale blit source images
2021-11-16 22:11:28 +01:00
ReinUsesLisp
baf0993d5c
vk_graphics_pipeline: Use Shader::NumDescriptors when possible
2021-11-16 22:11:28 +01:00
ReinUsesLisp
6f3a41abe2
opengl: Use Shader::NumDescriptors when possible
2021-11-16 22:11:28 +01:00
ReinUsesLisp
656adee630
spirv: Implement rescaling patching
2021-11-16 22:11:28 +01:00
ReinUsesLisp
01379c5e3c
shader/rescaling_pass: Patch more instructions
2021-11-16 22:11:28 +01:00
ReinUsesLisp
c15332c44f
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
ReinUsesLisp
74efa57c1b
texture_cache: Add image getters
2021-11-16 22:11:28 +01:00
ReinUsesLisp
c892359d1b
shader: Add copy constructor to instructions
2021-11-16 22:11:28 +01:00
ReinUsesLisp
95761cc6a7
shader: Add integer division opcodes
2021-11-16 22:11:28 +01:00
ReinUsesLisp
43aa695a04
common/settings: Remove unused scaling options
2021-11-16 22:11:28 +01:00
ReinUsesLisp
e580299467
shader: Fix rescaling pass
2021-11-16 22:11:28 +01:00
ameerj
fad2c92a39
gl_texture_cache: Simplify rescaling
2021-11-16 22:11:28 +01:00
ameerj
d5143c83a9
texture_cache: Fix typo in aliased image rescaling
2021-11-16 22:11:28 +01:00
ReinUsesLisp
0fb4b84383
vk_texture_cache: Simplify and optimize scaling blits
2021-11-16 22:11:28 +01:00
ReinUsesLisp
520c4a44f6
vk_texture_cache: Fix scaling blit validation errors
2021-11-16 22:11:28 +01:00
ReinUsesLisp
1672e9ba09
shader: Fix resolution scaling pass
2021-11-16 22:11:27 +01:00
ReinUsesLisp
fb924ea85c
shader: Add resolution down factor opcode
2021-11-16 22:11:27 +01:00
ameerj
fddf372c68
gl_texture_cache: Implement ScaleDown
2021-11-16 22:11:27 +01:00
ameerj
0a6c895af7
gl_texture_cache: Rescale fixes for multi-layered textures
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
dfc65cd0a3
Texture Cache: Implement Rescaling on Aliases and Blits.
2021-11-16 22:11:27 +01:00
ReinUsesLisp
d464b122d5
Fix blits with mips
2021-11-16 22:11:27 +01:00
ReinUsesLisp
973f8f1d08
Fix blits
2021-11-16 22:11:27 +01:00
ameerj
de66a69ed4
renderer_gl: Resolution scaling fixes
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
8704c93913
TextureCache: Fix rescaling of ImageCopies
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
778700ff9d
TextureCache: Modify Viewports/Scissors according to Rescale.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
71ca84d829
Settings: eliminate rescaling_factor.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
84f2aea896
Texture Cache: More rescaling fixes.
2021-11-16 22:11:27 +01:00
ameerj
10e5065a5c
gl_texture_cache: WIP texture rescale
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
ba18047e8d
Texture Cache: Implement Vulkan UpScaling & DownScaling
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
360e897ccd
ShaderDecompiler: Add initial support for rescaling.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
37ef9c9130
Settings: Add resolution scaling to settings.
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
22f4b290b6
VideoCore: Initial Setup for the Resolution Scaler.
2021-11-16 22:11:27 +01:00
Matías Locatti
ffb79afd29
Replace keys error pop up
...
Fight me.
2021-11-16 03:53:28 -03:00
Fernando S
720970c4c1
Merge pull request #7326 from ameerj/vp8
...
codecs: Implement VP8 video decoding support
2021-11-14 23:03:56 +01:00
Romain Failliot
2e5866147e
Replace "Light" theme by "Default"
...
This reflects the current behavior: Light = System default. If your
system is set to dark theme, then Light = Dark, which is a bit confusing
for the end user.
In this PR, I propose to change "Light" with "Default". This way, the
user has "Default" and "Default Colorful", which will apply the system
theme. Now that the Flatpak respects the system theme, I think this
makes much more sense.
I also simplified the theme update. Before the code was branching
between the default theme and the others, but I think we can have
something simpler by forcing the default theme if no theme is defined in
the settings, or if the selected theme doesn't exist. And if there's an
error, tell the theme name in the error message.
2021-11-14 08:52:55 -05:00
bunnei
30442d8a89
Merge pull request #7260 from vonchenplus/spirv_support_legacy_attribute_v2
...
shader: Spirv support legacy attribute v2
2021-11-14 02:07:45 -08:00
bunnei
0eacc362dd
Merge pull request #7272 from behunin/the-courteous-logger
...
Logging: Impl refactor
2021-11-13 00:03:54 -08:00
ameerj
c50f170597
codes: Rename ComposeFrameHeader to ComposeFrame
...
These functions were composing the entire frame, not just the headers. Rename to more accurately describe them.
2021-11-12 23:52:19 -05:00
ameerj
d35391b9f4
vp8: Implement header composition
...
Enables frame decoding with FFmpeg
2021-11-12 23:52:18 -05:00
ameerj
b39b33b1fe
codecs: Add VP8 codec class
2021-11-12 19:49:45 -05:00
OatmealDome
50acc0da20
program_metadata: Add default ThreadInfo kernel capability
2021-11-10 22:01:05 -05:00
Morph
3af2117c88
applets/swkbd: Fix text check message encoding
...
The text check message can be encoded in UTF-8.
2021-11-08 14:57:53 -05:00
Morph
1af499c15b
applets/swkbd: Skip text checking if the text has been confirmed
...
Confirm means that the text has already been checked by the application to be correct, but is asking the user for confirmation.
The confirmation text itself seems to be corrupted though, this needs to be investigated.
Fixes the software keyboard in Famicom Detective Club: The Missing Heir
2021-11-08 13:05:50 -05:00
Narr the Reg
ced1302975
service/pctl: Stub EndFreeCommunication
...
- Used by Just Dance 2022
2021-11-05 12:16:19 -04:00
Feng Chen
70d51f72ec
vulkan_device: Add missing vulkan image format R5G6B5 in GetFormatProperties
...
- Used by Dragon Quest Builders
2021-11-05 10:31:40 -04:00
Morph
3a71ff44f8
Merge pull request #7279 from Morph1984/system-get-program-id
...
general: Get the current process program id directly from the system
2021-11-04 20:34:20 -04:00
Morph
2ceb514a39
Merge pull request #7289 from ameerj/perf-stat-shutdown
...
core: Reorder perf_stats destruction order on Shutdown
2021-11-04 20:34:09 -04:00
ameerj
0cf78a34ba
core: Reorder perf_stats destruction order on Shutdown
...
Avoids the gpu_core using perf_stats after it's been freed.
2021-11-04 20:19:58 -04:00
Fernando S
3ceefc64f1
Merge pull request #7287 from Morph1984/stub-aoc
...
service: aoc: Stub more 13.x functions used by Animal Crossing
2021-11-05 00:26:10 +01:00
Morph
a6e6a5ac38
general: Get the current process program id directly from the system
...
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
64275dfbf4
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
bunnei
f178a8ef0c
Merge pull request #7282 from ameerj/core-includes
...
core: Reduce unused header includes
2021-11-04 13:56:10 -07:00
Morph
21c1316503
service: aoc: Stub NotifyUnmountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:50:08 -04:00
Morph
ef427e4cb0
service: aoc: Stub NotifyMountAddOnContent and NotifyMountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:48:47 -04:00
german77
bee6b71553
service/acc: Rename Unknown160 to InitializeApplicationInfoV2
2021-11-04 10:10:58 -06:00
Morph
f2988ecabc
service: acc: Stub acc:u0 '160'
...
- Used by Animal Crossing: New Horizons v2.0.0
Since the name is currently unknown, '160' is used as a placeholder.
2021-11-04 02:57:13 -04:00
ameerj
b275f2e475
core: Fix transitive include build errors
2021-11-03 21:42:58 -04:00
ameerj
7c4b6aab2e
core: Remove unused includes
2021-11-03 21:42:57 -04:00
Feng Chen
f2a4204245
Simply legacy attribute implement
2021-11-04 09:26:16 +08:00
Morph
b871388a31
svc: Correct WaitSynchronization num_handles param type
...
num_handles is a s32
2021-11-02 22:31:04 -04:00
bunnei
7ce29ea74e
Merge pull request #7262 from FernandoS27/Buffalo-buffalo-Buffalo-buffalo-buffalo
...
ShaderCache: Order Phi Arguments from farthest away to nearest.
2021-11-02 16:34:03 -07:00
Mai M
43ba9db890
Merge pull request #7265 from Morph1984/gl-rasterizer-unused-include
...
gl_rasterizer: Remove unused includes
2021-11-02 18:43:31 -04:00
Morph
cb09ea0f01
general: Remove MakeResult helpers
...
This is made obsolete by the presence of implicit constructors.
2021-11-02 17:23:19 -04:00
Morph
98b351758c
hle/result: Amend ResultVal documentation
...
This amends the documentation slightly to reflect the updated interface.
2021-11-02 15:20:36 -04:00
Morph
52e52924bb
hle/result: Reimplement ResultVal using Common::Expected
...
Common::Expected effectively provides the same functions as ResultVal, so we can implement it with this.
This can be replaced with std::expected with minimal effort should it be standardized in the C++ Standard Template Library.
2021-11-02 15:20:35 -04:00
Morph
a41e9e93dd
common: Implement a subset of P0323 (std::expected)
...
This implementation is based on and is a subset of the proposed implementation of std::expected
https://github.com/TartanLlama/expected/blob/master/include/tl/expected.hpp
2021-11-02 15:20:35 -04:00
bunnei
b118fa8698
Merge pull request #7227 from vonchenplus/fix_memory_leak_v2
...
Fix memory leak v2
2021-11-01 20:11:30 -07:00
Levi Behunin
d6b5f64484
Refactor Logging Impl
...
Loop on stop_token and remove final_entry in Entry.
Move Backend thread out of Impl Constructor to its own function.
Add Start function for backend thread.
Use stop token in PopWait and check if entry filename is nullptr before logging.
2021-11-01 18:36:27 -06:00
Fernando Sahmkow
2d4bbd83e6
Shader Cahe: Fix Phi Nodes on GLASM.
2021-11-02 00:59:25 +01:00
Fernando Sahmkow
194579bc4f
ShaderCache: Fix Phi Nodes Type on OGL.
2021-11-01 22:26:17 +01:00
Morph
d607ceacf4
gl_rasterizer: Remove unused includes
...
This removes unused includes, especially the core includes which were causing this file to be recompiled every time files included by those headers are modified.
2021-10-31 23:57:51 -04:00
Fernando Sahmkow
c50ad56bf5
ShaderCache: Order Phi Arguments from farthest away to nearest.
2021-10-31 19:34:15 +01:00
vonchenplus
49f9a44235
Support gl_FogFragCoord attribute
2021-10-31 23:34:17 +08:00
bunnei
99ba26460d
Merge pull request #7246 from german77/userimage
...
profile_manager: Resize any image bigger than 256p
2021-10-31 04:07:34 -07:00
Fernando S
7aa0d97eed
Merge pull request #7201 from ameerj/spirv-depth-sampling
...
emit_spirv_image: Fix depth image implicit lod sample in non-fragment stages
2021-10-30 16:45:58 +02:00
bunnei
a3a353edf2
Merge pull request #6702 from lat9nq/disable-screensaver
...
yuzu_cmd, yuzu qt: Use SDL to disable the screen saver
2021-10-30 00:29:05 -07:00
bunnei
7c2c72a6d6
Merge pull request #7244 from Morph1984/application-lang-pt-br
...
file_sys/ns: Add Brazilian Portuguese to the list of ApplicationLanguage
2021-10-29 22:32:38 -07:00
lat9nq
604b6d1210
yuzu qt: Disable the screensaver with SDL2
...
Disables the screen saver when a game boots using SDL2 so that it works
on any supported platform.
2021-10-30 01:23:52 -04:00
bunnei
92159b210e
Merge pull request #7240 from Morph1984/resultval-remove-cv
...
hle/result: Remove cv-qualifiers from Arg in MakeResult
2021-10-29 21:35:32 -07:00
german77
f503dbf071
profile_manager: Resize any image bigger than 256p
2021-10-29 17:56:51 -05:00
bunnei
c1b199bd21
Merge pull request #7241 from Morph1984/resultval-move-assignment
...
hle/result: Add move assignment operator in ResultVal
2021-10-29 09:14:32 -07:00
bunnei
60e79d50f8
Merge pull request #7243 from lat9nq/nvdrv-warn
...
gl_device: Force GLASM on NVIDIA drivers 495-496
2021-10-28 17:57:53 -07:00
Morph
3f8d74dec1
CMakeLists: Document the /GT compile option
2021-10-28 20:43:46 -04:00
Morph
cd49907248
Merge pull request #7007 from FernandoS27/intel-options
...
Build System: Build with JCC Erratum Mitigation
2021-10-28 20:40:13 -04:00
Morph
baf599c1d3
file_sys: control_metadata: Add BrazilianPortuguese
2021-10-28 20:05:26 -04:00
Morph
e4052a1dab
ns: language: Add BrazilianPortuguese to ApplicationLanguage
...
It seems that Nintendo finally filled that last empty spot in ApplicationLanguage for a total of 16 supported languages.
2021-10-28 20:05:05 -04:00
Ameer J
fac2e073a1
Merge pull request #7223 from Moonlacer/geometry_property_removal
...
per_game_ui: Geometry Property Removal and Minor Rewording to the Per Game UI
2021-10-28 19:39:00 -04:00
lat9nq
61121d1b22
gl_device: Force GLASM on NVIDIA drivers 495-496
...
GLSL shaders currently do not render correctly on the recent NVIDIA
drivers. This adds a check that forces assembly shaders for these
drivers since they seem unaffected and adds a warning informing of the
decision.
Developers can disable the check by enabling graphics debugging.
2021-10-28 19:38:49 -04:00
Morph
1b5c37fa29
hle/result: Declare copy/move constructor/assignment as noexcept
...
While we're at it, we can also declare these copy/move constructor/assignment as noexcept.
2021-10-28 04:00:21 -04:00
Morph
189927c237
hle/result: Add move assignment operator in ResultVal
...
ResultVal was missing a move assignment operator, add it.
2021-10-28 03:52:21 -04:00
Morph
1ff9ad4e7c
hle/result: Remove cv-qualifiers from Arg in MakeResult
...
This removes the const qualification for types when MakeResult(arg) is used in a const member function, allowing for automatic deduction and removing the need to manually specify the non-const type as the template argument.
2021-10-28 03:07:18 -04:00
Ameer J
40c8a8c627
Merge pull request #7186 from MightyCreak/fix-crash-configure-window
...
ui: fix crash when closing configure window
2021-10-26 22:15:45 -04:00
Feng Chen
dd29285e35
Fix dangling kernel objects when exiting
2021-10-27 09:06:30 +08:00
Feng Chen
052017e189
Revert PR7009
2021-10-27 09:06:30 +08:00
Feng Chen
a8b0104923
Fix memory leak
2021-10-27 09:06:22 +08:00
vonchenplus
36c21ff6cb
Support gl_BackSecondaryColor attribute
2021-10-26 23:14:40 +08:00
vonchenplus
92bebecf46
Support gl_FrontSecondaryColor attribute
2021-10-26 23:09:44 +08:00
vonchenplus
b04c7b6343
Support gl_BackColor attribute
2021-10-26 23:01:57 +08:00
Moonlacer
1665e2d2a6
Geometry property removal and rewording
2021-10-25 17:39:36 -05:00
Morph
63ed7d9af7
Merge pull request #7193 from FernandoS27/idle
...
SVC: Implement svcInfo:IdleTickCount
2021-10-25 09:17:49 -04:00
Ameer J
3c8c17be4d
Merge pull request #7218 from bylaws/aswdqdsam
...
Fixup channel submit IOCTL syncpoint parameters
2021-10-24 19:35:00 -04:00
Ameer J
aed5878dd3
Merge pull request #7222 from FernandoS27/fix-indixed-textures-again
...
TexturePass: Fix clamping of images as this allowed negative indices.
2021-10-24 15:16:31 -04:00
Fernando Sahmkow
e5291e2031
TexturePass: Fix clamping of images as this allowed negative indices.
2021-10-24 20:46:36 +02:00
Andrew Strelsky
31b9797296
Fixed ARM_Dynamic_64 Step
2021-10-24 11:16:32 -04:00
Fernando S
5299554bb0
Merge pull request #7206 from vonchenplus/fix_vulkan_viewport_issue
...
Vulkan Rasterizer: Fix viewport issue
2021-10-24 01:53:04 +02:00
Billy Laws
2dbef58eeb
Fixup channel submit IOCTL syncpoint parameters
...
The current arguments worked by happenstance as games only ever submit
one syncpoint and request one fence back, if a game were to do something
other than this then the arguments would've been parsed entirely wrong.
2021-10-24 00:01:35 +01:00
Ameer J
494e34af6a
Merge pull request #7070 from FernandoS27/want-you-bad
...
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
2021-10-23 18:02:23 -04:00
Fernando Sahmkow
ad8afaf1ef
Vulran Rasterizer: address feedback.
2021-10-23 23:46:29 +02:00
Fernando S
33e92c15eb
Revert "input_common: Fix data race on GC implementation"
2021-10-23 23:32:16 +02:00
Fernando S
7461196839
Merge pull request #6515 from german77/gc_thread_safe
...
input_common: Fix data race on GC implementation
2021-10-23 23:28:22 +02:00
Feng Chen
b769bea61b
Fix vulkan viewport issue
2021-10-22 22:56:31 +08:00
ameerj
1841f63a40
common/alignment: Fix VS2022 compilation
...
VS2022 seems to introduce an optimization when moving vectors to check for equality of the element values. AlignmentAllocator needed to overload the equality operator to fix compilation of its usage in vector moving.
2021-10-20 01:22:00 -04:00
ameerj
b01aa721ff
input_common: Fix VS2022 compilation errors
2021-10-20 01:21:59 -04:00
bunnei
c82318c9cb
Merge pull request #7197 from Moonlacer/tas_help_link
...
tas_ui: Add a Help Link to the TAS Page on the yuzu Website, Along with Minor Grammar Changes
2021-10-19 15:49:30 -07:00
bunnei
c871320760
Merge pull request #7198 from ameerj/settings-chrono
...
settings: Remove std::chrono usage
2021-10-19 09:55:50 -07:00
ameerj
06894b0711
emit_spirv_image: Fix depth image implicit lod sample in compute
...
Ensures all drivers behave the same way in this case.
2021-10-17 17:09:11 -04:00
bunnei
4e81b799f1
Merge pull request #7173 from Morph1984/invalidate-unmap
...
KPageTable: Perform ranged invalidation when unmapping code memory
2021-10-17 03:25:26 -07:00
ameerj
ef811c6425
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
Moonlacer
abe6d39b1a
add_link
...
remove_accident
fix_whoopsie
2021-10-16 21:48:49 -05:00
Ameer J
3791c7ca82
Merge pull request #7077 from FernandoS27/face-down
...
A series of fixes to queries and indexed samplers.
2021-10-16 21:41:54 -04:00
Fernando Sahmkow
3f4444b552
Shader Compiler: avoid overflowed indices on indixed samplers.
2021-10-17 03:38:09 +02:00
Ameer J
5b735a4c9d
Merge pull request #7127 from FernandoS27/i-saw-a-wabbit
...
A few fixes on Vulkan and Rasterizer Caching
2021-10-16 21:37:43 -04:00
Mai M
28d343d288
Merge pull request #7195 from MightyCreak/fix-warning-typo
...
main: fix typo in warning message
2021-10-16 19:50:41 -04:00
Fernando Sahmkow
da6673e79a
SVC: Implement svcInfo:IdleTickCount
...
Used by the Witcher 3
2021-10-16 20:33:44 +02:00
Romain Failliot
992f325662
main: fix typo in warning message
2021-10-16 12:53:06 -04:00
Morph
d4c79a0404
main: Add missing make_unique for ui
2021-10-15 19:36:52 -04:00
bunnei
aef3ae1cb9
Merge pull request #7187 from FernandoS27/boy-i-say-boy
...
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-15 16:14:32 -07:00
Morph
41b4047536
Merge pull request #7188 from Morph1984/web-applet-include
...
qt_web_browser: Add missing QApplication include
2021-10-15 18:52:22 -04:00
Feng Chen
de81571289
service/vi: Stub IHOSBinderDriver::TransactParcel GetBufferHistory ( #7184 )
2021-10-15 18:50:45 -04:00
Morph
2b622411fd
qt_web_browser: Add missing QApplication include
2021-10-15 18:48:50 -04:00
Fernando Sahmkow
53cf91d151
NvHost/Core: Address Feedback.
2021-10-16 00:23:27 +02:00
FernandoS27
198c6ad0d7
Suspend temporally
2021-10-16 00:23:23 +02:00
FernandoS27
7dca0bc11d
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-16 00:22:01 +02:00
Romain Failliot
427ce8dcef
ui: fix crash when closing configure window
...
This crash happens 100% of the time (on Linux at least), you just need
to open the configure window and click OK.
It seems to happen when the tabs are destroyed and once all the tabs are
destroyed, a final signal is sent with `index == -1`. So `debug_tab_tab`
doesn't exist anymore when this happens, so the crash.
2021-10-15 17:43:30 -04:00
Morph
5c6ca597c5
bootmanager: Forward declare System and SystemResultStatus
2021-10-15 17:35:34 -04:00
Morph
f0dc07dbac
yuzu: Construct system in GMainWindow
2021-10-15 17:35:33 -04:00
Morph
17763a44d5
core: Move ResultStatus outside of System
...
Allows it to be a forward declaration in other header files.
2021-10-15 17:34:49 -04:00
Morph
218ebc1fe8
yuzu_cmd: Remove remaining static system instances
2021-10-15 17:34:48 -04:00
Morph
b6719094e6
core: Remove static system instance
2021-10-15 17:34:48 -04:00
Mai M
764369f4c7
Merge pull request #7172 from Morph1984/out-of-bounds
...
string_util: Prevent out of bounds access in u16string_view buffer
2021-10-15 17:04:44 -04:00
Mai M
d5c4af2d5b
Merge pull request #7174 from MightyCreak/hide-cursor-by-default
...
Check "Hide mouse on inactivity" by default
2021-10-15 17:03:10 -04:00
Mai M
5b7b7276d5
Merge pull request #7185 from Morph1984/make_unique_ui
...
yuzu: Use make_unique instead of operator new for constructing ui
2021-10-15 16:58:45 -04:00
Romain Failliot
ecef109162
Hide mouse cursor by default
2021-10-15 16:01:20 -04:00
Creak
bad122b195
main: Slightly refactor NCA entry installation in InstallNCA ( #7181 )
...
* main: Slightly refactor NCA entry installation in InstallNCA
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-10-15 15:57:25 -04:00
Morph
86908d569e
main: Use std::unique_ptr for ui
2021-10-15 15:35:59 -04:00
Morph
ab441fb009
configuration: Use std::make_unique instead of operator new for ui
2021-10-15 15:26:32 -04:00
lat9nq
851fe91b69
config: Read network_interface
...
Let's yuzu_cmd use a network interface. Also adds it to the default ini.
2021-10-15 12:14:09 -04:00
Moonlacer
c68ce25a14
settings_ui: Better NVDEC Description For Each Video Rendering Option ( #7165 )
...
* better_description
* Revert "better_description"
This reverts commit 3a152a6ba6f2d6e02530b69a8194e4db302c8acd.
* better_nvdec_wording
* best_performance
* update_word_stuff
* another_update
2021-10-14 18:01:12 -07:00
Morph
b02d662980
Merge pull request #6774 from lat9nq/remove-global-yuzu
...
yuzu qt: Remove global system instances
2021-10-14 14:12:22 -04:00
Morph
0d6057b2fa
string_util: Make use of std::string_view and add bounds checking
...
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
2021-10-14 14:09:34 -04:00
Morph
3ffff78a27
string_util: Prevent out of bounds access in u16string_view buffer
2021-10-14 14:09:34 -04:00
Morph
894b483a0d
Merge pull request #7157 from ameerj/vic-surface-size
...
vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU
2021-10-13 20:41:17 -04:00
bunnei
2643752f93
Merge pull request #7142 from german77/sdl_range
...
input_common/sdl: Fix joystick range
2021-10-13 15:15:18 -07:00
bunnei
9f0f827db4
Merge pull request #7158 from ameerj/window-900p
...
main: Add option to reset window size to 900p
2021-10-13 12:29:45 -07:00
Morph
50384e2619
KPageTable: Perform ranged invalidation when unmapping code memory
...
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2021-10-13 14:27:11 -04:00
Ameer J
a39760b947
Merge pull request #7147 from behunin/patch-1
...
Update configure_tas.ui
2021-10-12 15:52:21 -04:00
Ameer J
018cf3853e
Merge pull request #7109 from vonchenplus/fix_h264_max__reference_num_error
...
h264: Use max allowed max_num_ref_frames when using CPU decoding
2021-10-12 14:08:37 -04:00
Creak
0b8a7ca213
common/fs/path_util: Slightly refactor PathManagerImpl's constructor
...
This moves all GenerateYuzuPath calls outside of the platofrm-specific #ifdefs, replacing them with assignments to paths.
2021-10-11 21:56:25 -04:00
Romain Failliot
39b3c9022d
Create local variables for mouse and wheel positions
2021-10-11 19:21:24 -04:00
Romain Failliot
818651909f
Fix a few warnings
...
- configure_input_player_widget.cpp: always better to use `const auto &`
whenever possible
- profiler.cpp: `ev->pos()` is deprecated, replace with
`ev->position()`, which returns floats, thus the addition of
`.toPoint()` (same as what's happening in `pos()`)
- game_list.cpp: `QString::SplitBehavior` is deprecate, use `Qt::`
namespace instead
2021-10-11 19:21:17 -04:00
Morph
97452b9558
Merge pull request #7110 from vonchenplus/fix_extract_offline_romefs_error
...
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 02:09:42 -04:00
german77
8212a864ca
input_common/sdl: Fix joystick range
2021-10-11 01:03:01 -05:00
ameerj
5c829c7e4e
main: Add option to reset window size to 900p
2021-10-11 01:29:02 -04:00
Feng Chen
0ee2185c59
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 13:12:51 +08:00
ameerj
f346b04d12
vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU
...
Addresses possible buffer overflow behavior.
2021-10-10 18:44:16 -04:00
Feng Chen
ba8be75037
h264: Use max allowed max_num_ref_frames when using CPU decoding
2021-10-10 20:07:19 +08:00
Valeri
0394e4bb8e
vic: Allow surface to be higher than frame
...
Touhou Genso Wanderer Lotus Labyrinth R decodes 1920x1080 videos into 1920x1088 surface.
Only allow mismatch for height, since larger width would result in increasingly offset rows and somewhat defeat entire purpose of this check.
2021-10-09 20:22:09 +03:00
Mai M
39cd6306e6
Merge pull request #7138 from ameerj/vic-fmt
...
vic: Implement RGBX8 video frame format
2021-10-08 19:19:20 -04:00
Levi Behunin
54ae8d1649
Update configure_tas.ui
...
Remove the geometry property again(7045) after 7090 re-added.
2021-10-08 15:52:17 -06:00
ameerj
403fc86c11
vic: Avoid memory corruption when multiple streams with different dimensions are decoded
...
This is a work around to avoid buffer overflow errors until multi channel/multi stream decoding is supported.
2021-10-08 01:22:38 -04:00
ameerj
5aae61775f
vic: Refactor frame writing methods
2021-10-07 14:56:44 -04:00
lat9nq
b6894bfc5b
discord_impl: Remove global system instances
2021-10-07 13:50:13 -04:00
lat9nq
4ce53ffe6a
game_list: Remove global instances of Core::System
2021-10-07 13:50:13 -04:00
lat9nq
493905665c
configuration: Add const qualifier where able
2021-10-07 13:50:13 -04:00
lat9nq
fb66a455c4
yuzu qt: Remove global system instances from config, WaitTree, main
2021-10-07 13:50:13 -04:00
Morph
bea7824bd1
kernel: hle_ipc: Foward declare KAutoObject
2021-10-07 13:32:36 -04:00
Morph
7bb2dd75cd
service: Reduce header include overhead
2021-10-07 13:32:21 -04:00
ameerj
899fdb9c44
vic: Implement RGBX frame format
2021-10-07 11:06:57 -04:00
Fernando S
f84328934f
Merge pull request #7118 from ameerj/vc-gpu-impl
...
gpu: Migrate implementation to the cpp file
2021-10-06 20:02:31 +02:00
bunnei
8fad7dc248
Merge pull request #7090 from Moonlacer/tas_spacing_addition
...
(Minor Change) Hint (?) Button Removal and Spacing Change to the TAS Window
2021-10-05 21:18:04 -07:00
bunnei
5b2fa8dd41
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
2021-10-05 10:05:46 -07:00
bunnei
b869439969
Merge pull request #7103 from Morph1984/service-ctx-event
...
service: Replace all service event creation with ServiceContext::CreateEvent
2021-10-04 17:20:46 -07:00
bunnei
158a693111
Merge pull request #7101 from ameerj/vk-tess-topology
...
vk_graphics_pipeline: Force patch list topology when tessellation is used
2021-10-04 15:37:32 -07:00
Fernando Sahmkow
0498669b4b
Vulkan: Fix failing barrier on refresh.
2021-10-04 20:56:15 +02:00
FernandoS27
bb8bf740e9
RasterizerInterface: Correct size of CPU addresses to cache.
2021-10-04 20:47:31 +02:00
FernandoS27
7f4de3466a
Vulkan: Fix the master Semaphore
2021-10-04 20:46:58 +02:00
bunnei
1d829150ee
Merge pull request #7107 from astrelsky/iob_fix
...
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-10-04 11:08:35 -07:00
Ameer J
01f79d638f
Merge pull request #7091 from vonchenplus/fix_memroy_leak
...
core: Fix memory leak
2021-10-04 00:09:08 -04:00
bunnei
e209fff374
Merge pull request #7111 from lat9nq/no-title-bar-version
...
main: Don't add an extra separator when the title version is absent
2021-10-03 00:27:08 -07:00
bunnei
4a77ceb151
Merge pull request #7113 from Morph1984/no-log-ip-addr
...
network: Do not log IP address
2021-10-02 23:19:34 -07:00
ameerj
71e19153ef
nvflinger: Use jthread and stop_token for VSync thread
...
Avoids a destruction data race that may occur on the vsync thread
2021-10-03 00:35:57 -04:00
ameerj
6c0d902373
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
427bf76e62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
bunnei
21ed944ff9
Merge pull request #6979 from german77/joycon_name
...
input_common: Add alternative string for joycons
2021-10-02 02:58:25 -07:00
Morph
2f5808b7ff
service: am: Make use of Exit to exit the currently running application
...
This also moves the call to the end to ensure services are properly destructed on exit.
2021-10-01 23:39:55 -04:00
Morph
282bdfd1bf
yuzu: main: Register a callback for Exit
2021-10-01 23:39:54 -04:00
Morph
d8467ca6c0
core: Add Exit and ExitCallback
...
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-10-01 23:39:54 -04:00
Morph
fadcee14f8
service: Replace service event creation with ServiceContext::CreateEvent
...
The service context helps to manage all created events and allows us to close them upon destruction.
2021-10-01 23:38:59 -04:00
Morph
219d0ba978
network: Do not log IP address
...
Logging this may be a privacy concern for some users.
2021-10-01 23:38:44 -04:00
bunnei
3a33519598
Merge pull request #7102 from Morph1984/remove-boxcat
...
Remove Boxcat BCAT backend
2021-10-01 18:41:41 -07:00
ameerj
579f4ea4bd
common/logging: Reduce scope of fmt include
2021-10-01 20:48:49 -04:00
ameerj
5daf3abe65
common/logging: Move Log::Entry declaration to a separate header
...
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-10-01 20:48:49 -04:00
bunnei
c3784b2a08
Merge pull request #7075 from v1993/power-of-tea
...
applets: Use subdirectory of main data directory for QtWebEngine storage
2021-09-30 16:29:28 -07:00
lat9nq
596323f89f
main: Don't add an extra separator when the title version is absent
...
Some titles, such as homebrew, do not have any version string. Because
yuzu hard codes the title bar string assuming a version string is
preset, booting homebrew causes yuzu to add an extra separator with no
content between.
This uses a lambda expression to prevent that from happening.
2021-09-30 18:57:37 -04:00
bunnei
8bd5742349
Merge pull request #7061 from ameerj/dma-buffer-misc
...
buffer_cache, maxwell_dma: Minor refactoring and code fixes
2021-09-30 12:34:28 -07:00
Mai M
b9251155f8
Merge pull request #7104 from Morph1984/style
...
style: Remove extra space preceding the :: operator
2021-09-29 19:32:39 -04:00
Andrew Strelsky
4ce0a650d1
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-09-29 19:26:44 -04:00
bunnei
91341b421d
Merge pull request #7036 from ameerj/ogl-bgr-v2
...
gl_texture_cache: Unify BGR copy passes using PBOs
2021-09-29 16:10:56 -07:00
Andrew Strelsky
3fc7aceea7
Fixed invalid iterator usage
2021-09-29 06:58:48 -04:00
Morph
e29f3b87f1
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
Morph
839547dc90
CMakeLists: Remove BoxCat build option
2021-09-29 01:24:21 -04:00
Morph
8af9f3216e
settings: Remove BCAT settings
2021-09-29 01:24:21 -04:00
Morph
673d37a7c2
configure_network: Remove BCAT
2021-09-29 01:24:21 -04:00
Morph
4acec5283e
service: bcat: Remove BoxCat BCAT implementation
...
The current implementation of BoxCat as it stands is non-functional due to the reliance on a server providing BCAT files.
This implementation will eventually be replaced with one that allows the use of local BCAT files dumped from a Nintendo Switch.
2021-09-29 01:21:35 -04:00
Moonlacer
d09e618bd2
configure_tas: Remove help button from dialog window
2021-09-29 00:12:31 -04:00
Moonlacer
e55affe264
configure_tas: Ensure dialog buttons always stay at the bottom
...
Previously, the dialog buttons would be floating in-place when the dialog is stretched downwards.
This change ensures that the dialog buttons always stay at the bottom of the window.
2021-09-29 00:04:19 -04:00
Morph
5f6cd32c9e
externals: Remove libzip
2021-09-28 23:18:39 -04:00
Morph
616d0236f5
file_sys: Remove vfs_libzip
2021-09-28 23:18:39 -04:00
Morph
781c1d8df8
Merge pull request #7018 from lat9nq/splat-stubs
...
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
2021-09-28 22:06:11 -04:00
Feng Chen
5fbfc4c19e
Fix KShareMemory object leak
2021-09-29 09:51:20 +08:00
Ameer J
fba301155b
Merge pull request #7042 from v1993/patch-7
...
Hide XInput bypass on non-Windows OSes
2021-09-28 17:07:12 -04:00
ameerj
6f35fb8d26
vk_graphics_pipeline: Force patch list topology when tessellation is used
...
Fixes a crash on some drivers when tessellation is used but the IA topology is not patch list.
2021-09-28 16:39:42 -04:00
bunnei
24c0dde958
Merge pull request #7076 from ameerj/amd-botw
...
vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
2021-09-28 10:46:56 -07:00
german77
bc4b4e3f56
service/es: Update to 13.0.0
2021-09-26 20:17:07 -05:00
german77
d780eab357
service/npns: Update to 13.0.0
2021-09-26 20:13:09 -05:00
german77
b0e83f949e
service/vi: Update to 13.0.0
2021-09-26 20:12:02 -05:00
german77
321c64a122
service/am: Update to 13.0.0
2021-09-26 20:00:12 -05:00
german77
d103e2daf9
service/audio: Update to 13.0.0
2021-09-26 19:49:09 -05:00
german77
e401c77351
service/hid: Update to 13.0.0
2021-09-26 19:45:47 -05:00
german77
4b5f0af3fd
service/btdrv: Update to 13.0.0
2021-09-26 19:32:45 -05:00
german77
f5b41068e6
service/usb: Update to 13.0.0
2021-09-26 19:26:52 -05:00
Morph
5114819b6b
Merge pull request #7078 from ameerj/vc-jthread-fixes
...
video_core: Fix jthread related hangs when stopping emulation
2021-09-26 16:40:13 -04:00
Feng Chen
7cd43b139a
Fix KScopedAutoObject object leak when SendSyncRequest
2021-09-25 22:16:21 +08:00
Morph
7dd7c54add
service: bsd: Stub Read
...
- Used by Diablo II: Resurrected
2021-09-25 08:04:33 -04:00
Morph
06f22c3d28
service: bsd: Implement Read
...
- Used by Diablo II: Resurrected
2021-09-24 16:46:52 -04:00
ameerj
73666fb262
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
Morph
c8512839d7
Merge pull request #7069 from lioncash/uuid
...
common/uuid: Add validity checking functions to interface
2021-09-24 08:02:11 -04:00
ameerj
ab63a193d7
video_core: Fix jthread related hangs when stopping emulation
...
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-23 20:34:02 -04:00
ameerj
1e1ecca691
vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
...
Fixes rainbow textures on BOTW.
2021-09-23 19:40:53 -04:00
Fernando Sahmkow
d702b393a4
Vulkan Query Cache: make sure to wait for the query result.
2021-09-24 01:14:17 +02:00
Fernando Sahmkow
8fdb51ab46
QueryCache: Flush queries in order of running.
2021-09-24 01:13:42 +02:00
bunnei
326a449ef0
Merge pull request #7068 from behunin/patch-3
...
Debug Config Ui: Clean-up and nits
2021-09-23 15:19:22 -07:00
v1993
3e07655b1b
Use subdirectory of main data directory for QtWebEngine storage
...
Previously, an unrelated directory was used for this. Keep everything together for consistency.
2021-09-24 00:49:39 +03:00
bunnei
17bf40f405
Merge pull request #7045 from behunin/patch-1
...
Tas configure ui nits
2021-09-23 09:29:55 -07:00
Fernando Sahmkow
60a3980561
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
2021-09-23 03:49:10 +02:00
Lioncash
091e141142
core/profile_select: Avoid uninitialized read in SelectProfile()
...
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
2021-09-22 18:10:39 -04:00
Lioncash
40314cc586
common/uuid: Add validity checking functions to interface
...
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
2021-09-22 17:59:00 -04:00
Levi Behunin
2b3c9c61db
Clean-up and nits
...
Remove redundent label, rearange checkboxs to keep same 3 per column layout, remove unneeded properties.
2021-09-22 00:56:03 -06:00
Levi Behunin
77e327dd1a
Clean-up
...
Numerize names, remove unneeded properties and spacer.
2021-09-20 20:02:54 -06:00
bunnei
7b22d61fb1
Merge pull request #7003 from ameerj/unlocked-present-mode
...
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
2021-09-20 14:34:21 -07:00
Ameer J
cd973d6037
Merge pull request #7017 from FernandoS27/i-am-barbie-girl
...
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
2021-09-19 23:56:08 -04:00
ameerj
24049591f6
maxwell_dma: Minor refactoring
2021-09-19 20:36:41 -04:00
ameerj
1ea8073783
buffer_cache: Minor fixes
...
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
2021-09-19 20:35:07 -04:00
bunnei
a9c3619d26
Merge pull request #7019 from ameerj/videocore-jthread
...
videocore: Use std::jthread for worker threads
2021-09-18 20:37:40 -07:00
Levi Behunin
ad85689417
Tas configure ui nits
...
Text looked cramped on my pc (Ubuntu 21.04). Re-flowed text as well for nicer read.
2021-09-18 19:41:59 -06:00
german77
75d8ec1e9f
UI: Relocate tas menu and add brief description
2021-09-18 23:23:03 +02:00
german77
5401cf6eb5
input_common/tas: new update method
2021-09-18 23:22:57 +02:00
german77
33a1d790e8
input_common/tas: Document the main class
2021-09-18 23:22:48 +02:00
german77
e6c4bf52f0
input_common/tas: Add swap controller
2021-09-18 23:22:42 +02:00
german77
9bb6580d89
input_common/tas: overwrite file dialog
2021-09-18 23:22:42 +02:00
MonsterDruide1
f078b15565
input_common/tas: Fallback to simple update
2021-09-18 23:22:30 +02:00
german77
c01a872c8e
config: Move TAS options to it's own menu
2021-09-18 23:22:30 +02:00
MonsterDruide1
4297d2fea2
core: Hacky TAS syncing & load pausing
...
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.
First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.
Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
2021-09-18 23:22:20 +02:00
MonsterDruide1
3a7b37238b
main: TAS Playback state label
...
During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
2021-09-18 23:22:12 +02:00
MonsterDruide1
f25d6ebc45
settings: File selector & other settings
...
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.
Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
2021-09-18 23:22:11 +02:00
MonsterDruide1
b42c3ce21d
input_common/tas: Base playback & recording system
...
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.
The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.
Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
2021-09-18 23:22:00 +02:00
bunnei
35f46fc079
Merge pull request #7020 from Moonlacer/remove_audio_stretching
...
Remove audio stretching
2021-09-18 11:18:24 -07:00
Valeri
738cd1896b
If not on Windows, disable raw input
...
This way, if someone copies their Windows config to other OS, they won't be stuck without web applet for no apparent reason.
2021-09-18 15:10:00 +03:00
Valeri
b54bf126f7
Hide XInput bypass on non-Windows OSes
...
Follow-up to #6950 . This option is a no-op on other OSes and only serves to spread confusion there.
2021-09-18 14:41:51 +03:00
bunnei
6d7801deb7
Merge pull request #6950 from german77/multiplay
...
input_common: Add advanced setting for 8 player support
2021-09-17 17:25:51 -07:00
bunnei
d4ee94165f
Merge pull request #7015 from german77/NotGoodForTerra
...
ngct: Stub Match
2021-09-17 10:58:55 -07:00
bunnei
ff54d9615f
Merge pull request #7011 from ameerj/vk-validation-0x0
...
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
2021-09-16 17:17:04 -07:00
ameerj
22162f906b
host_shaders: Remove opengl_copy_bgra.comp
2021-09-16 19:49:13 -04:00
ameerj
ab808fe7cf
gl_texture_cache: Migrate BGRCopyPass from util_shaders
...
The BGR copies no longer use shaders.
2021-09-16 19:49:12 -04:00
Fernando S
a606b1448b
Merge pull request #7027 from ameerj/sorry-amd
...
vulkan_device: Reorder Float16Int8 declaration
2021-09-16 07:05:58 +02:00
ameerj
e3c153efa4
vulkan_device: Reorder Float16Int8 declaration
...
This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
2021-09-16 00:54:24 -04:00
ameerj
5601e1cb00
Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"
...
This reverts commit 62e88d0e74
, reversing
changes made to edf3da346f
.
2021-09-16 00:51:22 -04:00
bunnei
f6d5444293
Merge pull request #7010 from Morph1984/fs-timestamp
...
vfs: Partially implement GetFileTimeStampRaw
2021-09-15 20:13:26 -07:00
Moonlacer
371feaa635
fix_clang_error
2021-09-15 20:20:45 -05:00
ameerj
7f737b022a
util_shaders: Unify BGRA copy passes
2021-09-15 21:10:52 -04:00
Moonlacer
09ab819040
fix_accidental_deletion
2021-09-15 19:59:10 -05:00
Moonlacer
44135b011f
remove-audio-stretching-setting
2021-09-15 19:52:43 -05:00
ameerj
84f7e7e91c
vk_scheduler: Use std::jthread
2021-09-15 20:49:07 -04:00
ameerj
877cd60b00
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
ameerj
c2ddda2f51
threadsafe_queue: Add std::stop_token overload to PopWait
...
Useful for jthreads which make use of the threadsafe queues.
2021-09-15 20:49:07 -04:00
lat9nq
7bc07195c5
audin_u: Return a buffer event in RegisterBufferEvent
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15 16:38:12 -04:00
lat9nq
17b0955f9a
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
...
This also moves IAudioIn's definition to the header.
Required for Splatoon 2 LAN play.
2021-09-15 15:52:09 -04:00
Fernando Sahmkow
13471ddf86
Build System: Build with JCC Erratum Mitigation
2021-09-15 21:32:44 +02:00
Fernando Sahmkow
8984abfc76
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
2021-09-15 21:30:33 +02:00
Narr the Reg
b34b3efbb2
ngct: Stub Match
...
Needed for Cruis'n Blast
2021-09-15 00:17:31 -05:00
Morph
2df2b3719a
renderers: Log total pipeline count
2021-09-14 13:18:26 -04:00
Morph
8d63ebcb64
vfs: Partially implement GetFileTimeStampRaw
...
Gets rid of homebrew warnings using this func
2021-09-14 08:48:01 -04:00
bunnei
081ccc6441
Merge pull request #7009 from ameerj/main_process_cleanup
...
core: Destroy main_process during shutdown
2021-09-13 23:32:43 -07:00
ameerj
67f7a6c398
core: Destroy main_process during shutdown
...
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-09-13 23:44:52 -04:00
ameerj
db1c4b125f
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
...
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed.
This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
2021-09-13 23:08:59 -04:00
Morph
d86a9b9a4b
Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiru
...
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
2021-09-13 17:33:15 -04:00
Fernando Sahmkow
7a712da2b3
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.
2021-09-13 23:29:57 +02:00
Morph
62e88d0e74
Merge pull request #7006 from FernandoS27/a-motherfucking-driver
...
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
2021-09-13 17:25:56 -04:00
Mai M
edf3da346f
Merge pull request #7005 from Morph1984/enum-bitwise-shift-ops
...
common_funcs: Add enum flag bitwise shift operator overloads
2021-09-13 17:21:22 -04:00
Morph
fde9b84b21
Merge pull request #6944 from FernandoS27/dear-drunk-me
...
Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
2021-09-13 17:20:07 -04:00
Fernando Sahmkow
e7c8a0bb23
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
2021-09-13 23:17:37 +02:00
Fernando S
1bb28dfe2c
Merge pull request #7001 from ameerj/wario-fix
...
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
2021-09-13 23:16:59 +02:00
Fernando Sahmkow
e7ca37b1e5
Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.
2021-09-13 23:09:18 +02:00
Morph
3512cae623
common_funcs: Add enum flag bitwise shift operator overloads
...
This adds bitwise shift operator overloads (<<, >>, <<=, >>=) in the macro DECLARE_ENUM_FLAG_OPERATORS(type)
2021-09-13 16:01:20 -04:00
Ameer J
d180fd7c36
Merge pull request #7000 from Morph1984/create-dir-comment
...
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12 21:06:52 -04:00
ameerj
35e5a67a83
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
...
Allows drivers that do not support VK_PRESENT_MODE_MAILBOX_KHR the ability to present at a framerate higher than the monitor's refresh rate when the FPS is unlocked.
2021-09-12 20:32:23 -04:00
Mai M
e4318d2207
Merge pull request #7002 from ameerj/vk-state-unused
...
vk_state_tracker: Remove unused function
2021-09-12 17:31:56 -04:00
ameerj
678f73069f
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
...
This function was incorrectly using the stencil_two_side_enable register when dynamically updating the StencilOp.
2021-09-12 16:19:12 -04:00
ameerj
8e289ade15
vk_state_tracker: Remove unused function
2021-09-12 15:28:24 -04:00
Morph
727f607e00
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12 14:06:01 -04:00
Morph
9248442bb2
Merge pull request #6948 from ameerj/amd-warp-fix
...
shaders: Fix warp instructions on 64-thread warp devices
2021-09-12 13:53:29 -04:00
Morph
4ab549e62a
Merge pull request #6975 from ogniK5377/acc-async-ctx
...
account: EnsureTokenIdCacheAsync
2021-09-12 12:03:10 -04:00
Morph
f0f416e85c
Merge pull request #6974 from ogniK5377/fs-recursive-createdir
...
FS: Recursively create directories for CreateDirectory
2021-09-12 12:02:39 -04:00
Morph
9907302465
Merge pull request #6997 from ameerj/stop-emulation-confirmation
...
main: Apply confirm exit setting in exit locked scenarios
2021-09-12 12:01:57 -04:00
Morph
3428232bca
Merge pull request #6992 from german77/brains
...
hid/am: Stub SetTouchScreenConfiguration and implement GetNotificationStorageChannelEvent
2021-09-12 12:01:43 -04:00
Morph
74030eb427
Merge pull request #6987 from Morph1984/common-error
...
common: Move error handling functions out of common_funcs
2021-09-12 12:01:23 -04:00
Morph
47b6f522bd
Merge pull request #6986 from Morph1984/version-update
...
api_version: Update and add AtmosphereTargetFirmware
2021-09-12 12:01:11 -04:00
ameerj
188cf1aed2
main: Apply confirm exit setting in exit locked scenarios
...
Some titles set an exit lock through HLE, which prompts an exit confirmation when stopping emulation if the system is locked.
This change allows bypassing this confirmation if the setting to confirm exits has been disabled by the user.
2021-09-12 00:31:32 -04:00
Morph
e67463df24
shader_environment: Add missing <algorithm> include
2021-09-11 17:19:16 -04:00
Morph
63b4c8f9f7
vk_descriptor_pool: Add missing <algorithm> include
2021-09-11 17:19:16 -04:00
Morph
76abf55f25
slot_vector: Add missing <algorithm> include
2021-09-11 17:19:15 -04:00
Morph
554c46d186
video_core/memory_manager: Add missing <algorithm> include
2021-09-11 17:19:15 -04:00
Morph
6f307f1521
kernel: Add missing <functional> include
2021-09-11 17:19:15 -04:00
Morph
4a6a73e887
file_sys/kernel_executable: Add missing <string> include
2021-09-11 17:19:14 -04:00
Morph
ae028ddf22
codec: Add missing <string_view> include
2021-09-11 17:19:14 -04:00
Morph
eb1e3f19bb
common_funcs: Replace <algorithm> with <iterator>
2021-09-11 17:19:14 -04:00
Morph
290afc00d3
common: Move error handling to error.cpp/h
...
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
2021-09-11 17:19:14 -04:00
Fernando S
be4e192903
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
Fernando S
82c867164b
Merge pull request #6901 from ameerj/vk-clear-bits
...
vk_rasterizer: Only clear depth/stencil buffers when specified in attachment aspect mask
2021-09-11 22:36:22 +02:00
Fernando S
ec6490f5ad
Merge pull request #6941 from ameerj/swapchain-srgb
...
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
2021-09-11 22:36:03 +02:00
Fernando S
472aad69db
Merge pull request #6953 from ameerj/anv-semaphore
...
renderer_vulkan: Wait on present semaphore at queue submit
2021-09-11 22:35:52 +02:00
Fernando S
55854c807d
Merge pull request #6981 from ameerj/nvflinger-hb-format
...
nvflinger: Use external surface format for framebuffer creation
2021-09-11 22:35:25 +02:00
german77
9bddcdac69
am: Implement GetNotificationStorageChannelEvent
2021-09-10 12:24:50 -05:00
german77
a7bbd37f81
hid: Stub SetTouchScreenConfiguration
2021-09-10 12:24:28 -05:00
german77
5798537ce4
input_common: Enable steam controllers and 8 player support
2021-09-10 00:58:12 -05:00
Morph
c9710f6c78
api_version: Update and add AtmosphereTargetFirmware
2021-09-10 01:10:47 -04:00
bunnei
7e9163779d
Merge pull request #6962 from vonchenplus/spirv_support_legacy_attribute
...
renderer_vulkan: Spirv support glsl legacy attribute
2021-09-08 14:04:44 -07:00
Chloe
005b0e68db
Addressed issues
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-09-09 03:00:08 +10:00
Chloe Marcec
543081e4a1
Mark is_complete as atomic
2021-09-09 00:10:52 +10:00
Chloe Marcec
89958e27aa
Addressed issues
2021-09-09 00:09:04 +10:00
Fernando S
6b16f7807e
Merge pull request #6980 from vonchenplus/fix_blend_equation_error
...
Fix blend equation enum error
2021-09-08 11:50:26 +02:00
Ameer J
eb1ba45c39
Merge pull request #6971 from bunnei/buffer-queue-kevent
...
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-08 00:34:36 -04:00
Feng Chen
b1e655f898
Detail adjustment
2021-09-08 10:30:00 +08:00
Feng Chen
bbc1800c1b
Detail adjustment
2021-09-08 09:53:10 +08:00
Feng Chen
e5ca733722
Re-implement get unused location
2021-09-07 13:22:52 +08:00
Feng Chen
9cdf2383e9
Move attribute related definitions to spirv anonymous namespace
2021-09-07 12:34:35 +08:00
german77
4bc3c788f5
input_common: Add alternative string for joycons
2021-09-06 22:20:19 -05:00
ameerj
9e2bf49677
nvflinger: Use external surface format for framebuffer creation
...
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
2021-09-06 23:14:31 -04:00
Ameer J
ab73787d8f
Merge pull request #6977 from Moonlacer/master
...
Second part of Golden's PR #6976
2021-09-06 22:58:23 -04:00
Feng Chen
0292374807
Fix blend equation enum error
2021-09-07 10:12:09 +08:00
Moonlacer
bdd153bc0d
Second part of Golden's PR
2021-09-06 15:25:40 -05:00
Matías Locatti
296fa4e06e
Rename all shader cache references to pipeline cache
...
After Hades, both OpenGL and Vulkan use a pipeline cache instead of single stages of the graphics pipeline. Renamed the Remove menu entries to match.
2021-09-06 15:53:04 -03:00
Chloe Marcec
9141816b10
address name shadowing with system
2021-09-06 22:13:51 +10:00
Chloe Marcec
4e2aa50cef
account: EnsureTokenIdCacheAsync
...
Closes #2547 , #6946
2021-09-06 21:16:21 +10:00
bunnei
51ccc29cdd
Merge pull request #6965 from bunnei/cpu_manager_jthread
...
core: cpu_manager: Use jthread.
2021-09-06 03:49:14 -07:00
Chloe Marcec
0b891c9245
FS: Recursively create directories for CreateDirectory
...
Originally we only created the parent directory, this caused issues for creating directories which also contained subdirectories, eg `/Folder1/Folder2`
This allows the ultimate mod manager homebrew to at least boot
2021-09-06 19:35:55 +10:00
Feng Chen
1de9e4e121
Dynamic get unused location
2021-09-06 10:46:03 +08:00
Feng Chen
d994466a08
Implement intput and output fixed fnc textures
2021-09-06 10:36:45 +08:00
bunnei
e05bfd2f54
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-04 22:25:46 -07:00
bunnei
fb3e9314b9
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-09-03 21:53:00 -07:00
bunnei
25a97e0139
core: cpu_manager: Use jthread.
2021-09-03 19:05:41 -07:00
Feng Chen
a7bbaa4897
Rename parameters
2021-09-03 23:52:20 +08:00
Feng Chen
cf26f375ff
Fix create GraphicsPipelines crash
2021-09-03 22:55:53 +08:00
ameerj
7d854fbdb0
renderer_vulkan: Wait on present semaphore at queue submit
...
The present semaphore is being signalled by the call to acquire the
swapchain image. This semaphore is meant to be waited on when rendering
to the swapchain image. Currently it is waited on when presenting, but
moving its usage to be waited on in the command buffer submission allows
for proper usage of this semaphore.
Fixes the device lost when launching titles on the Intel Linux Mesa driver.
2021-09-02 13:13:20 -04:00
Feng Chen
1e2a89d306
Add input/output location
2021-09-02 23:34:51 +08:00
bunnei
b2572a56d3
Merge pull request #6900 from ameerj/attr-reorder
...
structured_control_flow: Add DemoteCombinationPass
2021-09-01 17:36:26 -07:00
german77
c57e0b3b24
common/logging: Add missing include
2021-09-01 19:13:33 -05:00
ameerj
d956fb3c7c
emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
ameerj
5b45dfe971
emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
ameerj
a5d9dcf3d9
emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes
2021-08-31 13:40:39 -04:00
ameerj
95213270ef
emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes
2021-08-31 13:40:12 -04:00
bunnei
956171f024
Merge pull request #6897 from FernandoS27/pineapple-does-not-belong-in-pizza
...
Project <tentative title>: Rework Garbage Collection.
2021-08-31 09:11:21 -07:00
Feng Chen
73b11f390e
Add colorfront and txtcoord support
2021-09-01 00:07:25 +08:00
bunnei
122eb3cbd0
Merge pull request #6928 from ameerj/spirv-get-frontface
...
emit_spirv_context_get_set: Fix Get FrontFace return value
2021-08-30 18:16:31 -07:00
bunnei
ec19d9594f
Merge pull request #6879 from ameerj/decoder-assert
...
vk_blit_screen: Fix non-accelerated texture size calculation
2021-08-30 15:24:04 -07:00
ameerj
907dfbea71
structured_control_flow: Skip reordering nested demote branches.
...
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
2021-08-30 11:46:25 -04:00
ameerj
4fda7f1c82
structured_control_flow: Conditionally invoke demote reorder pass
...
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-30 11:46:24 -04:00
Fernando Sahmkow
fe0acec539
Garbage Collection: Make it more agressive on high priority mode.
2021-08-29 18:57:17 +02:00
Fernando Sahmkow
ff48f06fb9
Garbage Collection: Adress Feedback.
2021-08-29 18:19:53 +02:00
bunnei
5f19b66189
Merge pull request #6905 from Morph1984/nifm-misc
...
nifm/network_interface: Cleanup and populate fields in GetCurrentNetworkProfile
2021-08-29 00:04:58 -07:00
ameerj
27f8f3333f
vulkan_device: Enable VK_KHR_swapchain_mutable_format if available
...
Silences validation errors when creating sRGB image views of linear swapchain images
2021-08-29 02:03:36 -04:00
ameerj
3c65c8580f
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
...
Fixes broken sRGB when presenting from a secondary GPU.
2021-08-29 02:03:35 -04:00
bunnei
4e88989435
Merge pull request #6921 from ameerj/vp9-unused
...
vp9_types: Remove unusued VP9 info struct members
2021-08-28 22:20:09 -07:00
Morph
7d2265b6a8
Merge pull request #6927 from german77/ngct
...
ngct: Stub NGCT:U service
2021-08-28 23:03:29 -04:00
Fernando Sahmkow
ba82bb359b
Garbage Collection: enable as default, eliminate option.
2021-08-28 17:55:37 +02:00
Fernando Sahmkow
d540d284b5
VideoCore: Rework Garbage Collection.
2021-08-28 17:54:12 +02:00
ameerj
862dc2b2b3
structured_control_flow: Add DemoteCombinationPass
...
Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program.
Fixes "wireframe" issue in Pokemon SwSh on some drivers
2021-08-28 11:35:25 -04:00
german77
f134a5e56c
ngct: Stub NGCT:U service
2021-08-27 14:15:34 -05:00
Morph
790a09bc93
Revert "logging: Display backtrace on crash"
2021-08-27 04:01:22 -04:00
Morph
c1e2063c0d
service: nifm: Populate fields in GetCurrentNetworkProfile
...
Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
2021-08-27 02:10:59 -04:00
Morph
878d0225c5
service: nifm: Cleanup GetCurrentIpConfigInfo
2021-08-27 02:10:58 -04:00
Morph
871e1c6315
network_interface: Cleanup code
2021-08-27 02:10:58 -04:00
Morph
a32a7dacf4
network_interface: Replace default return value with std::nullopt
2021-08-27 02:10:58 -04:00
ameerj
6e407c02d8
emit_spirv_context_get_set: Fix Get FrontFace return value
...
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
2021-08-26 21:37:34 -04:00
bunnei
d10d480642
Merge pull request #6870 from yzct12345/trace-back-stack-back-stack-back
...
logging: Display backtrace on crash
2021-08-26 17:41:14 -07:00
bunnei
0c8594b225
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
ameerj
eb2624ed65
vp9_types: Minor refactor of VP9 info structs.
2021-08-25 21:42:43 -04:00
ameerj
3de38c9a70
vp9_types: Remove unused Vp9PictureInfo members
2021-08-25 21:29:22 -04:00
Fernando S
3843995ceb
Merge pull request #6919 from ameerj/vk-int8-capability
...
vulkan_device: Add a check for int8 support
2021-08-25 23:46:08 +02:00
Ameer J
de71a4d70d
Merge pull request #6894 from FernandoS27/bunneis-left-ear
...
GPU_MemoryManger: Fix GetSubmappedRange.
2021-08-25 16:50:03 -04:00
ameerj
4d535799eb
vulkan_device: Add a check for int8 support
...
Silences validation errors when shaders use int8 without specifying its support to the API
2021-08-24 21:22:41 -04:00
ameerj
84b4ac5729
logging: Fix log filter during initialization
...
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value.
This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-24 01:32:38 -04:00
Ameer J
bed0c3c92a
Merge pull request #6878 from BreadFish64/optimize-GetHostThreadID
...
kernel: Optimize GetHostThreadID
2021-08-24 00:01:13 -04:00
bunnei
7eb4542c1d
Merge pull request #6912 from lioncash/plural
...
CMakeLists: Ensure proper numerusform tags are generated for pluralized translations
2021-08-23 16:40:31 -07:00
bunnei
f65f8b9097
Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplace
...
logging: Simplify and make thread-safe
2021-08-22 20:40:18 -07:00
Lioncash
6fef91ce4c
CMakeLists: Ensure proper numerusform tags are generated for pluralized translations
...
If we don't set an explicit source and target language for the base
english translation, then we'll generate an incorrect number of
<numerusform> tags (which Transifex doesn't like).
2021-08-22 11:52:37 -04:00
Morph
c4a1d3cbf4
settings: Amend language_index maximum setting range
...
The maximum is now 17 with the addition of Brazilian Portuguese
2021-08-21 09:43:15 -04:00
ameerj
e0397f00d0
vk_rasterizer: Only clear depth and stencil buffers when set in attachment aspect mask
...
Silences validation errors for clearing the depth/stencil buffers of framebuffer attachments that were not specified to have depth/stencil usage.
2021-08-21 02:37:15 -04:00
Ameer J
bde6b899a1
Merge pull request #6888 from v1993/patch-3
...
video_core: eliminate constant ternary
2021-08-21 00:16:18 -04:00
bunnei
455e28790a
Merge pull request #6877 from MerryMage/dyn-ignore-asserts
...
dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS
2021-08-19 15:53:14 -07:00
Mai M
519978ce70
Merge pull request #6887 from v1993/patch-2
...
SPIR-V: Merge two ifs in EmitGetAttribute
2021-08-19 17:16:37 -04:00
Mai M
0821d95399
Merge pull request #6886 from Morph1984/error-code-64
...
applet_error: Fix 64-bit error code conversion
2021-08-19 17:15:49 -04:00
Fernando Sahmkow
ef2066b272
GPU_MemoryManger: Fix GetSubmappedRange.
2021-08-19 22:57:22 +02:00
Valeri
d82fc52cea
Replace QPoint with QPointF where applicable
...
Previously, floats were implicitly cast to integers
2021-08-19 23:16:58 +03:00
Valeri
40674b8e22
qt_software_keyboard: fix copy-paste error
2021-08-19 22:17:15 +03:00
Valeri
4fd655cb46
video_core: eliminate constant ternary
...
`via_header_index` is already checked above, so it would never be true in this branch
2021-08-19 21:22:05 +03:00
Morph
9cb376f8c2
applet_error: Fix 64-bit error code conversion
2021-08-19 13:16:48 -04:00
Valeri
beb7305b73
SPIR-V: Merge two ifs in EmitGetAttribute
2021-08-19 20:13:46 +03:00
Valeri
ab02addde3
Fix crash in logging in CreateStrayLayer
...
It was trying to log value of layer_id which is specifically known not to exist, potentially leading to segfault. Log display_id instead.
2021-08-19 19:33:07 +03:00
Valeri
0b3d12be40
Fix check is thread current in GetThreadContext
...
Misplaced break made it only check for the first core.
2021-08-19 16:46:30 +03:00
bunnei
aa40084c24
Merge pull request #6832 from bunnei/scheduler-improvements
...
kernel: Various improvements to scheduler
2021-08-18 15:42:46 -07:00
ameerj
b384129c63
h264: Lower max_num_ref_frames
...
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
2021-08-16 14:40:53 -04:00
ameerj
cd016d3cb5
configure_graphics: Add GPU nvdec decoding as an option
...
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2021-08-16 14:40:53 -04:00
ameerj
a832aa699f
codec: Improve libav memory alloc and cleanup
2021-08-16 14:40:53 -04:00
ameerj
bc3efb79cc
codec: Fallback to CPU decoding if no compatible GPU format is found
2021-08-16 14:40:53 -04:00
lat9nq
92bc51b66a
cmake: Add VDPAU and NVDEC support to FFmpeg
...
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
2021-08-16 14:40:52 -04:00
ameerj
537c6ac8fe
vk_blit_screen: Fix non-accelerated texture size calculation
...
Addresses the potential OOB access in UnswizzleTexture.
2021-08-16 14:28:10 -04:00
Fernando S
521e6ac174
Merge pull request #6863 from spholz/fix-lan-play
...
Fix LAN Play
2021-08-16 17:10:00 +02:00
BreadFish64
14e93f133a
kernel: Optimize GetHostThreadID
2021-08-16 07:30:23 -05:00
Sönke Holz
356dbf4d1d
network_interface: correct formatting
2021-08-16 12:18:19 +02:00
spholz
dc47b5a5bf
network_interface: fix mingw-w64 build
2021-08-16 12:06:35 +02:00
Sönke Holz
70419f7a17
network: retrieve subnet mask and gateway info
2021-08-16 10:32:25 +02:00
Merry
1770503185
xbyak: Update include path
2021-08-15 19:26:38 +01:00
bunnei
87d63b858a
Merge pull request #6861 from yzct12345/const-mempy-is-all-the-speed
...
decoders: Optimize memcpy for the other functions
2021-08-15 02:38:12 -07:00
bunnei
aef0ca6f0d
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-08-14 02:14:19 -07:00
yzct12345
0ba521e634
threadsafe_queue: Fix deadlock
...
This fixes a lost wakeup in SPSCQueue. If the reader is in just the right position, the writer's notification will be lost and this will be a problem if the writer then does something to wait on the reader.
This was discovered to affect my upcoming stacktrace PR. I don't think any performance decrease will be noticeable because an uncontended mutex is smart enough to skip the syscall. This PR might also resolve some rare deadlocks but I don't know of any examples.
2021-08-13 19:22:51 +00:00
yzct12345
81ed54d13e
logging: Display backtrace on crash
...
This implements backtraces so we don't have to tell users how to use gdb anymore.
This prints a backtrace after abort or segfault is detected. It also fixes the log getting cut off with the last line containing only a bracket. This change lets us know what caused a crash not just what happened the few seconds before it.
I only know how to add support for Linux with GCC. Also this doesn't work outside of C/C++ such as in dynarmic or certain parts of graphics drivers. The good thing is that it'll try and just crash again but the stack frames are still there so the core dump will work just like before.
2021-08-13 18:58:35 +00:00
yzct12345
001675dced
logging: Simplify and make thread-safe
...
This simplifies the logging system.
This also fixes some lost messages on startup.
The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.
With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-13 18:39:45 +00:00
Sönke Holz
068c66672d
configuration: fix mingw-w64 build
2021-08-13 12:39:14 +02:00
spholz
deb65a5717
network: don't use reinterpret_cast in GetAvailableNetworkInterfaces
2021-08-13 11:58:34 +02:00
Sönke Holz
e660334a21
network: fix mingw-w64 build
...
The header "combaseapi.h" of mingw-w64 defines "interface" as "struct".
2021-08-13 11:23:50 +02:00
Sönke Holz
b18e1d031f
network: don't use assert to check if no network interfaces are returned
2021-08-13 11:21:34 +02:00
bunnei
71d8d84b59
Merge pull request #6862 from german77/badsdl
...
input_common: Disable sdl raw input mode
2021-08-12 21:14:26 -07:00
Sönke Holz
0476751ee2
configuration: move network_interface include to source file
2021-08-13 02:48:39 +02:00
Sönke Holz
a0c4c1a23a
network: use Common::BitCast instead of std::bit_cast
2021-08-13 01:28:14 +02:00
Sönke Holz
8513e59431
network: narrow down scope of "result" in win32 code for
...
GetAvailableNetworkInterfaces
2021-08-13 00:37:03 +02:00
Sönke Holz
04ec426201
configuration: use tr instead of QStringLiteral for "None" item in
...
network interface combobox
2021-08-13 00:34:04 +02:00
Sönke Holz
771de32af1
network: use explicit bool conversions in GetAvailableNetworkInterfaces
2021-08-13 00:31:33 +02:00
Sönke Holz
765e97c347
network: initialize ip_addr in GetHostIPv4Address()
2021-08-13 00:28:44 +02:00
Sönke Holz
acca8aca8c
nifm: use operator*() instead of .value() to get value of std::optional
2021-08-13 00:24:33 +02:00
Sönke Holz
970d81abfc
nifm: treat a missing host IP address as a non-critical error
2021-08-13 00:21:54 +02:00
spholz
78a8249593
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-12 22:27:17 +02:00
Sönke Holz
21743daf38
network: correct formatting in network.cpp and network_interface.cpp
2021-08-12 22:15:48 +02:00
spholz
1e98e73828
configuration: add option to select network interface
...
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-08-12 21:32:53 +02:00
bunnei
0509fe3377
Merge pull request #6838 from ameerj/sws-align
...
vic: Specify sws_scale height stride.
2021-08-12 11:28:33 -07:00
german77
2a2f0bfe9e
input_common: Disable sdl raw input mode
2021-08-12 13:17:07 -05:00
ameerj
356e10898f
codec: Replace deprecated av_init_packet usage
2021-08-12 01:28:01 -04:00
ameerj
659039ca6d
nvdec: Implement GPU accelerated decoding for all platforms
...
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
2021-08-12 01:28:01 -04:00
yzct12345
430255caf8
decoders: Templates allow memcpy optimizations
2021-08-12 04:45:25 +00:00
lat9nq
5be2d6fd28
settings: Fix MSVC issues
...
According to https://stackoverflow.com/questions/469508 , we run into a
MSVC bug (since VS 2005) when using diamond inheritance for
RangedSetting.
This explicitly implements those functions in RangedSetting. GetValue is
implemented as just calling the inherited version. The explicit
converson operator is reimplemented. I opted for this over ignoring the
warning with a pragma since this specifies the inherited behavior, and I
have now less faith in MSVC to pick the right one.
In addition, we mark destructors as virtual to silence what I believe is
a fair MSVC compilation error.
2021-08-11 17:12:14 -04:00
bunnei
e6b80c2cf8
Merge pull request #6776 from lat9nq/ranged-settings
...
settings: Implement settings ranges
2021-08-10 21:19:01 -07:00
Fernando S
6a082df427
Merge pull request #6820 from yzct12345/split-cache
...
texture_cache: Split out template definitions
2021-08-10 12:23:05 +02:00
Ameer J
9fbe188c01
Merge pull request #6837 from german77/no-pause-screenshot
...
main: Avoid stopping emulation when taking a screenshot
2021-08-09 23:49:48 -04:00
ameerj
a779cede7c
vic: Specify sws_scale height stride.
...
Silences a sws_scale runtime warning about unaligned strides.
2021-08-09 23:24:16 -04:00
bunnei
7df790f1ae
Merge pull request #6823 from yzct12345/memory-cleanup
...
memory: Clean up code
2021-08-09 17:09:56 -07:00
bunnei
3e3bd425c1
Merge pull request #6839 from ameerj/frame-cap-positon
...
configure_general: Swap positions of speed limit and frame limit options
2021-08-09 12:32:07 -07:00
Mai M
2da91ec75b
Merge pull request #6844 from ameerj/vp9-empty-frame
...
vp9: Ensure the first frame is complete
2021-08-08 19:02:39 -04:00
Fernando Sahmkow
23ca1eb82e
yuzu-cmd/CMakeLists: Correct attribution for this function.
2021-08-08 20:24:53 +02:00
ameerj
fa22695705
vp9: Ensure the first frame is complete
...
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
2021-08-08 13:49:00 -04:00
yzct12345
c4eafcc861
texture_cache: Address ameerj's review
2021-08-08 11:02:51 +00:00
Fernando S
859deda3bb
Merge pull request #6834 from K0bin/buffer-image-granularity
...
Respect Vulkan bufferImageGranularity
2021-08-08 11:57:40 +02:00
bunnei
b023413c98
Merge pull request #6698 from german77/SDL_QoL
...
input_common: Improve SDL joystick and hide toggle option
2021-08-08 02:44:42 -07:00
bunnei
00358e2098
Merge pull request #6817 from gidoly/patch-1
...
Add description to fast gpu time option
2021-08-08 01:11:47 -07:00
ameerj
8e0cc3e59a
configure_general: Swap positions of speed limit and frame limit options
2021-08-08 01:00:40 -04:00
german77
48b6d41f1b
input_common: Improve SDL joystick and hide toggle option
2021-08-07 23:11:23 -05:00
bunnei
63325cafbe
Merge pull request #6827 from Morph1984/uuid-hash
...
common: uuid: Add hash function for UUID
2021-08-07 17:18:46 -07:00
Rodrigo Locatti
d4cab35533
input_common: Fix data race on GC implementation
2021-08-07 16:46:26 -05:00
german77
acce512ae8
main: Avoid stopping emulation when taking a screenshot
2021-08-07 15:45:29 -05:00
bunnei
bd0e1d3a25
Merge pull request #6830 from ameerj/nvdec-unimpld-codec
...
nvdec: Better logging for unimplemented codecs
2021-08-07 12:37:39 -07:00
bunnei
5060a97210
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-08-07 12:33:31 -07:00
bunnei
9e3d1d865c
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-08-07 12:33:07 -07:00
bunnei
99bc49e76e
core: hle: service: buffer_queue: Improve management of KEvent.
2021-08-07 12:18:48 -07:00
bunnei
48a3496b93
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-08-07 12:18:48 -07:00
bunnei
36cf96857e
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-08-07 12:18:47 -07:00
bunnei
5051d3c415
core: hle: kernel: DisableDispatch on suspend threads.
2021-08-07 12:18:47 -07:00
bunnei
1798c3b6b0
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-08-07 12:18:47 -07:00
bunnei
cbe4e32d38
core: cpu_manager: Use KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
2dfb07388a
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-08-07 12:18:47 -07:00
bunnei
d1c502720d
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-08-07 12:18:47 -07:00
bunnei
77ad64b97d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-08-07 12:18:47 -07:00
bunnei
bedcf19710
core: hle: kernel: k_scheduler: Improve Unload.
2021-08-07 12:18:47 -07:00
bunnei
7569d6774d
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-08-07 12:18:47 -07:00
bunnei
f2b0d28983
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-08-07 12:18:47 -07:00
bunnei
01af2f4162
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
2b9560428b
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-08-07 12:18:47 -07:00
bunnei
68eee94875
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-08-07 12:18:47 -07:00
bunnei
5ea0d3629a
core: cpu_manager: Use jthread.
2021-08-07 12:18:47 -07:00
Robin Kertels
bb29dcb7f2
vulkan_memory_allocator: Respect bufferImageGranularity
2021-08-07 15:28:05 +02:00
bunnei
456adb95ff
Merge pull request #6795 from sankasan/cmd-remove-cursor-fullscreen
...
yuzu-cmd: hide mouse cursor when started fullscreen
2021-08-07 02:00:29 -07:00
bunnei
bd1a764827
Merge pull request #6815 from german77/ui_improvements
...
settings_ui: Add emulated joystick position dot to controller preview
2021-08-06 23:54:23 -07:00
ameerj
928b64d2ce
nvdec: Better logging for unimplemented codecs
2021-08-07 01:08:33 -04:00
bunnei
268b5764c7
Merge pull request #6791 from ameerj/astc-opt
...
astc_decoder: Various performance and memory optimizations
2021-08-06 21:45:24 -07:00
yzct12345
5f97f74a9a
memory: Address lioncash's review
2021-08-07 03:03:21 +00:00
yzct12345
70cc4c0f46
memory: Dedup Read and Write and fix logging bugs
2021-08-07 01:32:06 +00:00
yzct12345
e80323b8b0
texture_cache: Address ameerj's review
2021-08-07 01:27:47 +00:00
spholz
33ebe471e8
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-07 02:55:19 +02:00
Sönke Holz
ddeb8d854e
network: GetAndLogLastError: ignore Errno::AGAIN
...
If non-blocking sockets are used, they generate a lot of Errno::AGAIN errors when they didn't receive any data. These errors shouldn't be logged.
2021-08-07 02:54:25 +02:00
bunnei
f183668a87
Merge pull request #6799 from ameerj/vp9-fixes
...
nvdec: Fix VP9 reference frame refreshes
2021-08-06 17:46:46 -07:00
Sönke Holz
dd5c41b5a6
network: GetCurrentIpConfigInfo: return host IP address
...
Service::NIFM::IGeneralService::GetCurrentIpConfigInfo currently hardcodes 192.168.1.100 as the IP address, which prevents LAN play from working correctly.
2021-08-07 02:17:02 +02:00
ameerj
156ea746a3
nvhost_nvdec_common: Remove BufferMap
...
This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
2021-08-06 20:11:12 -04:00
ameerj
e3688f0627
vp9: Cleanup unused variables
...
With reference frames refreshes fix, we no longer need to buffer two frames in advance.
We can also remove other unused or otherwise unneeded variables.
2021-08-06 20:08:11 -04:00
ameerj
a3f80a97a3
vp9: Fix reference frame refreshes
...
This resolves the artifacting when decoding VP9 streams.
2021-08-06 20:08:08 -04:00
ameerj
cc8ac112fc
nvhost_nvdec_common: Stub UnmapBuffer Ioctl
...
Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
2021-08-06 20:06:30 -04:00
Sönke Holz
652e5e3df0
network: fix fcntl cmds
...
F_SETFL/F_GETFL are the correct commands to set a socket to be non-blocking
2021-08-06 21:08:31 +02:00
bunnei
42d8e08f78
Merge pull request #6822 from yzct12345/clion-assert
...
assert: Avoid empty macros
2021-08-05 22:29:45 -07:00
Morph
d20c5ac720
common: uuid: Add hash function for UUID
...
Used when UUID is a key in an unordered_map. The hash is produced by XORing the high and low 64-bits of the UUID together.
2021-08-06 00:41:55 -04:00
yzct12345
e611f522c2
memory: Clean up CopyBlock too
2021-08-05 21:09:08 +00:00
gidoly
8ba551e1cd
Update configure_graphics_advanced.ui
...
add description too fast gpu time
2021-08-06 06:08:12 +09:00
yzct12345
02e98f6c93
texture_cache: Don't change copyright year
2021-08-05 20:52:12 +00:00
yzct12345
5566f3dbc0
texture_cache: Address ameerj's review
2021-08-05 20:46:24 +00:00
yzct12345
4edfa6ad8f
memory: Address lioncash's review
2021-08-05 20:29:43 +00:00
bunnei
e1a92db519
Merge pull request #6813 from Morph1984/hex-string-to-uuid
...
common: uuid: Add hex string to UUID constructor
2021-08-05 13:29:11 -07:00
yzct12345
6df9611059
memory: Clean up code
2021-08-05 20:11:14 +00:00
yzct12345
7e846be376
assert: Verify formatting
2021-08-05 17:46:22 +00:00
yzct12345
346149dcf9
assert: Avoid empty macros
2021-08-05 17:21:56 +00:00
yzct12345
f9563c8f24
texture_cache: Split templates out
2021-08-05 13:52:30 +00:00
Mai M
a1cb453470
Merge pull request #6819 from Morph1984/i-am-dumb
...
applet_swkbd: Include the null terminator in the buffer size calculation
2021-08-04 23:32:01 -04:00
Mai M
9a7d2e3659
Merge pull request #6818 from Morph1984/hex-util-bug
...
hex_util: Fix incorrect array size in AsArray
2021-08-04 23:31:04 -04:00
Morph
f10dc35dd0
applet_swkbd: Include the null terminator in the buffer size calculation
...
Some games may interpret the read string as a null-terminated string instead of just reading the string up to buffer_size.
2021-08-04 22:32:09 -04:00
Morph
7b39215c8a
hex_util: Fix incorrect array size in AsArray
...
Although this isn't used, this is a potential bug as HexStringToArray will perform an out-of-bounds read.
2021-08-04 22:16:29 -04:00
lat9nq
be16d92060
config: Read connected setting for controllers
...
Currently yuzu will read the mapping but does not connect a controller
despite adding subsequent configurations for it. Read the `connected`
setting for now as a boolean like the Qt frontend.
2021-08-04 17:09:35 -04:00
german77
1fb158ce90
settings_ui: Add emulated joystick position dot to controller preview
2021-08-04 11:46:54 -05:00
Morph
705f111058
common: uuid: Add hex string to UUID constructor
...
This allows for easily converting a hex string into a Common::UUID, which is backed by a 128 bit unsigned integer.
2021-08-04 10:45:41 -04:00
yzct12345
2868d4ba84
nvdec: Implement VA-API hardware video acceleration ( #6713 )
...
* nvdec: VA-API
* Verify formatting
* Forgot a semicolon for Windows
* Clarify comment about AV_PIX_FMT_NV12
* Fix assert log spam from missing negation
* vic: Remove forgotten debug code
* Address lioncash's review
* Mention VA-API is Intel/AMD
* Address v1993's review
* Hopefully fix CMakeLists style this time
* vic: Improve cache locality
* vic: Fix off-by-one error
* codec: Async
* codec: Forgot the GetValue()
* nvdec: Address ameerj's review
* codec: Fallback to CPU without VA-API support
* cmake: Address lat9nq's review
* cmake: Make VA-API optional
* vaapi: Multiple GPU
* Apply suggestions from code review
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* nvdec: Address ameerj's review
* codec: Use anonymous instead of static
* nvdec: Remove enum and fix memory leak
* nvdec: Address ameerj's review
* codec: Remove preparation for threading
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-08-03 23:43:11 -04:00
Morph
d16a337d98
Merge pull request #6805 from lat9nq/fix-user-profiles
...
config: Only read/write current_user on global config
2021-08-02 23:58:41 -04:00
lat9nq
6ab0c6a808
config: Only read/write current_user on global config
2021-08-02 18:29:24 -04:00
spholz
e71f78d04c
network: fix ternary operator in Socket::SendTo
2021-08-02 20:12:12 +02:00
yzct12345
f56d0db5bd
decoders: Optimize swizzle copy performance ( #6790 )
...
This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
2021-08-02 11:18:58 -04:00
san
3e26141483
yuzu-cmd: hide cursor when in fullscreen
...
Exposed the SDL_ShowCursor function to EmuWindow baseclass. When creating the window (GL or VK) in fullscreen it now automatically hides the cursor.
2021-08-01 21:46:13 +02:00
Malte Jürgens
381aacdbb1
game_list: Make game list folder icons smaller ( #6762 )
...
Makes the default game list folder icons 48x48 by default instead of 64x64, and allows for selecting small (24x24) and large (72x72) icon sizes.
2021-08-01 12:59:36 -04:00
Morph
3b4d427993
service: set: Correct copy amount in GetAvailableLanguageCodes
2021-08-01 11:59:52 -04:00
Fernando S
30f0b7cf31
Merge pull request #6720 from ameerj/vk-screenshot
...
renderer_vulkan: Implement screenshots
2021-08-01 13:31:33 +02:00
Ameer J
db32c3762b
Merge pull request #6765 from ReinUsesLisp/y-negate-vk
...
vk_rasterizer: Flip viewport on Y_NEGATE
2021-08-01 01:47:37 -04:00
ameerj
c439fc9be9
astc_decoder: Reduce workgroup size
...
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
2021-08-01 01:22:27 -04:00
ameerj
5ab8053511
astc_decoder: Compute offset swizzles in-shader
...
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
2021-08-01 01:22:26 -04:00
ameerj
b2862e4772
astc_decoder: Make use of uvec4 for payload data
2021-07-31 22:28:04 -04:00
ameerj
a75d70fa90
astc_decoder: Simplify Select2DPartition
2021-07-31 21:36:26 -04:00
ameerj
5665d05547
astc_decoder: Optimize the use EncodingData
...
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation.
We can take advantage of its sorted property to optimize its usage in the shader.
Thanks to wwylele for the optimization idea.
2021-07-31 21:36:26 -04:00
ameerj
15c0c213b1
astc.h: Move data to cpp implementation
...
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
2021-07-31 21:26:42 -04:00
lat9nq
3862511a9a
settings: Use std::clamp where possible
...
Addresses PR review
Co-authored-by: PixelyIon <pixelyion@protonmail.com>
2021-07-31 17:20:12 -04:00
Morph
9143fe5d3a
hle: api_version: Update HOS version to 12.1.0
...
Keeps us up to date with reporting the system version.
2021-07-31 14:39:49 -04:00
lat9nq
e9cf08c241
settings: Remove unnecessary std::move usages
...
Addresses review feedback.
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-07-30 18:44:50 -04:00
bunnei
47f13a9df4
Merge pull request #6752 from Morph1984/pt-br
...
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 14:42:11 -07:00
bunnei
2c7fdee7a7
Merge pull request #6775 from lat9nq/cmd-remove-global-core
...
emu_window: Remove global system instance
2021-07-30 13:28:24 -07:00
bunnei
7530594602
Merge pull request #6759 from ReinUsesLisp/pipeline-statistics
...
renderer_vulkan: Add setting to log pipeline statistics
2021-07-30 11:18:52 -07:00
lat9nq
7737bdfd1a
settings: Fix function virtualization
...
Fixes a theoretical scenario where a Setting is using the BasicSetting's
GetValue function. In practice this probably only happens on yuzu-cmd,
where there is no need for a Setting's additional features. Need to fix
regardless.
2021-07-30 13:33:35 -04:00
lat9nq
a1f19b61f8
settings: Implement setting ranges
...
Clamps the setting's values against the specified minimum and maximum
values.
2021-07-30 13:33:21 -04:00
lat9nq
335de3fdf5
emu_window: Remove global system instance
...
It was just the one in emu_window_sdl2, but since _gl and _vk inherit
from it, they all needed adjustments.
Leaves just the one auto system& in main().
2021-07-30 10:43:58 -04:00
Morph
ba3d230421
applet_swkbd: Correct string buffer size calculation
...
The buffer size here does not include the initial 8 bytes.
2021-07-30 02:19:04 -04:00
Morph
275db94bb8
configure_system: Add Brazilian Portuguese to the list of languages
2021-07-30 02:15:53 -04:00
Morph
6ca8ed9e58
service: set: Correct 4.0.0 max_entries to 0x40 (64) instead of 17
2021-07-30 02:15:53 -04:00
Morph
21ff0a3d6e
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 02:15:53 -04:00
Morph
db07ca6c7f
Merge pull request #6767 from ReinUsesLisp/fold-float-pack
...
shader: Fold UnpackFloat2x16 and PackFloat2x16
2021-07-30 02:07:52 -04:00
bunnei
a98f14e9b0
Merge pull request #6722 from ReinUsesLisp/xmad-opts
...
shader: Fold integer FMA from Nvidia's pattern
2021-07-29 18:45:37 -07:00
ReinUsesLisp
8c9febe8f7
shader: Fold UnpackFloat2x16 and PackFloat2x16
...
Simplifies the code a bit when possible. These instructions should be
no-ops codegen wise.
2021-07-29 21:22:52 -03:00
Ameer J
23b3333f72
Merge pull request #6751 from Morph1984/languagecode
...
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-29 14:41:03 -04:00
bunnei
5acf020389
Merge pull request #6742 from Morph1984/uuid
...
common: uuid: Return a lower-case hex string in Format
2021-07-29 09:37:15 -07:00
ReinUsesLisp
b185567a03
vk_rasterizer: Flip viewport on Y_NEGATE
...
Matches OpenGL's behavior. I don't believe this register flips geometry,
but we have to try to match behavior on both backends.
2021-07-29 02:17:53 -03:00
ameerj
7ac99bb127
renderers: Add explicit invert_y bool to screenshot callback
...
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
2021-07-28 21:46:08 -04:00
ameerj
75e7f54fb0
renderer_vulkan: Implement screenshots
2021-07-28 21:45:55 -04:00
ameerj
548bac8989
vk_blit_screen: Add public CreateFramebuffer method
2021-07-28 21:43:02 -04:00
ameerj
1e6c5d323d
vk_blit_screen: Make Draw method more generic
...
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
2021-07-28 21:37:30 -04:00
bunnei
124e3b4819
Merge pull request #6760 from ReinUsesLisp/fp16-collect
...
shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructions
2021-07-28 14:55:06 -07:00
bunnei
f771d92e44
Merge pull request #6758 from jbeich/fastmem
...
host_memory: enable fastmem on FreeBSD
2021-07-28 13:01:54 -07:00
bunnei
d05e6003f0
Merge pull request #6700 from lat9nq/fullscreen-enum
...
general: Implement FullscreenMode enumeration
2021-07-28 11:36:42 -07:00
Morph
5593a3716e
Merge pull request #6671 from jls47/master
...
applets/web: Addressing QT Navigation issues in Linux
2021-07-27 22:46:27 -04:00
ReinUsesLisp
1bb46b7d64
shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructions
...
Fixes instances where fp16 types are not declared on SPIR-V but they are
used. This shouldn't happen on master, as it's been uncovered by an
additional optimization pass.
2021-07-27 21:33:05 -03:00
ReinUsesLisp
3b006f4fe2
renderer_vulkan: Add setting to log pipeline statistics
...
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
2021-07-27 21:29:24 -03:00
bunnei
92887a65f0
Merge pull request #6749 from lioncash/rtarget
...
render_target: Add missing initializer for size extent
2021-07-27 17:28:53 -07:00
bunnei
6053f2e1fe
Merge pull request #6730 from Morph1984/buf_to_stdstring
...
common: fs: fs_util: Add BufferToUTF8String
2021-07-27 15:50:54 -07:00
Jan Beich
353be2306c
host_memory: Add workaround for FreeBSD 12
...
src/common/host_memory.cpp:360:14: error: use of undeclared identifier
'memfd_create'
fd = memfd_create("HostMemory", 0);
^
2021-07-27 20:15:23 +00:00
Jan Beich
c4cd82fa7c
host_memory: Enable Linux implementation on FreeBSD
...
HW.Memory <Critical> common/host_memory.cpp:HostMemory:492: Fastmem unavailable, falling back to VirtualBuffer for memory allocation
2021-07-27 20:09:43 +00:00
Rodrigo Locatti
ab206d6378
Merge pull request #6748 from lioncash/engine-init
...
video_core/engine: Consistently initialize rasterizer pointers
2021-07-27 16:17:20 -03:00
Rodrigo Locatti
5da97c57cd
Merge pull request #6744 from lioncash/exc
...
exception: Make constructors explicit
2021-07-27 16:11:17 -03:00
bunnei
2717e79c74
Merge pull request #6745 from lioncash/copies
...
video_core: Remove some unused variables
2021-07-27 11:38:32 -07:00
jls47
ef29ed75b0
qt_web_browser: Fix lambda capture for HIDButton
2021-07-27 11:31:12 -04:00
jls47
3109d1c3db
qt_web_browser: Focus on the first link element
...
Focusing on the first link element fixes element navigation upon loading the web applet in games such as Super Mario Odyssey
2021-07-27 11:31:11 -04:00
Morph
a6359fe9ae
service: ns: Remove unused ns_language header
2021-07-27 08:59:26 -04:00
Morph
d7cd316a6c
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-27 08:54:41 -04:00
Lioncash
00e100de08
render_target: Add missing initializer for size extent
...
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.
We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
2021-07-27 07:41:21 -04:00
Lioncash
f8964dd89a
video_core/engine: Consistently initialize rasterizer pointers
...
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
2021-07-27 07:30:57 -04:00
Lioncash
8c82c594f0
vulkan_wrapper: Fix SetObjectName() always indicating objects as images
...
We should be using the passed in object type instead.
2021-07-27 07:19:15 -04:00
Lioncash
ec56a17acd
buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()
...
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
2021-07-27 06:24:44 -04:00
Lioncash
075a744e38
gl_shader_cache: Remove unused variable
2021-07-27 06:23:49 -04:00
Lioncash
296728ec46
vk_compute_pass: Remove unused captures
...
Resolves two compiler warnings.
2021-07-27 06:17:52 -04:00
Lioncash
c27ddb44de
exception: Make constructors explicit
...
Ensures that exception construction is always explicit.
2021-07-27 04:15:14 -04:00
Lioncash
e490ddf327
exception: Make what() member function nodiscard
2021-07-27 04:14:32 -04:00
Lioncash
90f3678ada
exception: Narrow down specific header
...
We can use the <exception> header instead of pulling in all of the
exception-style classes.
2021-07-27 04:09:18 -04:00
Morph
f5f04cce01
common: fs: fs_util: Add BufferToUTF8String
...
Allows for direct conversion to std::string without having to convert std::u8string to std::string
2021-07-27 00:02:22 -04:00
Morph
b9b48aee7d
common: uuid: Return a lower-case hex string in Format
2021-07-26 23:54:59 -04:00
bunnei
d6c799494c
Merge pull request #6696 from ameerj/speed-limit-rename
...
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26 18:51:00 -07:00
Rodrigo Locatti
7511f65e31
Merge pull request #6741 from ReinUsesLisp/stream-remove
...
vk_stream_buffer: Remove unused stream buffer
2021-07-26 20:35:01 -03:00
Rodrigo Locatti
1a94b3f452
Merge pull request #6740 from K0bin/hvv-fallback
...
Handle allocation failure in Staging buffer
2021-07-26 20:34:44 -03:00
Robin Kertels
75050c788c
vk_staging_buffer_pool: Fall back to host memory when allocation fails
2021-07-26 23:37:18 +02:00
Rodrigo Locatti
c6991fa900
Merge pull request #6728 from ReinUsesLisp/null-buffer-usage
...
vk_buffer_cache: Add transform feedback usage to null buffer
2021-07-26 18:30:45 -03:00
Rodrigo Locatti
6c432d5349
Merge pull request #6729 from ReinUsesLisp/quad-indexed-barrier
...
vk_compute_pass: Fix pipeline barrier for indexed quads
2021-07-26 18:30:05 -03:00
ReinUsesLisp
5f9a4817a5
vk_stream_buffer: Remove unused stream buffer
...
Remove unused file.
2021-07-26 18:19:53 -03:00
Rodrigo Locatti
c0f99558fb
Merge pull request #6724 from lioncash/nodisc-shader
...
shader_recompiler: Remove unnecessary [[nodiscard]] instances
2021-07-26 16:35:21 -03:00
Rodrigo Locatti
de0b89792c
Merge pull request #6726 from lioncash/hguard
...
emit_spirv_instructions: Add missing header guard
2021-07-26 16:35:11 -03:00
Rodrigo Locatti
3d97f1e6cf
Merge pull request #6727 from lioncash/topology
...
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
2021-07-26 16:35:03 -03:00
Vamsi Krishna
c05bbf375d
configure_graphics: reword GLASM option
...
Change wording to explain that GLASM is actually short for Assembly Shaders
2021-07-26 20:49:31 +05:30
Rodrigo Locatti
b2b3fcdccd
Merge pull request #6723 from lioncash/shader
...
object_pool: Add missing return in Chunk move assignment operator
2021-07-26 06:01:21 -03:00
Rodrigo Locatti
4afc2de129
Merge pull request #6725 from lioncash/control-token
...
control_flow: Fix duplicate switch case in OpcodeToken
2021-07-26 06:00:23 -03:00
ReinUsesLisp
771dcb2a56
vk_compute_pass: Fix pipeline barrier for indexed quads
...
Use an index buffer barrier instead of a vertex input read barrier.
2021-07-26 05:51:09 -03:00
ReinUsesLisp
27ed6e7c2b
vk_buffer_cache: Add transform feedback usage to null buffer
...
Fixes bad API usages on Vulkan.
2021-07-26 05:49:37 -03:00
Lioncash
3e7813e49d
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
...
This should be LINES_ADJACENCY
2021-07-26 04:44:56 -04:00
Lioncash
c2915d9f2f
emit_spirv_instructions: Add missing header guard
2021-07-26 04:28:35 -04:00
Lioncash
06ca911621
shader_recompiler: Remove unnecessary [[nodiscard]] instances
...
[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings.
2021-07-26 04:23:59 -04:00
Lioncash
0b67df1f7c
control_flow: Fix duplicate switch case in OpcodeToken
...
This previously duplicated the case of the PBK case above it.
2021-07-26 04:16:34 -04:00
Lioncash
89ad9df0e9
object_pool: Add missing return in Chunk move assignment operator
...
Prevents undefined behavior from occurring.
2021-07-26 04:01:05 -04:00
ReinUsesLisp
66a0cedba3
shader: Fold integer FMA from Nvidia's pattern
...
Fold shaders doing "a * b + c" on integers from the pattern generated by
Nvidia's GL compiler.
On a somewhat complex compute shader it reduces the code size by 16
instructions from 2 matches on Turing GPUs.
On Intel as extracted from KHR_pipeline_executable_properties:
Before the optimization:
```
Instruction Count: 2057
Basic Block Count: 45
Scratch Memory Size: 14752
Spill Count: 232
Fill Count: 261
SEND Count: 610
Cycle Count: 11325
```
After the optimization:
```
Instruction Count: 2046
Basic Block Count: 44
Scratch Memory Size: 13728
Spill Count: 219
Fill Count: 268
SEND Count: 604
Cycle Count: 11367
```
2021-07-26 04:58:02 -03:00
ReinUsesLisp
09fb41dc63
shader: Use TryInstRecursive on XMAD multiply folding
...
Simplify a bit the logic.
2021-07-26 04:15:27 -03:00
ReinUsesLisp
f6f0383b49
shader: Add TryInstRecursive utility to values
2021-07-26 01:31:05 -03:00
bunnei
c09557acd8
Merge pull request #6697 from ameerj/fps-cap
...
config, nvflinger: Add FPS cap setting
2021-07-25 16:23:44 -07:00
lat9nq
09d6cc9943
Merge branch 'master' into fullscreen-enum
2021-07-25 15:31:33 -04:00
bunnei
7e272d3cd8
Merge pull request #6575 from FernandoS27/new_settings
...
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy to status bar
2021-07-25 11:45:45 -07:00
Morph
b5c3cb8763
Merge pull request #6709 from ameerj/screenshot-path
...
main: Fix screenshot filepath construction
2021-07-25 14:41:38 -04:00
bunnei
98b26b6e12
Merge pull request #6585 from ameerj/hades
...
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
ameerj
9dd35b7b66
main: Fix screenshot filepath construction
...
The screenshot directory path returned does not have a trailing directory separator character. This caused screenshots to be saved in the parent directory of the configured screenshot directory.
This fixes that behavior
2021-07-25 14:24:08 -04:00
bunnei
c2aaf51370
Merge pull request #6699 from lat9nq/common-threads
...
common: Publically link to pthreads
2021-07-25 10:43:11 -07:00
bunnei
84b9c42642
Merge pull request #6690 from ReinUsesLisp/dma-clear-fixups
...
buffer_cache: Misc fixups related to buffer clears
2021-07-24 01:27:50 -04:00
ameerj
c80ae87b4e
renderer_base: Removed redundant settings
...
use_framelimiter was not being used internally by the renderers.
set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
2021-07-23 22:10:01 -04:00
ameerj
9dfbc9bdce
general: Rename "Frame Limit" references to "Speed Limit"
...
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
2021-07-23 22:10:01 -04:00
ameerj
2c6e274b39
config, nvflinger: Add FPS cap setting
...
Allows finer tuning of the FPS limit.
2021-07-23 22:04:36 -04:00
bunnei
2656020608
Merge pull request #6551 from bunnei/improve-kernel-obj
...
Improve management of kernel objects
2021-07-23 21:23:56 -04:00
lat9nq
d8b00fd863
configuration: Use combobox apply template where possible
...
We don't need to manually apply this setting now that a template can do
this for us.
2021-07-23 10:18:07 -04:00
lat9nq
b11c81cc13
general: Implement FullscreenMode enumeration
...
Prevents us from using an unclear 0 or 1 to describe the fullscreen
mode.
2021-07-23 10:14:37 -04:00
lat9nq
eb61824ea5
common: Publically link to pthreads
...
Common requires pthreads but does not refer to it when linking to other
modules. Fix this by linking to Threads where necessary.
2021-07-23 09:47:52 -04:00
ReinUsesLisp
7f13104c17
shader: Support out of bound local memory reads and immediate writes
...
Support ignoring immediate out of bound writes. Writing dynamically out
of bounds is not yet supported (e.g. R0+0x4).
Reading out of bounds yields zero. This is supported checking for the
size from the IR; if the input is immediate, the optimization passes
will drop it.
2021-07-22 21:51:41 -04:00
ReinUsesLisp
a55ff22900
vulkan/blit_image: Commit descriptor sets within worker thread
...
Fixes race condition caused. The descriptor pool is not thread safe, so
we have to commit descriptor sets within the same thread.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
f6796cad9c
vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor
...
Causes crashes on Link's Awakening intro. It's hard to debug if it's our
fault due to bugs in validation layers.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
a741513e65
qt: Remove "experimental" from asynchronous shader building UI
2021-07-22 21:51:40 -04:00
ReinUsesLisp
3c6d440015
Revert "renderers: Disable async shader compilation"
...
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
8381490a04
opengl: Fix asynchronous shaders
...
Wait for shader to build before configuring it, and wait for the shader
to build before sharing it with other contexts.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
258f35515d
shader_environment: Receive cache version from outside
...
This allows us invalidating OpenGL and Vulkan separately in the future.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
4a82450c81
cmake: Remove shader cache version
2021-07-22 21:51:40 -04:00
ameerj
56478bc9ac
shader: Fix disabled attribute default values
2021-07-22 21:51:40 -04:00
ameerj
c9528282d9
gl_device: Simplify GLASM setting logic
2021-07-22 21:51:40 -04:00
ameerj
56c30dd9e0
glsl: Simplify FCMP emission
2021-07-22 21:51:40 -04:00
ameerj
79d2684261
glsl: Update TessellationControl gl_in
...
Adheres to GL_ARB_separate_shader_objects requirements
2021-07-22 21:51:40 -04:00
ReinUsesLisp
e1ed218b41
renderer_opengl: Use ARB_separate_shader_objects
...
Ensures that states set for a particular stage are not attached to other
stages which may not need them.
2021-07-22 21:51:40 -04:00
ameerj
fc7bed21b5
shader: Implement ISETP.X
2021-07-22 21:51:40 -04:00
ReinUsesLisp
bf2956d77a
shader: Avoid usage of C++20 ranges to build in clang
2021-07-22 21:51:40 -04:00
ameerj
94af0a00f6
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
2021-07-22 21:51:40 -04:00
ReinUsesLisp
8c166c68d4
gl_shader_cache: Properly implement asynchronous shaders
2021-07-22 21:51:40 -04:00
lat9nq
49946cf780
shader_recompiler, video_core: Resolve clang errors
...
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
2021-07-22 21:51:40 -04:00
ameerj
4e4b8775b5
main: Update Shader Cache menu options
...
This change adds two new context menu items to remove either the OpenGL or the Vulkan shader caches individually, and the provides the option to remove all caches for the selected title.
This also changes the behavior of the open shader cache option. Now it creates the shader cache directory for the title if it does not yet exist.
2021-07-22 21:51:40 -04:00
ameerj
41493fbe89
renderers: Fix clang formatting
2021-07-22 21:51:40 -04:00
ReinUsesLisp
2235a51b5d
shader: Manually convert from array<u32> to bitset instead of using bit_cast
2021-07-22 21:51:40 -04:00
ameerj
8390286a89
renderers: Disable async shader compilation
...
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
2021-07-22 21:51:40 -04:00
ReinUsesLisp
be54aad1c4
maxwell_to_vk: Add R16_SNORM
2021-07-22 21:51:40 -04:00
lat9nq
18fb9bdfa8
configure_graphics: Mark SPIR-V as Experimental, Mesa only
2021-07-22 21:51:40 -04:00
ameerj
41c6cb70f9
glsl: Fix tracking of info.uses_shadow_lod
2021-07-22 21:51:40 -04:00
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
2021-07-22 21:51:40 -04:00
lat9nq
55233c2861
vulkan_device: Add missing include algorithm
2021-07-22 21:51:40 -04:00
ameerj
7277d7fe96
vulkan_device: Blacklist ampere devices from float16 math
2021-07-22 21:51:40 -04:00
ameerj
57f222c56e
dual_vertex_pass: Clang format
2021-07-22 21:51:40 -04:00
ameerj
dbee32d302
gl_shader_cache: Fixes for async shaders
2021-07-22 21:51:40 -04:00
ReinUsesLisp
57171b23f9
vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward
2021-07-22 21:51:40 -04:00
ReinUsesLisp
8722668b3c
emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
...
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-22 21:51:40 -04:00
lat9nq
1b27a2b597
configure_graphics: Re-order vulkan device populating
2021-07-22 21:51:40 -04:00
lat9nq
2e5af95541
shader: GCC fmt 8.0.0 fixes
2021-07-22 21:51:40 -04:00
ameerj
b9069c7891
shader: Account for 33-bit IADD3 scenario
2021-07-22 21:51:40 -04:00
ReinUsesLisp
b21bf79bd2
shader: Only apply shift on register mode for IADD3
2021-07-22 21:51:39 -04:00
ReinUsesLisp
fba6bd92d4
vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state
...
Workaround potential bug on Nvidia's driver where only updating high
attributes leaves low attributes out dated.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
5643a909bc
shader: Fix disabled and unwritten attributes and varyings
2021-07-22 21:51:39 -04:00
ameerj
65daec8b75
glsl: Fix shared and local memory declarations
...
account for the fact that program.*memory_size is in units of bytes.
2021-07-22 21:51:39 -04:00
ameerj
8289eb108f
opengl: Implement LOP.CC
...
Used by MH:Rise
2021-07-22 21:51:39 -04:00
ReinUsesLisp
f94f0be521
vk_graphics_pipeline: Implement smooth lines
2021-07-22 21:51:39 -04:00
ReinUsesLisp
57a8921e01
vk_graphics_pipeline: Implement line width
2021-07-22 21:51:39 -04:00
ReinUsesLisp
5b2b0634a1
spirv: Fix code emission when descriptor aliasing is unsupported
...
Fixes OpenGL.
2021-07-22 21:51:39 -04:00
lat9nq
fb9b1787f8
video_core: Enable GL SPIR-V shaders
2021-07-22 21:51:39 -04:00
lat9nq
1152d66ddd
general: Add setting shader_backend
...
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.
Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.
Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
2021-07-22 21:51:39 -04:00
ameerj
00fa09dc45
glsl: Declare local memory in main
2021-07-22 21:51:39 -04:00
ameerj
f7352411f0
glsl: Add passthrough geometry shader support
2021-07-22 21:51:39 -04:00
ReinUsesLisp
8612b5fec5
shader: Use std::bit_cast instead of Common::BitCast for passthrough
2021-07-22 21:51:39 -04:00
ReinUsesLisp
8a3427a4c8
glasm: Add passthrough geometry shader support
2021-07-22 21:51:39 -04:00
ReinUsesLisp
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
...
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
4f052a1f39
vk_graphics_pipeline: Implement conservative rendering
2021-07-22 21:51:39 -04:00
ReinUsesLisp
ecd6b4356b
shader: Only verify shader when graphics debugging is enabled
2021-07-22 21:51:39 -04:00
ReinUsesLisp
395bed3a0a
shader: Unify shader stage types
2021-07-22 21:51:39 -04:00
lat9nq
257d2aab74
lower_int64_to_int32: Add missing include
2021-07-22 21:51:39 -04:00
ReinUsesLisp
fb166b5ff4
shader: Emulate 64-bit integers when not supported
...
Useful for mobile and Intel Xe devices.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
d8d5501459
shader: Add int64 to int32 lowering pass
2021-07-22 21:51:39 -04:00
ReinUsesLisp
04ef2160f9
shader: Teach global memory base tracker to follow vectors
2021-07-22 21:51:39 -04:00
ReinUsesLisp
97e80dda55
shader: Add constant propagation to integer vectors
2021-07-22 21:51:39 -04:00
ameerj
27ca8a0e13
glsl: Better IAdd Overflow CC fix
...
This ensures the original operand values are not overwritten when being used in the overflow detection.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
4397053d5c
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
ameerj
bc6e399ae3
glsl: Fix IADD CC
2021-07-22 21:51:39 -04:00
ameerj
a7536825df
shader_recompiler: Fix IADD3 input partitioning
2021-07-22 21:51:39 -04:00
ReinUsesLisp
808ef97a08
shader: Move loop safety tests to code emission
2021-07-22 21:51:39 -04:00
ReinUsesLisp
3877918e96
gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
2021-07-22 21:51:39 -04:00
ameerj
cbce9ddd4a
glsl: Remove frag color initialization
2021-07-22 21:51:39 -04:00
ameerj
3a2dd1b483
glasm: Implement SetAttribute ViewportMask
2021-07-22 21:51:39 -04:00
ReinUsesLisp
9bd0531384
gl_graphics_pipeline: Inline hash and operator== key functions
2021-07-22 21:51:39 -04:00
ReinUsesLisp
f5db8c7440
gl_shader_cache: Check previous pipeline before checking hash map
...
Port optimization from Vulkan.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
218dedca1f
gl_graphics_pipeline: Port optimizations from Vulkan pipelines
2021-07-22 21:51:39 -04:00
ameerj
1c648f176c
emit_glsl_special: Skip initialization of frag_color0
...
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
2021-07-22 21:51:38 -04:00
ReinUsesLisp
1d182fc0f5
shader: Calibrate loop safety threshold
2021-07-22 21:51:38 -04:00
ReinUsesLisp
df9b7e18f5
buffer_cache: Fix debugging leftover
2021-07-22 21:51:38 -04:00
Morph
cfbc85839d
glsl: Add missing ; in EmitSetSampleMask
...
Fixes shader compilation in Okami HD
2021-07-22 21:51:38 -04:00
ReinUsesLisp
838d7e4ca5
buffer_cache: Fix size reductions not having in mind bind sizes
...
A buffer binding can change between shaders without changing the
shaders. This lead to outdated bindings on OpenGL.
2021-07-22 21:51:38 -04:00
ameerj
9e066dcb15
glsl: Fix output varying initialization when transform feedback is used
2021-07-22 21:51:38 -04:00
ameerj
fcff19e0fa
shaders: Allow shader notify when async shaders is disabled
2021-07-22 21:51:38 -04:00
ameerj
a0365217f5
texture_pass: Fix is_read image qualification
...
Atomic operations are considered to have both read and write access. This was not being accounted for.
2021-07-22 21:51:38 -04:00
ReinUsesLisp
0cd08b3e72
shader: Align constant buffer sizes to 16 bytes
...
WAR for AMD reading zeroes on uniform buffers of size 2.
2021-07-22 21:51:38 -04:00
ReinUsesLisp
59fead3a47
spirv: Properly handle devices without int8 and int16
2021-07-22 21:51:38 -04:00
ReinUsesLisp
b5e78607ad
spirv: Handle small storage buffer loads on devices with no support
2021-07-22 21:51:38 -04:00
ReinUsesLisp
ca67077ca8
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
...
~51% faster on Nvidia compared to previous method.
2021-07-22 21:51:38 -04:00
ameerj
ccbd24fe00
glsl: Fix cbuf component indexing bug falback
2021-07-22 21:51:38 -04:00
ReinUsesLisp
1091995f8e
shader: Simplify MergeDualVertexPrograms
2021-07-22 21:51:38 -04:00
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
2021-07-22 21:51:38 -04:00
ReinUsesLisp
892b8aa2ad
glsl: Only declare fragment outputs on fragment shaders
2021-07-22 21:51:38 -04:00
ReinUsesLisp
0ffea97e2e
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
ReinUsesLisp
cbbca26d18
shader: Add support for native 16-bit floats
2021-07-22 21:51:38 -04:00
ReinUsesLisp
376aa94819
shader: Rename maxwell/program.h to translate_program.h
2021-07-22 21:51:38 -04:00
ReinUsesLisp
69f9b97e7e
vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
2021-07-22 21:51:38 -04:00
ameerj
12ef06ba8b
glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
...
Fixes Ori and the blind forest title screen
2021-07-22 21:51:38 -04:00
ameerj
d36f667bc0
glsl: Address rest of feedback
2021-07-22 21:51:38 -04:00
ameerj
c5dfa0b630
glsl: Move gl_Position/generic attribute initialization to EmitProlgue
2021-07-22 21:51:38 -04:00
ameerj
3b339fbbf6
glsl: Conditionally use fine/coarse derivatives based on device support
2021-07-22 21:51:38 -04:00
ameerj
6eea88d614
glsl: Cleanup/Address feedback
2021-07-22 21:51:38 -04:00
ameerj
74f683787e
gl_shader_cache: Implement async shaders
2021-07-22 21:51:38 -04:00
ameerj
ae4e452759
glsl: Add Shader_GLSL logging
2021-07-22 21:51:38 -04:00
ameerj
6c6a451d6a
glsl: Add LoopSafety instructions
2021-07-22 21:51:38 -04:00
ameerj
a0d0704aff
glsl: Conditionally add EXT_texture_shadow_lod
2021-07-22 21:51:38 -04:00
ameerj
5e7b2b9661
glsl: Add stubs for sparse queries and variable aoffi when not supported
2021-07-22 21:51:38 -04:00
ameerj
6aa1bf7b6f
glsl: Implement legacy varyings
2021-07-22 21:51:38 -04:00
ameerj
ff3de0fb6b
gl_shader_cache: Remove const from pipeline source arguments
2021-07-22 21:51:38 -04:00
ameerj
413eb6983f
gl_shader_cache: Move OGL shader compilation to the respective Pipeline constructor
2021-07-22 21:51:38 -04:00
ameerj
39c29664f9
glsl: Minor cleanup
2021-07-22 21:51:38 -04:00
ameerj
427a2596a1
glsl: Fix Cbuf getters for F32 type
2021-07-22 21:51:38 -04:00
ameerj
7c82f20b52
glsl: Add immediate index oob checking for Cbuf getters
2021-07-22 21:51:38 -04:00
ameerj
84c86e03cd
glsl: Refactor GetCbuf functions to reduce code duplication
2021-07-22 21:51:38 -04:00
ameerj
e81c73a874
glsl: Address more feedback. Implement indexed texture reads
2021-07-22 21:51:38 -04:00
ameerj
7d89a82a48
glsl: Remove Signed Integer variables
2021-07-22 21:51:38 -04:00
ameerj
4759db28d0
glsl: Address Rodrigo's feedback
2021-07-22 21:51:38 -04:00
ameerj
85399e119d
glsl: Reorganize backend code, remove unneeded [[maybe_unused]]
2021-07-22 21:51:37 -04:00
ameerj
e7c8f8911f
glsl: Implement SampleId and SetSampleMask
...
plus some minor refactoring of implementations
2021-07-22 21:51:37 -04:00
ameerj
d1a68f7997
glsl: Add gl_PerVertex in for GS
2021-07-22 21:51:37 -04:00
ameerj
a926695234
glsl: Use existing tracking for enabling EXT_shader_image_load_formatted
2021-07-22 21:51:37 -04:00
ameerj
14bd73db36
glsl: Enable early fragment tests
2021-07-22 21:51:37 -04:00
ameerj
6650c4799d
gl_rasterizer: Add texture fetch barrier for fragments
...
Fixes flicker seen in XC2
2021-07-22 21:51:37 -04:00
ameerj
3f31a547e0
glsl: Implement more attribute getters and setters
2021-07-22 21:51:37 -04:00
ameerj
8bb8bbf4ae
glsl: Implement fswzadd
...
and wip nv thread shuffle impl
2021-07-22 21:51:37 -04:00
ameerj
c542204113
glsl: Implement indexed attribute loads
2021-07-22 21:51:37 -04:00
ameerj
2a504b4765
glsl: Conditionally add GL_ARB_sparse_texture2
2021-07-22 21:51:37 -04:00
ameerj
970fc39d98
glsl: Rebase fixes
2021-07-22 21:51:37 -04:00
ameerj
fc0db612ab
glsl: Conditionally use GL_EXT_shader_image_load_formatted
...
Fix for SULD.D
2021-07-22 21:51:37 -04:00
ameerj
fb839061fb
glsl: Remove output generic indexing for geometry stage
2021-07-22 21:51:37 -04:00
ameerj
258106038e
glsl: Allow dynamic tracking of variable allocation
2021-07-22 21:51:37 -04:00
ameerj
465903468e
glsl: Implement barriers
2021-07-22 21:51:37 -04:00
ameerj
421847cf1e
glsl: Implement image atomics and set layer
...
along with some more cleanup/oversight fixes
2021-07-22 21:51:37 -04:00
ameerj
d41aef03c7
glsl: Fix image gather logic
2021-07-22 21:51:37 -04:00
ameerj
35e78d558d
glsl: Add cbuf access workaround for devices with component indexing bug
2021-07-22 21:51:37 -04:00
ameerj
747b8556a4
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
2021-07-22 21:51:37 -04:00
ameerj
d12f2b8ccf
emit_glsl_image: Use immediate offsets when possible
2021-07-22 21:51:37 -04:00
ameerj
0a0b0a73d8
glsl: Fix <32-bit SSBO writes
...
and more cleanup
2021-07-22 21:51:37 -04:00
ameerj
34fdb6471d
glsl: Cleanup and address feedback
2021-07-22 21:51:37 -04:00
ameerj
5355568a2d
glsl: Refactor Global memory functions
2021-07-22 21:51:37 -04:00
ameerj
a68fabf6d5
glsl: Increase NUM_VARS that can be allocated
...
needed for HW:AoC.
2021-07-22 21:51:37 -04:00
ameerj
8d8ce24f20
glsl: Implement Load/WriteGlobal
...
along with some other misc changes and fixes
2021-07-22 21:51:37 -04:00
ameerj
af9696059c
glsl: Implement Images
2021-07-22 21:51:37 -04:00
ameerj
6577a63d36
glsl: skip gl_ViewportIndex write if device does not support it
2021-07-22 21:51:37 -04:00
ameerj
f4799e8fa1
glsl: Implement transform feedback
2021-07-22 21:51:37 -04:00
ameerj
31147ffe69
glsl: Yet another gl_ViewportIndex fix attempt
2021-07-22 21:51:37 -04:00
ameerj
9f3970f837
glsl: Add gl_ViewportIndex out attribute
2021-07-22 21:51:37 -04:00
lat9nq
fc29de7d5b
emit_glsl_context_get_set: Remove unused function
2021-07-22 21:51:37 -04:00
ameerj
59576b82a8
glsl: Fix precise variable declaration
...
and add some more separation in the shader for better debugability when dumped
2021-07-22 21:51:37 -04:00
ameerj
8c684b3e23
glsl: Implement tessellation shaders
2021-07-22 21:51:37 -04:00
ameerj
c7d085b505
glsl: Implement ImageGradient and other texture function variants
2021-07-22 21:51:37 -04:00
ameerj
68d075d1e8
glsl: Fix atomic SSBO offsets
...
and implement misc getters
2021-07-22 21:51:37 -04:00
ameerj
19247ba4fa
glsl: Implement geometry shaders
2021-07-22 21:51:37 -04:00
ameerj
df53046d68
glsl: Use NotImplemented macro with function name output
2021-07-22 21:51:37 -04:00
ameerj
3a024b3026
glsl: Implement gl_ViewportIndex
...
SSBU now working
2021-07-22 21:51:37 -04:00
ameerj
b7561226ed
glsl: SHFL fix and prefer shift operations over divide in glsl shader
2021-07-22 21:51:37 -04:00
ameerj
e10366974e
glsl: Implement precise fp variable allocation
2021-07-22 21:51:37 -04:00
ameerj
14bfb4719a
HACK glsl: Write defaults to unused generic attributes
2021-07-22 21:51:37 -04:00
ameerj
4b5a4ea72e
glsl: Fix ssbo indexing and name shadowing between shader stages
2021-07-22 21:51:37 -04:00
ameerj
8ec0028e68
glsl: implement set clip distance
...
and missed a diff in emit_glsl relating to var alloc ref counting
2021-07-22 21:51:37 -04:00
ameerj
9f3ffb996b
glsl: Rework var alloc to not assign unused results
2021-07-22 21:51:37 -04:00
ameerj
1269a0cf8b
glsl: Rework variable allocator to allow for variable reuse
2021-07-22 21:51:37 -04:00
ameerj
9ccbd74991
glsl: Fix ATOM and implement ATOMS
2021-07-22 21:51:37 -04:00
ameerj
68ef3803bf
glsl: Use gl_SubGroupInvocationARB
2021-07-22 21:51:36 -04:00
ameerj
e35ffbbeb0
glsl: Implement VOTE for subgroup size potentially larger
2021-07-22 21:51:36 -04:00
ameerj
770b754afd
glsl: Implement VOTE
2021-07-22 21:51:36 -04:00
ameerj
181a4ffdc4
glsl: Implement ST{LS}
2021-07-22 21:51:36 -04:00
ameerj
57d354b02c
glsl: Implement more instructions used by SMO
2021-07-22 21:51:36 -04:00
ameerj
7df0815117
glsl: Implement more instructions used by SMO
2021-07-22 21:51:36 -04:00
ameerj
80eec85867
glsl: Fix GetAttribute return values
...
fixes font rendering issues as these were used to index into the ssbos
2021-07-22 21:51:36 -04:00
ameerj
1542f31e79
glsl: minor cleanup
2021-07-22 21:51:36 -04:00
ameerj
005eecffcd
glsl: Fix and implement rest of cbuf access
2021-07-22 21:51:36 -04:00
ameerj
3047eb6688
glsl: Implement TXQ and other misc changes
2021-07-22 21:51:36 -04:00
ameerj
5fd92780b2
glsl: TLD4 implementation
2021-07-22 21:51:36 -04:00
ameerj
697eacd095
glsl: Implement TLD instruction
2021-07-22 21:51:36 -04:00
ameerj
e4ba755705
glsl: Implement TEXS
2021-07-22 21:51:36 -04:00
ameerj
59a692e9ed
glsl: Cleanup texture functions
2021-07-22 21:51:36 -04:00
lat9nq
c9a25855bc
shader_recompiler: GCC fixes
2021-07-22 21:51:36 -04:00
ameerj
7619b7d427
glsl: Implement TEX depth functions
2021-07-22 21:51:36 -04:00
ameerj
55e0211a5e
glsl: Implement TEX ImageSample functions
2021-07-22 21:51:36 -04:00
ameerj
b98de76ea8
glsl: Rework Shuffle emit instructions to align with SPIR-V
2021-07-22 21:51:36 -04:00
ameerj
8ba814efb2
glsl: Better Storage access and wip warps
2021-07-22 21:51:36 -04:00
ameerj
86d4a05cec
glsl: Fix integer conversions, implement clamp CC
2021-07-22 21:51:36 -04:00
ameerj
21797efa54
glsl: Implement IADD CC
2021-07-22 21:51:36 -04:00
ameerj
453cd25da5
glsl: SSBO access fixes and wip SampleExplicitLod implementation.
2021-07-22 21:51:36 -04:00
ameerj
f6bbc76336
glsl: WIP var forward declaration
...
to fix Loop control flow.
2021-07-22 21:51:36 -04:00
ameerj
2a71333716
glsl: Fix bindings, add some CC ops
2021-07-22 21:51:36 -04:00
ameerj
6674637853
glsl: remove unused headers
2021-07-22 21:51:36 -04:00
ameerj
a752ec88d0
glsl: Implement derivatives and YDirection
...
plus some other misc additions/changed
2021-07-22 21:51:36 -04:00
ameerj
ed14d31f66
glsl: Fix non-immediate buffer access
...
and many other misc implementations
2021-07-22 21:51:36 -04:00
ameerj
d171083d53
glsl: textures wip
2021-07-22 21:51:36 -04:00
ameerj
3d086e6130
glsl: Implement some attribute getters and setters
2021-07-22 21:51:36 -04:00
ameerj
5399906c26
glsl: Track S32 atomics
2021-07-22 21:51:36 -04:00
ameerj
b95716e543
glsl: Update phi node management
2021-07-22 21:51:36 -04:00
ameerj
67f881e714
glsl: Fix floating point compare ops
...
Logic for ordered/unordered ops was wrong.
2021-07-22 21:51:36 -04:00
ameerj
bd24fa9713
glsl: Query GL Device for FP16 extension support
2021-07-22 21:51:36 -04:00
ameerj
3482df1176
glsl: Simply FP storage atomics
2021-07-22 21:51:36 -04:00
ameerj
9cc1b8a873
glsl: F16x2 storage atomics
2021-07-22 21:51:36 -04:00
ameerj
11ba190462
glsl: Revert ssbo aliasing. Storage Atomics impl
2021-07-22 21:51:36 -04:00
ameerj
e99d01ff53
glsl: implement phi nodes
2021-07-22 21:51:36 -04:00
ameerj
3d9ecbe998
glsl: Wip storage atomic ops
2021-07-22 21:51:36 -04:00
ameerj
df793fc049
glsl: Implement FCMP
2021-07-22 21:51:36 -04:00
ameerj
cdde730219
glsl: Add a more robust fp formatter
2021-07-22 21:51:36 -04:00
ameerj
ac7b0ebcb7
glsl: More FP fixes
2021-07-22 21:51:36 -04:00
ameerj
3064bde415
glsl: FP function fixes
2021-07-22 21:51:36 -04:00
ameerj
65c6f73e43
glsl: More FP instructions/fixes
2021-07-22 21:51:36 -04:00
ameerj
5e9095ef22
glsl: Add many FP32/64 instructions
2021-07-22 21:51:36 -04:00
ReinUsesLisp
53667ddd4e
glsl: Fixup build issues
2021-07-22 21:51:36 -04:00
ameerj
ef7bd53f18
glsl: Implement more Integer ops
2021-07-22 21:51:36 -04:00
ameerj
266a3d60e3
glsl: Implement BF*
2021-07-22 21:51:36 -04:00
ameerj
0f40b0e61c
glsl: Implement a few Integer instructions
2021-07-22 21:51:36 -04:00
ameerj
fb75d122a2
glsl: Use std::string_view for Emit function args.
2021-07-22 21:51:35 -04:00
ameerj
115c162b9a
glsl: Pass IR::Inst& to Emit functions
2021-07-22 21:51:35 -04:00
ameerj
78f5eb90d7
glsl: INeg and IAdd negate tests
2021-07-22 21:51:35 -04:00
ameerj
e221baccdd
glsl: Reusable typed variables. IADD32
2021-07-22 21:51:35 -04:00
ameerj
faf4cd72c5
glsl: Fix program linking and cbuf
2021-07-22 21:51:35 -04:00
ameerj
64337f004d
glsl: Fix "reg" allocing
...
based on glasm with some tweaks
2021-07-22 21:51:35 -04:00
ameerj
eaff1030de
glsl: Initial backend
2021-07-22 21:51:35 -04:00
ReinUsesLisp
3d822faea1
spirv: Reduce log severity of mismatching denorm rules
2021-07-22 21:51:35 -04:00
ReinUsesLisp
7ac55c2a75
shader: Fix loop safety to SSA pass
2021-07-22 21:51:35 -04:00
ReinUsesLisp
8fb2048934
vk_rasterizer: Exit render passes on fragment barriers
2021-07-22 21:51:35 -04:00
Rodrigo Locatti
dbf7cb9f90
vk_graphics_pipeline: Fix path with no VK_EXT_extended_dynamic_state
2021-07-22 21:51:35 -04:00
ReinUsesLisp
94e751f415
buffer_cache: Invalidate fast buffers on compute
2021-07-22 21:51:35 -04:00
ReinUsesLisp
61cd7dd301
shader: Add logging
2021-07-22 21:51:35 -04:00
lat9nq
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
ReinUsesLisp
487057b8d2
shader: Comment why the array component is not read in TMML
2021-07-22 21:51:35 -04:00
ReinUsesLisp
ba3bdf1d41
vulkan_device: Enable VK_EXT_vertex_input_dynamic_state
2021-07-22 21:51:35 -04:00
ReinUsesLisp
41cca8b8ad
vk_pipeline_cache: Skip cached pipelines with different dynamic state
2021-07-22 21:51:35 -04:00
ameerj
5445799260
main: Fix Open Transferable Shader Cache context item
...
Opens the new shader cache directory location for the specified title, if it exists.
2021-07-22 21:51:35 -04:00
ameerj
3c125d4134
tmml: Remove index component from coords vec
...
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
2021-07-22 21:51:35 -04:00
ReinUsesLisp
ea038d6653
vulkan: Add VK_EXT_vertex_input_dynamic_state support
...
Reduces the number of total pipelines generated on Vulkan.
Tested on Super Smash Bros. Ultimate.
2021-07-22 21:51:35 -04:00
ReinUsesLisp
cb78a1b494
shader: Reorder shader cache directories
2021-07-22 21:51:35 -04:00
ReinUsesLisp
3025b2f605
vk_rasterizer: Implement first index
2021-07-22 21:51:35 -04:00
ReinUsesLisp
d554778311
vulkan: Use VK_EXT_provoking_vertex when available
2021-07-22 21:51:35 -04:00
ameerj
d52bacf6f0
spirv/convert: Catch more signed operations oversights
...
The sign bit on integers of size < 32 was not properly preserved in casts
2021-07-22 21:51:35 -04:00
ReinUsesLisp
8554a644df
spirv/convert: Catch more broken signed operations on Nvidia OpenGL
...
BitCast U32 to S32 before converting to float on drivers with broken
signed operations.
2021-07-22 21:51:35 -04:00
ameerj
cd8427367e
gl_buffer_cache: Use unorm internal formats for snorm texture buffer views
...
Fixes black textures in UE4 games
2021-07-22 21:51:35 -04:00
ReinUsesLisp
5befc0bf87
shader_environment: Fix local memory size calculations
2021-07-22 21:51:35 -04:00
ReinUsesLisp
60a96c49e5
buffer_cache: Fix copy based uniform bindings tracking
2021-07-22 21:51:35 -04:00
ameerj
15bdd27cac
shader_environment: Add shader_local_memory_crs_size to local memory size
...
Fixes DOOM 2016 missing local memory
2021-07-22 21:51:35 -04:00
ReinUsesLisp
7eaa74ad23
gl_texture_cache: Create image storage views
...
Fixes SULD.D tests.
2021-07-22 21:51:35 -04:00
ReinUsesLisp
b1ed64ac18
gl_shader_util: Move shader utility code to a separate file
2021-07-22 21:51:35 -04:00
ReinUsesLisp
12fe7210d2
gl_shader_cache: Store workers in shader cache object
2021-07-22 21:51:35 -04:00
ReinUsesLisp
cffd4716c5
vk_pipeline_cache,shader_notify: Add shader notifications
2021-07-22 21:51:35 -04:00
ReinUsesLisp
48aad8dc05
vk_pipeline_cache: Add asynchronous shaders
2021-07-22 21:51:35 -04:00
ReinUsesLisp
2a0aeaa3d2
vk_rasterizer: Flush work on clear and dispatches
2021-07-22 21:51:34 -04:00
FernandoS27
c736b9ffab
DMA: Restrict optimised path for BlockToLinear further.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
f45f7b5c2a
vk_swapchain: Handle outdated swapchains
...
Fixes pixelated presentation on Intel devices.
2021-07-22 21:51:34 -04:00
FernandoS27
562af30181
shader: Fix VertexA Shaders.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
ec9a78885e
shader: Add 2D and 3D variants to SUATOM and SURED
...
Used by Claybook.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
b02c78b276
vk_buffer_cache: Handle null texture buffers
...
Fixes a crash on Age of Calamity cutscenes.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
8f099af6a8
nsight_aftermath_tracker: Fix SPIR-V module writes
2021-07-22 21:51:34 -04:00
ReinUsesLisp
8c954fcaee
vk_pipeline_cache: Set support_derivative_control to true
2021-07-22 21:51:34 -04:00
ReinUsesLisp
4f8b68fb04
shader: Avoid CPU side undefined behavior on I2F
2021-07-22 21:51:34 -04:00
ReinUsesLisp
79f2fe1a39
glasm: Use ARB_derivative_control conditionally
2021-07-22 21:51:34 -04:00
ReinUsesLisp
4a2361a1e2
buffer_cache: Reduce uniform buffer size from shader usage
...
Increases performance significantly on certain titles.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
e57ee3b7fd
transform_feedback: Read buffer stride from index instead of layout
2021-07-22 21:51:34 -04:00
ReinUsesLisp
46bd362d0d
fixed_pipeline_state: Use regular for loop instead of ranges for perf
...
MSVC generates better code for it.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
d26271b014
vk_swapchain: Avoid recreating the swapchain on each frame
...
Recreate only when requested (or sRGB is changed) instead of tracking
the frontend's size. That size is still used as a hint.
2021-07-22 21:51:34 -04:00
lat9nq
22f0c4f002
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:34 -04:00
ReinUsesLisp
5539b13c5a
shader,glasm: Implement legacy texcoord loads
2021-07-22 21:51:34 -04:00
ReinUsesLisp
cf9f88e5a7
glasm: Implement legacy varyings
2021-07-22 21:51:34 -04:00
ReinUsesLisp
ac0f5d2ab6
shader: Track legacy varyings
2021-07-22 21:51:34 -04:00
ReinUsesLisp
05d41fa9b7
shader: Add support for "negative" and unaligned offsets
...
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
5d170de0b5
shader: Implement ISCADD32I
2021-07-22 21:51:34 -04:00
ReinUsesLisp
adc43297c5
spirv: Fix output generics with components
2021-07-22 21:51:34 -04:00
ReinUsesLisp
1148a4eac7
vulkan: Conditionally use shaderInt16
...
Add support for Polaris AMD devices.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
77372443c3
vulkan: Enable depth bounds and use it conditionally
...
Intel devices pre-Xe don't support this.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
c44b16124f
vk_buffer_cache: Add transform feedback usage to buffers
2021-07-22 21:51:34 -04:00
ReinUsesLisp
916ca74324
opengl: Declare fragment outputs even if they are not used
...
Fixes Ori and the Blind Forest's menu on GLASM. For some reason
(probably high level optimizations) it is not sanitized on SPIR-V for
OpenGL. Vulkan is unaffected by this change.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
a7e9756671
buffer_cache: Mark uniform buffers as dirty if any enable bit changes
2021-07-22 21:51:34 -04:00
ReinUsesLisp
329dea217d
shader: Always initialize up reference in structure control flow
...
Fixes ubsan issue.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
99f2c31b64
vulkan_device: Enable float64 and int64 conditionally
...
Add Intel Xe support.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
d093522fac
shader: Fix ImageWrite indexing
2021-07-22 21:51:34 -04:00
ReinUsesLisp
d738ad4d0b
spirv: Fix image and image buffer descriptor index usage
2021-07-22 21:51:34 -04:00
ReinUsesLisp
eb8464cb3d
glasm: Fix immediate texture coordinate
2021-07-22 21:51:34 -04:00
ReinUsesLisp
457dda69cc
shader: Clang-format secondary textures
2021-07-22 21:51:34 -04:00
ReinUsesLisp
627161c38e
shader: Fix secondary textures
2021-07-22 21:51:34 -04:00
ameerj
dd39b87b0c
shader: Adhere to disk shader cache setting
2021-07-22 21:51:34 -04:00
ReinUsesLisp
b659212dbd
shader: Fix TMML queries
2021-07-22 21:51:34 -04:00
ReinUsesLisp
fbf5cdcba0
shader: Fix FSwizzleAdd folding when going through phi nodes
2021-07-22 21:51:34 -04:00
ReinUsesLisp
871c9f1ced
shader/exception: Fix compilation errors on gcc
2021-07-22 21:51:34 -04:00
ReinUsesLisp
b6c087496b
glasm: Reduce reg allocation leaks from an exception to a log
2021-07-22 21:51:34 -04:00
ReinUsesLisp
56d4a9ebde
texture_cache: Reduce invalid image/sampler error severity
2021-07-22 21:51:34 -04:00
ReinUsesLisp
b7764c3a79
shader: Handle host exceptions
2021-07-22 21:51:34 -04:00
ReinUsesLisp
83db7abae6
glasm: Use integer lod for TXQ
2021-07-22 21:51:33 -04:00
ReinUsesLisp
3b595fe8b2
glasm: Prepare XFB from state instead of global registers
2021-07-22 21:51:33 -04:00
ReinUsesLisp
e240a62017
glasm: Fix global memory fallbacks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
8f3043c3cf
Revert "glasm: Skip phi moves on undefined instructions"
...
Causes regressions on Bowser's Fury.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
2aa30353b7
glasm: Remove unintentional '\n' on Undef32
2021-07-22 21:51:33 -04:00
ReinUsesLisp
adb591a757
glasm: Use storage buffers instead of global memory when possible
2021-07-22 21:51:33 -04:00
ReinUsesLisp
f58f79c85d
glasm: Implement Y direction
2021-07-22 21:51:33 -04:00
ReinUsesLisp
586c785366
glasm: Skip phi moves on undefined instructions
2021-07-22 21:51:33 -04:00
ReinUsesLisp
b9c8814ea9
glasm: Implement undef instructions
2021-07-22 21:51:33 -04:00
ReinUsesLisp
8763cc1ff7
glasm: Fix global memory callbacks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
a41b2ed391
gl_shader_cache: Add disk shader cache
2021-07-22 21:51:33 -04:00
ReinUsesLisp
a49532c8eb
video_core,shader: Clang-format fixes
2021-07-22 21:51:33 -04:00
ReinUsesLisp
eacf18cce9
gl_shader_cache: Rename Program abstractions into Pipeline
2021-07-22 21:51:33 -04:00
ReinUsesLisp
48aafe0961
glasm: Release phi node registers after they are no longer needed
2021-07-22 21:51:33 -04:00
ReinUsesLisp
77ee733c3a
glasm: Remove unintentionally committed fmt::prints
2021-07-22 21:51:33 -04:00
ReinUsesLisp
70c9281fbf
glasm: Fix INeg32 on negative immediates
2021-07-22 21:51:33 -04:00
ReinUsesLisp
75fd0079db
glasm: Remove unnecessary value types
2021-07-22 21:51:33 -04:00
ReinUsesLisp
379b305b4b
glasm: Throw when there are register leaks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
ca05a13c62
glasm: Catch more register leaks
...
Add support for null registers. These are used when an instruction has
no usages.
This comes handy when an instruction is only used for its CC value, with
the caveat of having to invalidate all pseudo-instructions before
defining the instruction itself in the register allocator. This commits
changes this.
Workaround a bug on Nvidia's condition codes conditional execution using
branches.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
9fbfe7d676
glasm: Fix usage counting on phi nodes
2021-07-22 21:51:33 -04:00
ReinUsesLisp
4017928213
gl_shader_cache: Do not flip tessellation on OpenGL
2021-07-22 21:51:33 -04:00
ReinUsesLisp
80884e3270
gl_graphics_program: Fix texture buffer bindings
2021-07-22 21:51:33 -04:00
ReinUsesLisp
c721767bcc
glasm: Implement global memory fallbacks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
0794273870
glasm: Implement int64 add and subtract
2021-07-22 21:51:33 -04:00
lat9nq
7fdf0d7d33
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:33 -04:00
ReinUsesLisp
e30d4fa976
glasm: Implement indirect attribute loads
2021-07-22 21:51:33 -04:00
ReinUsesLisp
c8414e686f
glasm: Implement image atomics
2021-07-22 21:51:33 -04:00
ReinUsesLisp
3a7ca6a7db
glasm: Reorder unreachable image atomic insts
...
Reorder them to the bottom of the file for readability.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
e565eb361a
glasm: Implement gl_Layer stores
2021-07-22 21:51:33 -04:00
ReinUsesLisp
89e341d56a
glasm: Implement SampleId
2021-07-22 21:51:33 -04:00
ReinUsesLisp
77d8c44b68
glasm: Implement IsHelperInvocation
2021-07-22 21:51:33 -04:00
ReinUsesLisp
ddf601919f
glasm: Fix EmitVertex's optimization
2021-07-22 21:51:33 -04:00
ReinUsesLisp
1bccb43cbe
gl_shader_cache: Conditionally use viewport mask
2021-07-22 21:51:33 -04:00
ReinUsesLisp
c31521512f
gl_shader_cache,glasm: Conditionally use typeless image reads extension
2021-07-22 21:51:33 -04:00
ReinUsesLisp
df406246d9
gl_shader_cache: Improve GLASM error print logic
2021-07-22 21:51:33 -04:00
ReinUsesLisp
84feabac88
glasm: Implement forced early Z
2021-07-22 21:51:33 -04:00
ReinUsesLisp
6bc54e12a0
glasm: Set transform feedback state
2021-07-22 21:51:33 -04:00
ReinUsesLisp
69b910e9e7
video_core: Abstract transform feedback translation utility
2021-07-22 21:51:33 -04:00
ReinUsesLisp
7dadb2bef3
glasm: Simplify patch reads
2021-07-22 21:51:33 -04:00
ReinUsesLisp
b382f57b28
glasm: Fix output patch reads
...
With this, Luigi's Mansion's sand renders properly.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
c07cc9d6a5
gl_shader_cache: Pass shader runtime information
2021-07-22 21:51:33 -04:00
ReinUsesLisp
9e7b6622c2
shader: Split profile and runtime information in separate structs
2021-07-22 21:51:33 -04:00
ameerj
eb15667905
emit_glasm_context_get_and_set.cpp: Add missing semicolons
2021-07-22 21:51:33 -04:00
ReinUsesLisp
781a87175c
glasm: Fix patch attribute declarations
2021-07-22 21:51:33 -04:00
ameerj
36d040da70
glasm: Implement FSWZADD
2021-07-22 21:51:33 -04:00
ReinUsesLisp
3da7b98d37
glasm: Implement PrimitiveId attribute read
2021-07-22 21:51:33 -04:00
ReinUsesLisp
394b96a2fe
glasm: Implement clip distance stores
2021-07-22 21:51:32 -04:00
ReinUsesLisp
a5d978e91e
glasm: Fix tessellation input attributes
2021-07-22 21:51:32 -04:00
ReinUsesLisp
0d7d85c81e
glasm: Add missing semicolon on tesscoord reading
2021-07-22 21:51:32 -04:00
ReinUsesLisp
48d4e26326
glasm: Fix tessellation headers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
9ec2303ad6
glasm: Add tessellation shader declarations
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2913ca811e
glasm: Implement TessellationEvaluationPoint
2021-07-22 21:51:32 -04:00
ReinUsesLisp
54decced92
gl_shader_manager: Zero initialize current assembly programs
2021-07-22 21:51:32 -04:00
ReinUsesLisp
c0e4074721
gl_shader_manager: Remove unintentionally committed #pragma
2021-07-22 21:51:32 -04:00
ReinUsesLisp
a569ac418e
glasm: Implement patch memory
2021-07-22 21:51:32 -04:00
ReinUsesLisp
164b8c1ec5
glasm: Fix InvocationId declaration
2021-07-22 21:51:32 -04:00
ReinUsesLisp
d5db96386d
glasm: Implement InvocationId
2021-07-22 21:51:32 -04:00
ReinUsesLisp
679e7146a7
glasm: Optimize EmitVertex into EMIT
2021-07-22 21:51:32 -04:00
ReinUsesLisp
79929be833
glasm: Implement geometry shader attribute reads
2021-07-22 21:51:32 -04:00
ReinUsesLisp
83cef0426b
glasm: Properly declare attributes on geometry programs
2021-07-22 21:51:32 -04:00
ReinUsesLisp
fad139a3e6
glasm: Declare geometry program headers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
690b1841e6
renderer_opengl: State track compute assembly programs
2021-07-22 21:51:32 -04:00
ReinUsesLisp
c5ca4fe451
renderer_opengl: State track assembly programs
2021-07-22 21:51:32 -04:00
ReinUsesLisp
0a54291c9c
glasm: Fix potential aliasing bug on cube array samples
2021-07-22 21:51:32 -04:00
ReinUsesLisp
8fdb00a2b5
glasm: Implement ImageWrite
2021-07-22 21:51:32 -04:00
ReinUsesLisp
dadd192b30
glasm: Implement ImageRead
2021-07-22 21:51:32 -04:00
ReinUsesLisp
3d0ffc6ad0
glasm: Implement EmitVertex and EndPrimitive
2021-07-22 21:51:32 -04:00
ReinUsesLisp
f79cbbf814
glasm: Implement ImageGradient
2021-07-22 21:51:32 -04:00
ReinUsesLisp
291f220be3
glasm: Implement 64-bit shifts
2021-07-22 21:51:32 -04:00
ReinUsesLisp
d957b3a8fe
glasm: Implement barriers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
b60b3fa113
glasm: Fix compute stage name
2021-07-22 21:51:32 -04:00
ReinUsesLisp
96962c1d3c
glasm: Fix phi instruction types
2021-07-22 21:51:32 -04:00
ReinUsesLisp
91a3c2c1c0
glasm: Implement PREC on relevant instructions
2021-07-22 21:51:32 -04:00
ReinUsesLisp
accad56ee7
glasm: Implement stores to gl_ViewportIndex
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2494dbe183
glasm: Implement gl_PointSize stores
2021-07-22 21:51:32 -04:00
ReinUsesLisp
9415c435fc
glasm: Implement gl_PointCoord
2021-07-22 21:51:32 -04:00
ReinUsesLisp
12dcb9fcc2
glasm: Implement ImageQueryLod
2021-07-22 21:51:32 -04:00
ReinUsesLisp
4a22942f45
glasm: Implement ImageFetch
2021-07-22 21:51:32 -04:00
ameerj
3777592ada
glasm: Implement IADD.CC
2021-07-22 21:51:32 -04:00
ReinUsesLisp
98ed8ff103
glasm: Implement BFE.CC
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2e0d56da7e
glasm: Implement SelectU1
2021-07-22 21:51:32 -04:00
ReinUsesLisp
85fc7e584e
HACK: Bind stages before and after bindings
...
Works around a bug where program parameters are only applied to the
current stage, and this one wasn't bound at the moment.
Affects all SSBO usages on GLASM.
2021-07-22 21:51:32 -04:00
ReinUsesLisp
e8ed904805
glasm: Implement gl_WorkGroupID
2021-07-22 21:51:32 -04:00
ReinUsesLisp
0a42277a4f
glasm: Implement TXQ and improve texture info reads
2021-07-22 21:51:32 -04:00
ReinUsesLisp
c560bf99c2
glasm: Implement gl_FrongFacing attribute
2021-07-22 21:51:32 -04:00
ReinUsesLisp
8b7d5912d6
glasm: Support textures used in more than one stage
2021-07-22 21:51:32 -04:00
ReinUsesLisp
3d3ed53511
glasm: Implement textureGather instructions
2021-07-22 21:51:32 -04:00
ReinUsesLisp
0fa421f82f
glasm: Implement gl_FragDepth and gl_SampleMask stores
2021-07-22 21:51:32 -04:00
ReinUsesLisp
1ee7f8b943
glasm: Do not alias ConditionRef for now
...
Immediate condition refs where not handled correctly. Just move the
value for now.
2021-07-22 21:51:32 -04:00
ReinUsesLisp
9bb3e008c9
shader: Read branch conditions from an instruction
...
Fixes the identity removal pass.
2021-07-22 21:51:32 -04:00
ReinUsesLisp
4bad415bca
glasm: Implement InstanceId and VertexId
2021-07-22 21:51:31 -04:00
ReinUsesLisp
afcb140185
glasm: Add missing return value on move assignment
2021-07-22 21:51:31 -04:00
ReinUsesLisp
fb3ba62b3a
glasm: Fix aliased bitcasts ref counting
2021-07-22 21:51:31 -04:00
ReinUsesLisp
f1b334b9f9
glasm: Remove unintentional comma on vector insert
2021-07-22 21:51:31 -04:00
ReinUsesLisp
ec6fc5fe78
glasm: Implement TEX and TEXS instructions
...
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
2021-07-22 21:51:31 -04:00
ReinUsesLisp
c42a6143a5
glasm: Add support for non-2D texture samples
2021-07-22 21:51:31 -04:00
ReinUsesLisp
bee9fb0563
glasm: Reorder unreachable image instructions to the bottom
2021-07-22 21:51:31 -04:00
ReinUsesLisp
e6b4d461d2
glasm: Add support for texture offsets
2021-07-22 21:51:31 -04:00
ReinUsesLisp
bf2949df10
glasm: Improve texture sampling instructions
2021-07-22 21:51:31 -04:00
ReinUsesLisp
db2f0f4108
emit_glasm: Enable ARB_draw_buffers when needed
2021-07-22 21:51:31 -04:00
ReinUsesLisp
3c06293e20
emit_glasm: Add support for reading position attributes
2021-07-22 21:51:31 -04:00
lat9nq
f7a2340205
shader_recompiler: GCC fixes
...
Fixes members of unnamed union not being accessible, and one function
without a declaration.
2021-07-22 21:51:31 -04:00
ameerj
d4f9c798d6
glasm: Implement rest of shared mem
2021-07-22 21:51:31 -04:00
ReinUsesLisp
258f2dec1b
opengl: Initial (broken) support to GLASM shaders
2021-07-22 21:51:31 -04:00
ReinUsesLisp
776ab3ea12
shader: Use a non-trivial dummy to construct ASL node union
2021-07-22 21:51:31 -04:00
ReinUsesLisp
38e7b8c805
emit_spirv: Jump to loop body with local variable
...
Silence unused variable warning
2021-07-22 21:51:31 -04:00
ReinUsesLisp
464f13fe0b
glasm: Implement derivative instructions on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
9fb2ea08e8
glasm: Initial (broken) implementation of TEX on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
1f3446b47e
glasm: Implement some graphics instructions on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
31d402ee74
glasm: Add Void type to GLASM values
2021-07-22 21:51:31 -04:00
ReinUsesLisp
3764750339
glasm: Add graphics specific shader declarations to GLASM
2021-07-22 21:51:31 -04:00
ameerj
057dee4856
glasm: Implement local memory for glasm
2021-07-22 21:51:31 -04:00
ReinUsesLisp
ab5dbe7c29
emit_spirv: Add missing block in case
2021-07-22 21:51:31 -04:00
ReinUsesLisp
bf5e48ffe4
glasm: Initial implementation of phi nodes on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
0f88fb5d72
glasm: Write result to scalar on integer comparison instructions
2021-07-22 21:51:31 -04:00
ReinUsesLisp
d4385c34e3
glasm: Declare NV_shader_thread_group when needed
2021-07-22 21:51:31 -04:00
ReinUsesLisp
568d813eea
vk_update_descriptor: Properly initialize payload on the update descriptor queue
2021-07-22 21:51:31 -04:00
ReinUsesLisp
d54d7de40e
glasm: Rework control flow introducing a syntax list
...
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
ameerj
7ff5851608
glasm: Implement Storage atomics
...
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
2021-07-22 21:51:31 -04:00
ReinUsesLisp
8c81a20ace
glasm: Ensure reg alloc order across compilers on GLASM
...
Use a struct constructor to serialize register allocation arguments to
ensure registers are allocated in the same order regardless of the
compiler used.
The A and B functions can be called in any order when passed as
arguments to "foo":
foo(A(), B())
But the order is guaranteed for curly-braced constructor calls in
classes:
Foo{A(), B()}
Use this to get consistent behavior.
2021-07-22 21:51:31 -04:00
ReinUsesLisp
c917290497
glasm: Enable unintentionally disabled register aliasing on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
70fbede213
glasm: Review all GLASM insts to be aware of register aliasing
2021-07-22 21:51:31 -04:00
ReinUsesLisp
c4fd6b55bc
glasm: Implement shuffle and vote instructions on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
decda4a2c7
glasm: Add MUFU instructions to GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
5b18a12df2
glasm: Implement IAbs64 and INeg64 on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
3b6a632237
shader: Add floating-point rounding to I2F
2021-07-22 21:51:31 -04:00
ReinUsesLisp
3f00a2ad3f
glasm: Properly clamp Fp64 on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
deda89372f
glasm: Fix register allocation when moving immediate on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
0839e46736
glasm: Implement SelectU64 on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
6237300e36
glasm: Fix clamps so the min value has priority on NAN on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
8eb72ff0dc
glasm: Fix moving U64 immediates to registers in GLASM
2021-07-22 21:51:31 -04:00
ameerj
80813b1d14
glasm: Implement storage atomic ops
2021-07-22 21:51:31 -04:00
ReinUsesLisp
ad61b47f80
glasm: Add conversion instructions to GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
7703d65f23
glasm: Add fp min/max insts and fix store for fp64 on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
43a448d98d
glasm: Add logical instructions on GLASM
2021-07-22 21:51:31 -04:00
ReinUsesLisp
99352741af
glasm: Remove duplicated Fp64 pack instructions on GLASM
2021-07-22 21:51:30 -04:00
ReinUsesLisp
45ef62d3ba
glasm: Remove unnecesary new white space on Clamp GLASM
2021-07-22 21:51:30 -04:00
ReinUsesLisp
b4953e79ee
glasm: Add floating-point comparisons on GLASM
2021-07-22 21:51:30 -04:00
ameerj
6705f56029
emit_glasm: Implement more integer alu ops
2021-07-22 21:51:30 -04:00
ameerj
3e10709091
glasm: Reimplement bitwise ops and BFI/BFE
2021-07-22 21:51:30 -04:00
ReinUsesLisp
4502595bc2
glasm: Initial GLASM fp64 support
2021-07-22 21:51:30 -04:00
ReinUsesLisp
9f851e3832
glasm: Implement GLASM fp16 packing and move bitwise insns
2021-07-22 21:51:30 -04:00
ReinUsesLisp
4de65fbff4
glasm: Remove unused functions left from rebase
2021-07-22 21:51:30 -04:00
ReinUsesLisp
6358b0d0c1
glasm: Specify namespace when using FormatTo
2021-07-22 21:51:30 -04:00
ReinUsesLisp
939dab7120
glasm: Implement more GLASM composite instructions
2021-07-22 21:51:30 -04:00
ReinUsesLisp
01e18581b9
vk_pipeline_cache: Enable int8 and int16 types on Vulkan
2021-07-22 21:51:30 -04:00
ReinUsesLisp
1c9307969c
glasm: Make GLASM aware of types
2021-07-22 21:51:30 -04:00
ameerj
934d300246
glasm: Use CMP.S for Select32
...
also fixes ADD and SUB to use U modifier
2021-07-22 21:51:30 -04:00
ameerj
68cc445b8e
glasm: Implement more logical ops
2021-07-22 21:51:30 -04:00
ameerj
941c6dc740
glasm: Implement BFI, BFE
...
Along with implementations of common instructions along the way
2021-07-22 21:51:30 -04:00
ReinUsesLisp
3e841f6441
glasm: Use BitField instead of C bitfields
2021-07-22 21:51:30 -04:00
ReinUsesLisp
2b04b4d27f
glasm: Remove unused argument in identity instructions on GLASM
2021-07-22 21:51:30 -04:00
ReinUsesLisp
dc02cb92e4
gl_rasterizer: Flush L2 caches before glFlush on GLASM
2021-07-22 21:51:30 -04:00
ReinUsesLisp
2c81ad8311
glasm: Initial GLASM compute implementation for testing
2021-07-22 21:51:30 -04:00
ReinUsesLisp
6fd190d1ae
glasm: Implement basic GLASM instructions
2021-07-22 21:51:30 -04:00
ReinUsesLisp
c1ba685d9c
glasm: Changes to GLASM register allocator and emit context
2021-07-22 21:51:30 -04:00
ReinUsesLisp
36f1586267
vk_scheduler: Use locks instead of SPSC a queue
...
This tries to fix a data race where we'd wait forever for the GPU.
2021-07-22 21:51:30 -04:00
ReinUsesLisp
56c47951c5
vk_query_cache: Wait before reading queries
2021-07-22 21:51:30 -04:00
ReinUsesLisp
a515036604
vk_master_semaphore: Use fetch_add to increase master semaphore tick
2021-07-22 21:51:30 -04:00
ReinUsesLisp
b10cf64c48
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00
ameerj
09dc23f971
shader: ISET.X implementation
2021-07-22 21:51:30 -04:00
ReinUsesLisp
bfa47539f6
gl_shader_cache: Remove code unintentionally committed
2021-07-22 21:51:30 -04:00
ReinUsesLisp
b725db8709
shader: Fixup SPIR-V emit header namespaces
2021-07-22 21:51:30 -04:00
ReinUsesLisp
bed090807a
Move SPIR-V emission functions to their own header
2021-07-22 21:51:30 -04:00
FernandoS27
ee61ec2c39
shader: Optimize NVN Fallthrough
2021-07-22 21:51:30 -04:00
FernandoS27
153a77efee
shader: Stub SR_AFFINITY
2021-07-22 21:51:30 -04:00
ameerj
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
2021-07-22 21:51:30 -04:00
ReinUsesLisp
d621e96d0d
shader: Initial OpenGL implementation
2021-07-22 21:51:30 -04:00
ReinUsesLisp
850b08a16c
spirv: Be aware of NAN unaware drivers
2021-07-22 21:51:30 -04:00
ReinUsesLisp
fde47152d9
spirv: Add SSBO read fallbacks when no aliasing is available
2021-07-22 21:51:29 -04:00
ReinUsesLisp
fd913bceaf
spirv: Add OpKill fallback to demote
2021-07-22 21:51:29 -04:00
ReinUsesLisp
d2a0f9d7ad
spirv: Do not enable ShaderLayer
...
This is enabled by an extension instead of the capability.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
2b434b74af
spirv: Enable DemoteToHelperInvocationEXT only when supported
2021-07-22 21:51:29 -04:00
ReinUsesLisp
cfd873275d
spirv: Use OriginLowerLeft when requested
2021-07-22 21:51:29 -04:00
ReinUsesLisp
bafe9e35a9
spirv: Only add image operands mask when needed
2021-07-22 21:51:29 -04:00
ReinUsesLisp
d2e811db2e
spirv: Workaround image unsigned offset bug
...
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned
texture offsets.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
4ead714910
spirv: Add int8 and int16 capabilities only when supported
2021-07-22 21:51:29 -04:00
ReinUsesLisp
33bebc3412
spirv: Add integer clamping workarounds
...
Workaround more bugs on Nvidia's OpenGL SPIR-V compiler.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
7b03b97118
spirv: Implement int8 and int16 conversion fallbacks
2021-07-22 21:51:29 -04:00
ReinUsesLisp
48a17298d7
spirv: Support OpenGL uniform buffers and change bindings
2021-07-22 21:51:29 -04:00
ReinUsesLisp
d5d6778ba5
spirv: Desambiguate descriptor names
...
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are
used for name matching.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
a46d91b1ef
shader: Add OpenGL shader profile options
2021-07-22 21:51:29 -04:00
ReinUsesLisp
028f0033bd
shader: Remove shader util
2021-07-22 21:51:29 -04:00
FernandoS27
c49d56c931
shader: Address feedback
2021-07-22 21:51:29 -04:00
FernandoS27
b541f5e5e3
shader: Implement VertexA stage
2021-07-22 21:51:29 -04:00
FernandoS27
da936d6ad8
shader: Implement delegation of Exit to dispatcher on CFG
2021-07-22 21:51:29 -04:00
ReinUsesLisp
f4b82b8dd7
vk_graphics_pipeline: Fix texture buffer descriptors
2021-07-22 21:51:29 -04:00
ameerj
fb14820c86
shader: Fix IADD3.CC
2021-07-22 21:51:29 -04:00
ReinUsesLisp
53acdda772
vk_scheduler: Allow command submission on worker thread
...
This changes how Scheduler::Flush works. It queues the current command
buffer to be sent to the GPU but does not do it immediately. The Vulkan
worker thread takes care of that. Users will have to use
Scheduler::Flush + Scheduler::WaitWorker to get the previous behavior.
Scheduler::Finish is unchanged.
To avoid waiting on work never queued, Scheduler::Wait sends the current
command buffer if that's what the caller wants to wait.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
c5425b38c1
vk_compute_pass: Fix -Wshadow warning
2021-07-22 21:51:29 -04:00
ReinUsesLisp
025b20f96a
shader: Move pipeline cache logic to separate files
...
Move code to separate files to be able to reuse it from OpenGL. This
greatly simplifies the pipeline cache logic on Vulkan.
Transform feedback state is not yet abstracted and it's still
intrusively stored inside vk_pipeline_cache. It will be moved when
needed on OpenGL.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
ac8835659e
vulkan: Defer descriptor set work to the Vulkan thread
...
Move descriptor lookup and update code to a separate thread. Delaying
this removes work from the main GPU thread and allows creating
descriptor layouts on another thread. This reduces a bit the workload
of the main thread when new pipelines are encountered.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
2f3c3dfc10
vulkan: Rework descriptor allocation algorithm
...
Create multiple descriptor pools on demand. There are some degrees of
freedom what is considered a compatible pool to avoid wasting large
pools on small descriptors.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
5ed871398b
vk_graphics_pipeline: Generate specialized pipeline config functions and improve code
2021-07-22 21:51:29 -04:00
ReinUsesLisp
f4ace63957
shader: Accelerate pipeline transitions and use dirty flags for shaders
2021-07-22 21:51:29 -04:00
ameerj
20e86fd615
shader: Fix BFE s32 undefined check
...
Our unit tests were hitting this exception.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
8fda599a31
vk_compute_pipeline: Fix index comparison oversight on compute texture buffers
2021-07-22 21:51:29 -04:00
ReinUsesLisp
50eb03382e
shader: Fix error checking in bitfieldExtract and implement bitfieldInsert folding
2021-07-22 21:51:29 -04:00
ReinUsesLisp
0c0ee9d897
vulkan_device: Require shaderClipDistance and shaderCullDistance features
2021-07-22 21:51:29 -04:00
ReinUsesLisp
5b1b06f11e
vk_graphics_pipeline: Guard against non-tessellation pipelines using patches
2021-07-22 21:51:29 -04:00
ReinUsesLisp
57464e3b72
shader: Fix storage type when reading patches on tess control
2021-07-22 21:51:29 -04:00
ReinUsesLisp
d2b54c6e42
shader: Fix VMNMX selector B
2021-07-22 21:51:29 -04:00
Rodrigo Locatti
2dc86372c7
shader: Fix bugs and build issues on GCC
2021-07-22 21:51:29 -04:00
ReinUsesLisp
7a1f296cda
shader: Fix render targets with null attachments
2021-07-22 21:51:29 -04:00
ReinUsesLisp
155be4a8d3
shader: Increase the maximum number of storage buffers
...
Compute shaders spill uniform buffers on storage buffers, increasing the
expected number.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
fe25f42403
shader: Remove identity removal pass for better build times
2021-07-22 21:51:29 -04:00
ReinUsesLisp
0c7230a606
shader: Add more strict validation the pass
2021-07-22 21:51:29 -04:00
ReinUsesLisp
25949b864c
shader: Fix forward referencing identity instructions when inserting phi
2021-07-22 21:51:29 -04:00
ReinUsesLisp
92a01984e6
shader: Remove invalidated blocks in dead code elimination pass
2021-07-22 21:51:29 -04:00
ReinUsesLisp
aece958c2b
shader: Add missing UndoUse case for GetSparseFromOp
2021-07-22 21:51:29 -04:00
ReinUsesLisp
0ace34575c
shader: Require dual source blending
2021-07-22 21:51:29 -04:00
ReinUsesLisp
21e3382830
shader: Simplify code in opcodes.h to fix Intellisense
...
Avoid using std::array to fix Intellisense not properly compiling this
code and disabling itself on all files that include it.
While we are at it, change the code to use u8 instead of size_t for the
number of instructions in an opcode.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
2021-07-22 21:51:28 -04:00
ameerj
7a9dc78398
shader: Refactor atomic_operations_global_memory
2021-07-22 21:51:28 -04:00
ameerj
427951d6fe
shader: add missing include guard in half_floating_point_helper.h
2021-07-22 21:51:28 -04:00
ReinUsesLisp
c8f9772d65
shader: Fix gcc warnings
2021-07-22 21:51:28 -04:00
ReinUsesLisp
75dee55486
shader: Inline common Value getters
2021-07-22 21:51:28 -04:00
ReinUsesLisp
23182fa59c
shader: Intrusively store in a block if it's sealed or not
2021-07-22 21:51:28 -04:00
ReinUsesLisp
eed6da55b8
cmake: Link to common in shader_recompiler
2021-07-22 21:51:28 -04:00
ReinUsesLisp
cc0fcd1b8d
shader: Improve goto removal algorithm complexity
...
Find sibling node containing a nephew searching from the nephew itself
instead of the uncle.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
f66851e376
shader: Use memset to reset instruction arguments
2021-07-22 21:51:28 -04:00
ReinUsesLisp
c84bbd9e44
shader: Inline common Value functions into the header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
e4d1122082
shader: Move siblings check to a separate function and comment them out
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
ReinUsesLisp
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
ReinUsesLisp
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
ReinUsesLisp
dd860b684c
shader: Implement D3D samplers
2021-07-22 21:51:28 -04:00
ReinUsesLisp
a8d46a5eae
shader: Add constant propagation for arithmetic right shifts
2021-07-22 21:51:28 -04:00
ReinUsesLisp
469f8bb857
shader: Simplify code for local memory
2021-07-22 21:51:28 -04:00
ReinUsesLisp
7018e524f5
shader: Add NVN storage buffer fallbacks
...
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6325601947
spirv: Fix ViewportMask
2021-07-22 21:51:28 -04:00
ameerj
5b8afed871
spirv: Replace Constant/ConstantComposite with Const helper
2021-07-22 21:51:28 -04:00
FernandoS27
2999028976
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27
881b33da3b
shader: Implement F2F (Imm)
2021-07-22 21:51:28 -04:00
FernandoS27
21a878237b
shader: Implement IADD3.CC/.X
2021-07-22 21:51:28 -04:00
FernandoS27
f69d0b91ff
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
FernandoS27
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
ReinUsesLisp
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
ReinUsesLisp
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
ReinUsesLisp
c9e4609d87
spirv: Fix implicit lod type
2021-07-22 21:51:28 -04:00
ReinUsesLisp
7cfa403683
spirv: Use explicit lods outside of fragment shaders
2021-07-22 21:51:28 -04:00
ReinUsesLisp
dbbd4b5496
spirv: Use ConstOffset instead of Offset when possible
2021-07-22 21:51:28 -04:00
ameerj
be431f5ed0
shader: Implement BFE and BFI CC
...
Fix two bugs in BFI.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
ReinUsesLisp
f3473c5143
spirv: Bitcast non-F32 output attributes to their type before store
2021-07-22 21:51:28 -04:00
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4657cf78fd
spirv: Bitcast non-F32 attributes to F32
2021-07-22 21:51:27 -04:00
ReinUsesLisp
b0f1255c8c
shader: Implement PrimitiveId
2021-07-22 21:51:27 -04:00
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
ReinUsesLisp
34519d3fc6
shader: Mark atomic instructions as writes
2021-07-22 21:51:27 -04:00
lat9nq
7ae3ea6bee
vk_pipeline_cache: Silence GCC warnings
...
Silences `-Werror=missing-field-initializers` due to missing
initializers.
2021-07-22 21:51:27 -04:00
ReinUsesLisp
416e1b7441
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
ReinUsesLisp
d8ec99dada
spirv: Implement Layer stores
2021-07-22 21:51:27 -04:00
FernandoS27
ab3831f6cb
spirv: Fix alpha test
2021-07-22 21:51:27 -04:00
ameerj
6f4a1c8dcf
spirv: Fix non-atomic 64-bit store
2021-07-22 21:51:27 -04:00
ameerj
6c512f4bff
spirv: Implement alpha test
2021-07-22 21:51:27 -04:00
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
ReinUsesLisp
a83579b50a
shader: Implement early Z tests
2021-07-22 21:51:27 -04:00
ReinUsesLisp
09165ae189
shader: Document and relax cache control on surface instructions
2021-07-22 21:51:27 -04:00
ReinUsesLisp
fa75b9b062
spirv: Rework storage buffers and shader memory
2021-07-22 21:51:27 -04:00
ReinUsesLisp
c070991def
shader: Fix fixed pipeline point size on geometry shaders
2021-07-22 21:51:27 -04:00
ReinUsesLisp
2597cee85b
shader: Add constant propagation for *&^| binary operations
2021-07-22 21:51:27 -04:00
ReinUsesLisp
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
ReinUsesLisp
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
lat9nq
dd3432d357
internal_stage_buffer_entry_read: Remove pragma optimize off
2021-07-22 21:51:27 -04:00
ReinUsesLisp
4b0172f6de
shader: Stub SR_INVOCATION_INFO
2021-07-22 21:51:27 -04:00
ReinUsesLisp
f712084147
shader: Stub ISBERD
2021-07-22 21:51:27 -04:00
ReinUsesLisp
2516829e4c
shader: Fix CC in I2I
2021-07-22 21:51:27 -04:00
ReinUsesLisp
23b8714732
spirv: Define StorageImageWriteWithoutFormat capability when used
2021-07-22 21:51:27 -04:00
ReinUsesLisp
a33014022e
pipeline_helper: Simplify descriptor objects initialization
2021-07-22 21:51:27 -04:00
ReinUsesLisp
415c7e46ed
shader: Simplify FLO and throw on CC
2021-07-22 21:51:27 -04:00
ReinUsesLisp
dfd5341d71
shader: Mark blocks with no end branch as unreachable
2021-07-22 21:51:27 -04:00
ReinUsesLisp
2ed80f6b1e
shader: Implement LOP CC
2021-07-22 21:51:27 -04:00
ReinUsesLisp
5c61e860e4
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
ReinUsesLisp
c9337a4ae4
shader: Apply sign bit in FCMP (imm)
2021-07-22 21:51:27 -04:00
ameerj
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
ReinUsesLisp
479ca00071
nsight_aftermath_tracker: Report used shaders to Nsight Aftermath
2021-07-22 21:51:27 -04:00
ReinUsesLisp
106764a6d5
spirv: Move phi node patching to a separate function
2021-07-22 21:51:27 -04:00
ReinUsesLisp
ab543f1821
spirv: Guard against typeless image reads on unsupported devices
2021-07-22 21:51:27 -04:00
ReinUsesLisp
9280cd649a
shader: Move LaneId to the warp emission file and fix AMD
2021-07-22 21:51:27 -04:00
ReinUsesLisp
1030b612a3
vk_rasterizer: Request outside render pass execution context for compute
2021-07-22 21:51:27 -04:00
ReinUsesLisp
e5e79648cf
pipeline_helper: Add missing [[maybe_unused]]
2021-07-22 21:51:27 -04:00
ReinUsesLisp
2e71e4c5c0
spirv: Fix forward declarations on phi nodes
2021-07-22 21:51:27 -04:00
ReinUsesLisp
d404b871d5
shader: Mark ImageWrite with side effects
2021-07-22 21:51:27 -04:00
FernandoS27
1be6705408
shader: Implement CC for ISET, FSET, PSET, CSET, and DSET
...
Throw when other instructions are missing CC.
2021-07-22 21:51:27 -04:00
ReinUsesLisp
8cea39b5a6
shader: Remove outdated comment in F2I
2021-07-22 21:51:27 -04:00
ReinUsesLisp
7cb2ab3585
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
ReinUsesLisp
094da34456
shader: Fix Windows build issues
2021-07-22 21:51:26 -04:00
lat9nq
5bfcafa0a2
shader: Address feedback + clang format
2021-07-22 21:51:26 -04:00
lat9nq
0bb85f6a75
shader_recompiler,video_core: Cleanup some GCC and Clang errors
...
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.
Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler
shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth
thread_worker: Include condition_variable
Don't use list initializers in control flow
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2021-07-22 21:51:26 -04:00
ReinUsesLisp
5cd3d00167
shader: Fix FCMP immediate variant
2021-07-22 21:51:26 -04:00
ReinUsesLisp
233e39bb7b
shader: Fix dangling labels
2021-07-22 21:51:26 -04:00
ReinUsesLisp
e9a91bc5cc
shader: Interact texture buffers with buffer cache
2021-07-22 21:51:26 -04:00
ReinUsesLisp
56b92bd89c
shader: Fix F2I
2021-07-22 21:51:26 -04:00
ReinUsesLisp
ef88552224
shader: Fix TextureGrad
2021-07-22 21:51:26 -04:00
ReinUsesLisp
1f3eb601ac
shader: Implement texture buffers
2021-07-22 21:51:26 -04:00
FernandoS27
dcaf0e9150
shader: Address feedback
2021-07-22 21:51:26 -04:00
FernandoS27
73cb17f41b
shader: Implement indexed Position and ClipDistances
2021-07-22 21:51:26 -04:00
FernandoS27
1d51803169
shader: Implement indexed attributes
2021-07-22 21:51:26 -04:00
FernandoS27
0df7e509db
shader: Implement AL2P
2021-07-22 21:51:26 -04:00
FernandoS27
20ba0ea0a9
shader: Fix BRX tracking
2021-07-22 21:51:26 -04:00
ReinUsesLisp
bfeeb23ddc
vk_pipeline_cache: Fix num of pipeline workers on weird platforms
2021-07-22 21:51:26 -04:00
ReinUsesLisp
417fb5d385
shader: Move recursive SSA rewrite to the heap
2021-07-22 21:51:26 -04:00
FernandoS27
72daa2a039
shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware
2021-07-22 21:51:26 -04:00
ReinUsesLisp
9e6fe430bd
shader: Fix splits on blocks using indirect branches
2021-07-22 21:51:26 -04:00
ReinUsesLisp
ffca21487f
shader: Eliminate orphan blocks more efficiently
2021-07-22 21:51:26 -04:00
ReinUsesLisp
da6cf2632c
shader: Add subgroup masks
2021-07-22 21:51:26 -04:00
ReinUsesLisp
fc93bc2abd
shader: Implement BAR and fix memory barriers
2021-07-22 21:51:26 -04:00
ReinUsesLisp
85795de99f
shader: Abstract breadth searches and use the abstraction
2021-07-22 21:51:26 -04:00
ReinUsesLisp
3f594dd86b
shader: Reimplement GetCbufU64 as GetCbufU32x2
...
It may generate better code on some compilers and it's easier to handle.
2021-07-22 21:51:26 -04:00
ReinUsesLisp
5b3c6d59c2
vk_compute_pass: Fix compute passes
2021-07-22 21:51:26 -04:00
ReinUsesLisp
5ed68e83db
shader: Remove atomic flags and use mutex + cond variable for pipelines
2021-07-22 21:51:26 -04:00
ReinUsesLisp
0b26f2b90e
shader: Remove unused header in VOTE
2021-07-22 21:51:26 -04:00
ReinUsesLisp
6ff2e9ba09
vk_pipeline_cache: Remove unnecesary scope in pipeline cache locking
2021-07-22 21:51:26 -04:00
ReinUsesLisp
9a342f5605
shader: Rework global memory tracking to use breadth-first search
2021-07-22 21:51:26 -04:00
ReinUsesLisp
c4aab5c40e
shader: Fix fp16 merge when using native fp16
2021-07-22 21:51:26 -04:00
ReinUsesLisp
ca7ebdc471
shader: Fix FADD32I
2021-07-22 21:51:26 -04:00
FernandoS27
e7700aad18
shader: Fix undetected bug from review
2021-07-22 21:51:26 -04:00
FernandoS27
ed6a1b1a3d
shader: Address feedback
2021-07-22 21:51:26 -04:00
FernandoS27
80df541a08
shader: "Implement" NOP
2021-07-22 21:51:26 -04:00
FernandoS27
480dc0d5e6
vk_pipeline_cache: Small fixes to the pipeline cache
2021-07-22 21:51:26 -04:00
FernandoS27
baec84247f
shader: Address Feedback
2021-07-22 21:51:26 -04:00
FernandoS27
45d547af11
shader: Implement SR_LaneId
2021-07-22 21:51:26 -04:00
FernandoS27
595806fb1c
shader: Fix shared memory on cool drivers
2021-07-22 21:51:26 -04:00
FernandoS27
655f7a570a
shader: Implement MEMBAR
2021-07-22 21:51:26 -04:00
FernandoS27
ecb30c9072
shader: Improve VOTE.VTG stub
2021-07-22 21:51:25 -04:00
FernandoS27
12f5f32098
shader: Mark SSBOs as written when they are
2021-07-22 21:51:25 -04:00
FernandoS27
d819ba4489
shader: Implement ViewportIndex
2021-07-22 21:51:25 -04:00
FernandoS27
fd496d0401
shader: Stub TLD4's PTP when it isn't constant
2021-07-22 21:51:25 -04:00
FernandoS27
5ed8f24384
shader: Stub VOTE.VTG
2021-07-22 21:51:25 -04:00
FernandoS27
bee8188799
shader: Fold composite extract
2021-07-22 21:51:25 -04:00
FernandoS27
c3bace756f
shader: Fold comparisons and Pack/Unpack16
2021-07-22 21:51:25 -04:00
ReinUsesLisp
b4a5e767d0
shader: Fix branches to visited virtual blocks
2021-07-22 21:51:25 -04:00
ReinUsesLisp
d0a529683a
vulkan: Serialize pipelines on a separate thread
2021-07-22 21:51:25 -04:00
ReinUsesLisp
8771639d1e
vulkan: Create pipeline layouts in separate threads
2021-07-22 21:51:25 -04:00
ReinUsesLisp
2fc698b040
vulkan: Build pipelines in parallel at runtime
...
Wait from the worker thread for a pipeline to build before binding it to
the command buffer. This allows queueing pipelines to multiple threads.
2021-07-22 21:51:25 -04:00
ReinUsesLisp
f1dd743731
shader: Fix dependency on identity removal pass
2021-07-22 21:51:25 -04:00
ReinUsesLisp
5f22cd89e2
shader: Fix constant propagation to use reverse post order
2021-07-22 21:51:25 -04:00
ReinUsesLisp
eaafd53cfe
shader: Implement LDG .U.128 as .128
2021-07-22 21:51:25 -04:00
ReinUsesLisp
c826220733
shader: Unroll "using enum" for opcode declarations
2021-07-22 21:51:25 -04:00
ReinUsesLisp
0c933e20de
vk_pipeline_cache: Name SPIR-V modules
2021-07-22 21:51:25 -04:00
ReinUsesLisp
09e1927b70
spirv: Remove unnecesary variable for clip distances
2021-07-22 21:51:25 -04:00
FernandoS27
0c4cf3b9eb
shader: Implement ClipDistance
2021-07-22 21:51:25 -04:00
FernandoS27
67afdaf566
shader: Fix TXD
2021-07-22 21:51:25 -04:00
FernandoS27
4d0d29fc20
shader: Address feedback
2021-07-22 21:51:25 -04:00
ReinUsesLisp
cb6fc03e55
shader: Always pass a lod for TexelFetch
2021-07-22 21:51:25 -04:00
FernandoS27
630273b629
shader: Implement TXD
2021-07-22 21:51:25 -04:00
FernandoS27
d5bfc63088
shader: Implement ImageGradient
2021-07-22 21:51:25 -04:00
FernandoS27
be3e94ae55
shader: Implement TMML partially
2021-07-22 21:51:25 -04:00
FernandoS27
613b48c4a2
shader,spirv: Implement ImageQueryLod.
2021-07-22 21:51:25 -04:00
FernandoS27
2c276ec6eb
shader: Implement TLDS
2021-07-22 21:51:25 -04:00
FernandoS27
dc1a9a3bed
shader: Implement TLD
2021-07-22 21:51:25 -04:00
ReinUsesLisp
7a1c14269e
spirv: Add fixed pipeline point size
2021-07-22 21:51:25 -04:00
FernandoS27
9d7422d967
shader: Add PointCoord attribute
2021-07-22 21:51:25 -04:00
ameerj
b7589fe115
shader: Add PointSize attribute
2021-07-22 21:51:25 -04:00
ReinUsesLisp
514a6b07ee
shader: Store type of phi nodes in flags
...
This is needed because pseudo-instructions where invalidated.
2021-07-22 21:51:25 -04:00
ReinUsesLisp
b0d5572abf
shader: Fix indirect branches to scheduler instructions
2021-07-22 21:51:25 -04:00
ReinUsesLisp
55b960a20f
spirv: Fix default output attribute initialization
2021-07-22 21:51:25 -04:00
ReinUsesLisp
12783f8105
shader: Add missing new lines
2021-07-22 21:51:25 -04:00
ameerj
6c51f49632
shader: Implement FSWZADD
2021-07-22 21:51:25 -04:00
FernandoS27
34aba9627a
shader: Implement BRX
2021-07-22 21:51:25 -04:00
ReinUsesLisp
39a379632e
shader: Fix alignment checks on RZ
2021-07-22 21:51:25 -04:00
ameerj
73af0d2e0d
shader: Implement I2I CC
2021-07-22 21:51:25 -04:00
ameerj
dbc1e5cde7
shader: Implement I2I SAT
2021-07-22 21:51:25 -04:00
ReinUsesLisp
3c758d9b53
vk_pipeline_cache: Fix size hashing of shaders
2021-07-22 21:51:25 -04:00
ameerj
cd9f75e223
shader: Fix ISCADD logic for PO/CC
2021-07-22 21:51:25 -04:00
ReinUsesLisp
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
ameerj
84298ce191
shader: Implement ISCADD CC
2021-07-22 21:51:24 -04:00
ameerj
51475e21ba
shader: Implement VMAD, VMNMX, VSETP
2021-07-22 21:51:24 -04:00
ReinUsesLisp
0e1b213fa7
shader: Add missing I2I exception when CC is used
2021-07-22 21:51:24 -04:00
ReinUsesLisp
dbd882ddeb
shader: Better interpolation and disabled attributes support
2021-07-22 21:51:24 -04:00
ReinUsesLisp
675a82416d
spirv: Remove dependencies on Environment when generating SPIR-V
2021-07-22 21:51:24 -04:00
ReinUsesLisp
cb6039ccea
vk_pipeline_cache: Fix pipeline and shader caches
2021-07-22 21:51:24 -04:00
ReinUsesLisp
f0031babeb
shader: Implement front face
2021-07-22 21:51:24 -04:00
ReinUsesLisp
a806b29cb9
shader: Fix structured control flow on KIL instructions
...
This could potentially leave unvisited blocks, leading to illegal phi
nodes.
2021-07-22 21:51:24 -04:00
FernandoS27
cdf0cc3869
shader: Fix TXQ
2021-07-22 21:51:24 -04:00
ReinUsesLisp
ec005be99d
shader: Fix rasterizer integration order issues
2021-07-22 21:51:24 -04:00
ReinUsesLisp
17063d16a3
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
ReinUsesLisp
d9c5bd9509
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
FernandoS27
b5db38f50e
shader: Add IR opcode for ImageFetch
2021-07-22 21:51:24 -04:00
FernandoS27
742d11c2ad
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
FernandoS27
981eb6f43b
shader: Fix Array Indices in TEX/TLD4
2021-07-22 21:51:24 -04:00
FernandoS27
f5672777c8
shader: Implement FragDepth
2021-07-22 21:51:24 -04:00
FernandoS27
fda0835300
shader: Implement TLD4S.
2021-07-22 21:51:24 -04:00
FernandoS27
c7c518e280
shader: Implement TLD4 and TLD4_B
2021-07-22 21:51:24 -04:00
ameerj
32c5483beb
shader: Implement SHFL
2021-07-22 21:51:24 -04:00
ReinUsesLisp
49e87ea8ab
shader: Track first bindless argument instead of the instruction itself
2021-07-22 21:51:24 -04:00
ReinUsesLisp
d3dad6b632
shader: Properly insert Prologue instruction
2021-07-22 21:51:24 -04:00
ReinUsesLisp
83a283fa86
shader: Minor style nits
2021-07-22 21:51:24 -04:00
FernandoS27
8cb9443cb9
shader: Fix F2I
2021-07-22 21:51:24 -04:00
ReinUsesLisp
68a9505d8a
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
ReinUsesLisp
1d2db78398
shader: Fix use-after-free bug in object_pool
2021-07-22 21:51:24 -04:00
ameerj
3d07cef009
shader: Implement VOTE
2021-07-22 21:51:24 -04:00
ReinUsesLisp
d40faa1db0
vk_pipeline_cache: Fix ReleaseContents order
2021-07-22 21:51:24 -04:00
ReinUsesLisp
a8d8fd40f7
shader: Fix TEX mask
2021-07-22 21:51:24 -04:00
ReinUsesLisp
f8115a6a9e
vk_pipeline_cache: Add pipeline cache
2021-07-22 21:51:24 -04:00
ReinUsesLisp
c63cf4fa2e
vk_pipeline_cache: Add pipeline cache
2021-07-22 21:51:24 -04:00
ReinUsesLisp
2be5c7eff4
shader: Fold interpolation multiplications
2021-07-22 21:51:24 -04:00
ReinUsesLisp
96b7ced6ec
shader: Better but still partial interpolation support
2021-07-22 21:51:24 -04:00
ameerj
e4e1cc11b8
shader: Implement DMNMX, DSET, DSETP
2021-07-22 21:51:24 -04:00
FernandoS27
56be556eee
shader: Implement FADD32I
2021-07-22 21:51:24 -04:00
FernandoS27
a62f04efab
shader: Implement F2F
2021-07-22 21:51:24 -04:00
ReinUsesLisp
8b3b9c3371
shader: Add missing fp64 usage flags
2021-07-22 21:51:24 -04:00
ameerj
c858b8ba97
shader: Implement DMUL and DFMA
...
Also add a missing const on DADD
2021-07-22 21:51:24 -04:00
ameerj
112b8f00f0
shader: Add FP64 register load/store helpers
2021-07-22 21:51:24 -04:00
ReinUsesLisp
a77e764726
shader: Add support for fp16 comparisons and misc fixes
2021-07-22 21:51:24 -04:00
FernandoS27
27fb97377e
shader: Fix floating point comparison for FP16
2021-07-22 21:51:23 -04:00
FernandoS27
e10d9c1b8e
shader: Implement HSETP2
2021-07-22 21:51:23 -04:00
FernandoS27
9e213fd861
shader: Implement HSET2
2021-07-22 21:51:23 -04:00
FernandoS27
ed6cd3c94a
shader: Implement HMUL2
2021-07-22 21:51:23 -04:00
FernandoS27
28dff6a629
shader: Implement HFMA2
2021-07-22 21:51:23 -04:00
ReinUsesLisp
76c8a962ac
spirv: Implement VertexId and InstanceId, refactor code
2021-07-22 21:51:23 -04:00
FernandoS27
e802512d8e
shader: Refactor half floating instructions
2021-07-22 21:51:23 -04:00
ReinUsesLisp
f91859efd2
shader: Implement I2F
2021-07-22 21:51:23 -04:00
ReinUsesLisp
c97d03efb9
shader: Implement ISCADD (imm)
2021-07-22 21:51:23 -04:00
ReinUsesLisp
eeb1efa2d2
shader: Implement LOP32I
2021-07-22 21:51:23 -04:00
ReinUsesLisp
260743f371
shader: Add partial rasterizer integration
2021-07-22 21:51:23 -04:00
ameerj
72990df7ba
shader: Implement DADD
2021-07-22 21:51:23 -04:00
ameerj
3b7fd3ad0f
shader: Implement CSET and CSETP
2021-07-22 21:51:23 -04:00
ReinUsesLisp
32b6c63485
shader: Reorder phi nodes when redefined as undefined opcodes
2021-07-22 21:51:23 -04:00
ReinUsesLisp
8dd0acfaeb
shader: Fix instruction transitions in and out of Phi
2021-07-22 21:51:23 -04:00
ameerj
fa2f6e38f4
shader: Implement FSET and FSETP
...
Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
2021-07-22 21:51:23 -04:00
ReinUsesLisp
17a82b56d7
shader: Implement TEXS
2021-07-22 21:51:23 -04:00
ReinUsesLisp
71f96fa636
shader: Implement CAL inlining function calls
2021-07-22 21:51:23 -04:00
ameerj
b9f7bf4472
spirv: Add SignedZeroInfNanPreserve logic
2021-07-22 21:51:23 -04:00
ameerj
8d470c2e63
shader: Implement FMNMX
...
And add a const in FCMP
2021-07-22 21:51:23 -04:00
ReinUsesLisp
2d422b2498
shader: Fix rebase issue
2021-07-22 21:51:23 -04:00
ameerj
ba8c1d2eb4
shader: Implement FCMP
...
still need to configure some settings for NV denorm flush and intel NaN
2021-07-22 21:51:23 -04:00
ReinUsesLisp
3a63fa0477
shader: Partial implementation of LDC
2021-07-22 21:51:23 -04:00
ReinUsesLisp
ab46371247
shader: Initial support for textures and TEX
2021-07-22 21:51:23 -04:00
ameerj
7d6ba5b984
shader: Implement R2P
2021-07-22 21:51:23 -04:00
ameerj
924f0a9149
shader: Implement SHF
2021-07-22 21:51:23 -04:00
ameerj
5465cb1561
shader: Implement LEA
2021-07-22 21:51:23 -04:00
ReinUsesLisp
d1edc16ba8
shader: Deduplicate HADD2 code
2021-07-22 21:51:23 -04:00
ameerj
81f72471e8
shader: Implement I2I
2021-07-22 21:51:23 -04:00
ReinUsesLisp
4006929c98
shader: Implement HADD2
2021-07-22 21:51:23 -04:00
ameerj
980cafdc27
shader: Implement LOP and LOP3
2021-07-22 21:51:23 -04:00
ameerj
382cba94ed
shader: Implement IADD3
2021-07-22 21:51:23 -04:00
ameerj
c2155f04d4
shader: Implement PSETP
2021-07-22 21:51:23 -04:00
ameerj
ce9b116cfe
Implement PSET, refactor common comparison funcs
2021-07-22 21:51:23 -04:00
ameerj
103b9da4f7
shader: Implement FLO
2021-07-22 21:51:23 -04:00
ameerj
e038928616
shader: Implement ISET, add common_funcs
2021-07-22 21:51:23 -04:00
ameerj
bec7d3111d
shader: Make IMNMX, SHR, SEL stylistically more consistent
2021-07-22 21:51:22 -04:00
ameerj
bce0b1dcca
shader: Implement ICMP
2021-07-22 21:51:22 -04:00
ameerj
20390c0548
shader: Implement IMNMX
2021-07-22 21:51:22 -04:00
ameerj
08a9e95905
shader: Implement BFI
2021-07-22 21:51:22 -04:00
ameerj
34ac9b4d7e
shader: Implement BFE
2021-07-22 21:51:22 -04:00
ameerj
a8c41c50d3
shader: Implement POPC
2021-07-22 21:51:22 -04:00
ameerj
cc55d28949
shader: Implement SHR
2021-07-22 21:51:22 -04:00
ameerj
8810c88b7e
shader: Implement SEL
2021-07-22 21:51:22 -04:00
ReinUsesLisp
726625cf50
spirv: Move phi arguments emit to a separate function
2021-07-22 21:51:22 -04:00
ReinUsesLisp
3bc857f2f3
shader: Avoid infinite recursion when tracking global memory
2021-07-22 21:51:22 -04:00
ReinUsesLisp
622d676202
shader: Fix conditional execution of exit instructions
2021-07-22 21:51:22 -04:00
ReinUsesLisp
7496bbf758
spirv: Add support for self-referencing phi nodes
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e87a502da2
shader: Fix control flow
2021-07-22 21:51:22 -04:00
ReinUsesLisp
9d6a98d950
shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCC
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e44752ddc8
shader: FMUL, select, RRO, and MUFU fixes
2021-07-22 21:51:22 -04:00
ReinUsesLisp
18a766b362
shader: Fix MOV(reg), add SHL variants and emit neg and abs instructions
2021-07-22 21:51:22 -04:00
ReinUsesLisp
274897dfd5
spirv: Fixes and Intel specific workarounds
2021-07-22 21:51:22 -04:00
ReinUsesLisp
704c6f353f
shader: Rename, implement FADD.SAT and P2R (imm)
2021-07-22 21:51:22 -04:00
ReinUsesLisp
e2bc05b17d
shader: Add denorm flush support
2021-07-22 21:51:22 -04:00
ReinUsesLisp
6db69990da
spirv: Add lower fp16 to fp32 pass
2021-07-22 21:51:22 -04:00
ReinUsesLisp
85cce78583
shader: Primitive Vulkan integration
2021-07-22 21:51:22 -04:00
ReinUsesLisp
c67d64365a
shader: Remove old shader management
2021-07-22 21:51:22 -04:00
ReinUsesLisp
58914796c0
shader: Add XMAD multiplication folding optimization
2021-07-22 21:51:22 -04:00
ReinUsesLisp
4b438f94cf
shader: Simplify ISCADD
2021-07-22 21:51:22 -04:00
ReinUsesLisp
3633e43377
shader: Add utility to resolve identities on a value
2021-07-22 21:51:22 -04:00
ReinUsesLisp
3a59fffaa1
spirv: Implement EmitIdentity
2021-07-22 21:51:22 -04:00
ReinUsesLisp
b5d7279d87
spirv: Initial bindings support
2021-07-22 21:51:22 -04:00
ReinUsesLisp
d5d468cf2c
shader: Improve object pool
2021-07-22 21:51:22 -04:00
ReinUsesLisp
1c0b8bca5e
shader: Fix tracking
2021-07-22 21:51:22 -04:00
ReinUsesLisp
1b0cf2309c
shader: Add support for forward declarations
2021-07-22 21:51:22 -04:00
ReinUsesLisp
cbfb7d182a
shader: Support SSA loops on IR
2021-07-22 21:51:22 -04:00
ReinUsesLisp
8af9297f09
shader: Misc fixes
2021-07-22 21:51:22 -04:00
ReinUsesLisp
9170200a11
shader: Initial implementation of an AST
2021-07-22 21:51:22 -04:00
ReinUsesLisp
2930dccecc
spirv: Initial SPIR-V support
2021-07-22 21:51:22 -04:00
ReinUsesLisp
6dafb08f52
shader: Better constant folding
2021-07-22 21:51:22 -04:00
ReinUsesLisp
da8096e6e3
shader: Properly store phi on Inst
2021-07-22 21:51:21 -04:00
ReinUsesLisp
16cb00c521
shader: Add pools and rename files
2021-07-22 21:51:21 -04:00
ReinUsesLisp
be94ee88d2
shader: Make typed IR
2021-07-22 21:51:21 -04:00
ReinUsesLisp
dc04a50ac2
shader: Remove illegal character in SSA pass
2021-07-22 21:51:21 -04:00
ReinUsesLisp
e81739493a
shader: Constant propagation and global memory to storage buffer
2021-07-22 21:51:21 -04:00
ReinUsesLisp
d24a16045f
shader: Initial instruction support
2021-07-22 21:51:21 -04:00
ReinUsesLisp
6c4cc0cd06
shader: SSA and dominance
2021-07-22 21:51:21 -04:00
ReinUsesLisp
2d48a7b4d0
shader: Initial recompiler work
2021-07-22 21:51:21 -04:00
ameerj
75059c46d6
thread_worker: Fix compile time error
...
state is unused in the branch where with_state is false
2021-07-22 21:51:21 -04:00
bunnei
db46f8a70c
Merge pull request #6686 from ReinUsesLisp/vk-optimal-copy
...
vk_texture_cache: Use VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL when possible
2021-07-22 12:51:13 -04:00
Morph
233bf018d6
Merge pull request #6693 from lat9nq/cmd-fullscreen-mode-2
...
yuzu_cmd: Make use of fullscreen_mode setting
2021-07-22 00:55:01 -04:00
bunnei
dff438e219
Merge pull request #6654 from german77/custom_threshold
...
input_common: Make button threshold customizable
2021-07-21 20:31:33 -04:00
lat9nq
9befe7047b
yuzu_cmd: Make use of fullscreen_mode setting
...
Reverts 48259de0c1a6a1aca77eec31cb8aca5ca2b680dd to the previous
hierarchy and fixes the resolution issue with this fullscreen mode.
yuzu-cmd will now read the fullscreen_mode setting and use it
appropriately.
2021-07-21 19:48:03 -04:00
san
583a10fded
yuzu-cmd: Fullscreen Improvements ( #6656 )
...
* emu_window_sdl2_vk: Use the generated SDL config
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.
This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
* emu_window_sdl2_vk: Specify the window manager if it should be supported
The original language "not implemented" is wrong if the implementation
exists but is not compiled. This causes a bit of a debugging headache
when it goes wrong. Log it if the window manager is known before
exiting.
* sdl_impl, emu_window: Remove clang ignore
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
* Enable fullscreen support for Vulkan on yuzu-cmd
Hooked up the existing SDL2 logic for fullscreen support in the Vulkan window of yuzu-cmd.
* Change fullscreen logic to attempt desktop resolution first on yuzu-cmd
Changed the order in which we attempt to switch to fullscreen. First try desktop resolution first, if it fails fall back to streched fullscreen using windowed resolution.
Co-authored-by: lat9nq <22451773+lat9nq@users.noreply.github.com>
Co-authored-by: san <san+gitkraken@smederijmerlijn.nl>
2021-07-21 11:56:42 -07:00
bunnei
2e93df7e48
Merge pull request #6660 from Morph1984/controller_applet_rev8
...
applet_controller: Add preliminary support for version 8
2021-07-21 00:01:46 -04:00
bunnei
346bfb6c47
hle: service: kernel_helpers: Remove unnecessary pragma once.
2021-07-20 18:54:56 -07:00
bunnei
f3db3dcc8d
hle: kernel: svc: Remove part of ExitProcess.
...
- ExitProcess is not actually implemented either way, and this needs more work before we implement.
2021-07-20 18:54:56 -07:00
bunnei
185b19fd5b
hle: service: nvdrv: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
6c6e730e9a
hle: service: hid: npad: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
52caa52cc2
hle: kernel: Track and release server sessions, and protect methods with locks.
2021-07-20 18:54:56 -07:00
bunnei
8d755147d8
hle: kernel: KProcess: Change process termination assert to a warning.
...
- Since we do not implement multiprocess right now, this should not be a crashing assert.
2021-07-20 18:54:56 -07:00
bunnei
854c7a3c28
hle: kernel: Ensure current running process is closed.
2021-07-20 18:54:56 -07:00
bunnei
ecf3653444
hle: kernel: Ensure global handle table is finalized before closing.
2021-07-20 18:54:56 -07:00
bunnei
24540e0ad9
kernel: svc: ConnectToNamedPort: Close extra reference to port.
2021-07-20 18:54:56 -07:00
bunnei
7bd020e030
hle: service: sm: Refactor to better manage ports.
2021-07-20 18:54:55 -07:00
bunnei
b119363fc2
hle: kernel: k_process: Close the handle table on shutdown.
2021-07-20 18:54:55 -07:00
bunnei
6020723e77
hle: kernel: k_process: Close main thread reference after it is inserted into handle table.
2021-07-20 18:54:55 -07:00
bunnei
fe402d3506
hle: kernel: Ensure global handle table is initialized.
2021-07-20 18:54:55 -07:00
bunnei
015058fadf
hle: service: Add a helper module for managing kernel objects.
2021-07-20 18:54:55 -07:00
bunnei
929994132a
hle: kernel: Provide methods for tracking dangling kernel objects.
2021-07-20 18:54:55 -07:00
bunnei
29fb110049
Merge pull request #6649 from german77/toggle_sdl
...
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
ReinUsesLisp
a0c4557557
gl_buffer_cache: Use glClearNamedBufferSubData:GL_RED instead of GL_RGBA
...
Avoids reading out of bounds from the stack.
2021-07-20 18:51:45 -03:00
ReinUsesLisp
6e2ca7fbee
buffer_cache: Simplify clear logic
...
Use existing helper functions and avoid looping when
only one buffer has to be active.
2021-07-20 18:50:51 -03:00
bunnei
c53b688411
Merge pull request #6629 from FernandoS27/accel-dma-2
...
DMAEngine: Accelerate BufferClear [accelerateDMA Part 2]
2021-07-20 17:35:05 -04:00
bunnei
263a201dae
Merge pull request #6658 from Morph1984/render-window-fix
...
bootmanager: Create a dummy render widget
2021-07-20 15:55:48 -04:00
Fernando S
f460bf937e
Merge pull request #6685 from ReinUsesLisp/radeonsi-client
...
gl_texture_cache: Workaround slow PBO downloads on radeonsi
2021-07-20 20:33:07 +02:00
ReinUsesLisp
ad189488b3
vk_texture_cache: Use VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL when possible
...
Silences performance warnings generated from validation layers on each frame.
2021-07-20 14:38:58 -03:00
ReinUsesLisp
2e2d6cf5e5
gl_texture_cache: Workaround slow PBO downloads on radeonsi
...
There's an optimization bug on non-git mesa versions where not
specifying GL_CLIENT_STORAGE_BIT causes very slow reads on the CPU
side.
Add this bit for all vendors.
2021-07-20 14:02:11 -03:00
Chloe Marcec
75e9d3b992
uuid: Directly compare UUID instead of checking per element
...
We can now update this for C++20
2021-07-21 02:36:57 +10:00
Fernando S
9a26d96c98
vk_buffer_cache: Fix quad index array with 0 vertices ( #6627 )
2021-07-20 05:05:28 -03:00
Nicolas Jallamion
6573ff64b4
input/sdl_impl: fix rumble support on DualSense. ( #6683 )
...
- value return can be different 0, is not error is normal, error is only -1.
2021-07-20 04:00:07 -04:00
Morph
9b7e57f3f4
applet_controller: Add preliminary support for version 8
...
Version 8 adds support for key remapping introduced in FW 11.0, we will not be implementing this for now.
2021-07-20 01:45:19 -04:00
Morph
747a33a41e
bootmanager: Create a dummy render widget
...
This ensures that Qt positions the render window at the correct position on initializing the respective render backends.
2021-07-20 01:40:18 -04:00
Feng Chen
07073734ed
file_sys: Support load game collection ( #6582 )
...
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-07-20 01:10:05 -04:00
Rodrigo Locatti
16f983d33a
Merge pull request #6580 from ReinUsesLisp/xfb-radv
...
vk_buffer_cache: Use emulated null buffers for transform feedback
2021-07-19 23:01:19 -03:00
bunnei
ffc78ce9c1
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
...
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
bunnei
f85bbf3a8f
Merge pull request #6651 from lat9nq/update-settings
...
yuzu-cmd: Update settings
2021-07-19 12:46:40 -04:00
Fernando S
b405a81a9c
Merge pull request #6679 from yzct12345/fix-lets-go
...
Fix Pokemon Let's Go on Vulkan
2021-07-19 03:29:54 +02:00
Fernando S
053860d9cb
Merge pull request #6670 from ReinUsesLisp/prepare-rt
...
texture_cache: Always prepare image views on render targets
2021-07-19 03:21:25 +02:00
Fernando S
41f4edd256
Merge pull request #6669 from ReinUsesLisp/fix-samples-sizes
...
texture_cache/util: Fix size calculations of multisampled images
2021-07-19 03:21:03 +02:00
yzct12345
03a7131563
Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
...
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2021-07-18 22:23:32 +00:00
yzct12345
b727b6784f
Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
...
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2021-07-18 22:23:12 +00:00
yzct12345
9e7f41cec6
Ignore wrong blit format
2021-07-18 21:56:06 +00:00
ReinUsesLisp
29c39838fe
vk_texture_cache: Finalize renderpass when downloading images
2021-07-18 18:00:30 -03:00
ReinUsesLisp
7850dd0a76
vk_compute_pass: Fix pipeline barriers on non-initialized ASTC images
2021-07-18 18:00:14 -03:00
ReinUsesLisp
a3ce26ae01
vk_compute_pass: Fix ASTC buffer setup synchronization
2021-07-18 17:59:31 -03:00
ReinUsesLisp
6d9f347e22
texture_cache/util: Fix size calculations of multisampled images
...
On the texture cache we handle multisampled images by keeping their real
size in samples (e.g. 1920x1080 with 4 samples is 3840x2160).
This works nicely with size matches and other comparisons, but the
calculation for guest sizes was not having this in mind, and the size
was being multiplied (again) by the number of samples per dimension.
For example a 3840x2160 texture cache image had its width and height
multiplied by 2, resulting in a much larger texture.
Fix this issue.
- Fixes performance regression on cooking related titles when an
unrelated bug was fixed.
2021-07-18 01:15:48 -03:00
ReinUsesLisp
cb08e5bdd2
texture_cache: Always prepare image views on render targets
...
Images used as render targets were not being "prepared", causing
desynchronizations on the texture cache. Needs #6669 to avoid
performance regressions on certain cooking titles.
- Fixes black shadows on Age of Calamity.
2021-07-18 00:49:32 -03:00
Ameer J
c42c3561b8
Merge pull request #6659 from german77/mouse_panning
...
input_common: Fix mouse panning behaivour
2021-07-17 16:32:43 -04:00
german77
2c339a5114
configure/ui: Add sliders for trigger buttons
2021-07-17 13:30:43 -05:00
german77
14d5202da6
input_common: Fix mouse panning behaivour
2021-07-16 18:57:29 -05:00
lat9nq
f785933125
sdl_impl, emu_window: Remove clang ignore
...
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
2021-07-16 15:43:12 -04:00
lat9nq
0e6ba0cd0d
emu_window_sdl2_vk: Specify the window manager if it should be supported
...
The original language "not implemented" is wrong if the implementation
exists but is not compiled. This causes a bit of a debugging headache
when it goes wrong. Log it if the window manager is known before
exiting.
2021-07-16 15:43:12 -04:00
lat9nq
d3748cad73
emu_window_sdl2_vk: Use the generated SDL config
...
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.
This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16 15:43:02 -04:00
Morph
b804f77fa5
configure_audio: Fix volume clamping to 0
2021-07-16 10:36:08 -04:00
lat9nq
15ed73a6eb
yuzu_cmd: Add missing or update current settings
...
Many settings in common/settings.h are missing from yuzu-cmd, either
they were added to default_ini.h but not read in, or vice versa, or the
setting was altogether omitted from yuzu-cmd. Some defaults were
reported wrong, so those were fixed where noticed.
2021-07-16 02:46:14 -04:00
german77
240019feca
input_common: Make button threshold customizable
2021-07-15 23:56:57 -05:00
lat9nq
7dfd2715b7
default_ini: Remove deprecated settings
...
These settings are not being read in config.cpp AND they do not exist in
common/settings.h. Remove their references.
2021-07-15 23:27:42 -04:00
bunnei
3cd3230295
Merge pull request #6579 from ameerj/float-settings
...
settings: Eliminate usage of float-point setting values
2021-07-15 18:03:11 -04:00
german77
c7478642a6
input_common: Support SDL toggle buttons
2021-07-15 14:31:58 -05:00
Fernando S
96703b82bc
Merge pull request #6635 from ameerj/intel-vk-sm3dw
...
vk_rasterizer: Only clear valid color attachments
2021-07-15 16:52:51 +02:00
Fernando S
da4ca4f2f9
Merge pull request #6525 from ameerj/nvdec-fixes
...
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
2021-07-15 15:17:50 +02:00
ameerj
b7fa264749
vic: Fix dimension compuation of YUV frames
...
Fixes out of bound memory crashes in Mario Golf
2021-07-15 00:51:50 -04:00
Morph
0d88a2bc05
applets/web: Resolve Nintendo CDN URLs
...
This fixes the hint videos in New Super Mario Bros. U Deluxe
2021-07-15 00:31:46 -04:00
ameerj
8943f2158d
nvhost_nvdec_common: Read Submit ioctl data from object addr
...
Fixes Mario Golf intro video decoding.
2021-07-14 23:56:24 -04:00
ameerj
3f601ed8bc
nvhost_nvdec_common: Fix {Slice/Write}Vectors return
...
Plus some minor cleanup for consistency.
2021-07-14 22:30:58 -04:00
Fernando Sahmkow
1ae4b684ff
Buffer cache: Fixes, Clang and Feedback.
2021-07-15 02:02:08 +02:00
Fernando Sahmkow
1a95a7cdd9
GPUMemoryManager: Force inmediate invalidation when writting block.
2021-07-14 18:39:31 +02:00
Fernando Sahmkow
a0eb3f8a3e
Buffer Cache: Fixes to DMA Copy.
2021-07-14 18:25:33 +02:00
Fernando Sahmkow
495b8e31b5
DMAEngine: Revert flushing from Pitch to BlpockLinear.
2021-07-14 16:44:53 +02:00
Fernando Sahmkow
8039be8b19
BufferCache: fix clearing on forced download.
2021-07-14 16:44:15 +02:00
Morph
c6d7da88c7
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
79824d7d1b
applets: Append applet_ prefix to backend applets
2021-07-14 01:07:09 -04:00
Morph
9a48f252ae
applets: Append qt_ prefix to Qt frontend applets
2021-07-14 01:07:09 -04:00
Ameer J
f2599534f8
Merge pull request #6599 from german77/disable_rumble
...
npad: Disable vibration check if disabled
2021-07-13 16:11:59 -04:00
ameerj
e0978931e8
vk_rasterizer: Only clear valid color attachments
2021-07-13 16:04:27 -04:00
bunnei
00ce8eff65
Merge pull request #6574 from lioncash/i18n
...
qt/main: Make title string more i18n-friendly
2021-07-12 22:12:09 -07:00
bunnei
af79911017
Merge pull request #6593 from german77/no_sdl
...
input_common: Fix build with SDL disabled
2021-07-12 22:11:39 -07:00
bunnei
b8becb0608
Merge pull request #6615 from ReinUsesLisp/httplib-debug-warnings
...
boxcat,web_service: Silence -Wmaybe-uninitialized when including httplib.h
2021-07-12 22:11:19 -07:00
bunnei
81b2ba1479
Merge pull request #6618 from ReinUsesLisp/bad-ranges
...
content_archive: Remove unnecessary include to <ranges>
2021-07-12 22:10:50 -07:00
bunnei
7d464f73c9
Merge pull request #6571 from Kelebek1/Mix
...
audio_core: Replace NaN mix volume samples with silence
2021-07-12 22:09:05 -07:00
Fernando Sahmkow
b780d5b5c5
DMAEngine: Accelerate BufferClear
2021-07-13 03:49:47 +02:00
Ameer J
776f391ff6
Merge pull request #6597 from FernandoS27/accelerate-dma
...
DMAEngine: Introduce Accelerate DMA.
2021-07-12 12:49:11 -04:00
Fernando Sahmkow
bc19d28963
accelerateDMA: Fixes and feedback.
2021-07-12 10:33:35 +02:00
ReinUsesLisp
1ef64112b3
content_archive: Remove unnecessary include to <ranges>
...
Fixes build issues on clang.
2021-07-12 03:37:56 -03:00
ReinUsesLisp
4503a4ac43
web_service: Silence -Wmaybe-uninitialized on httplib.h
2021-07-12 03:30:45 -03:00
ReinUsesLisp
69214ef678
boxcat: Silence -Wmaybe-uninitialized in httplib.h
2021-07-12 03:30:45 -03:00
Morph
1bfe950acb
Merge pull request #6576 from ameerj/unlock-fps-setting
...
settings: Disable FPS unlimit setting between title launches
2021-07-11 13:59:06 -04:00
german77
ed5f1a45b7
npad: Disable vibration check if disabled
2021-07-10 20:06:07 -05:00
german77
289f59dabd
input_common: Fix build with sdl disabled
2021-07-10 20:02:02 -05:00
Fernando Sahmkow
be1a3f7a0f
accelerateDMA: Accelerate Buffer Copies.
2021-07-11 01:33:17 +02:00
Fernando Sahmkow
977904dd84
Buffer Cache: Address Feedback.
2021-07-10 21:34:55 +02:00
ameerj
58219d1f36
settings: Disable FPS unlimit setting between title launches
...
Some titles crash if the FPS limit is disabled when launching. This change ensures that titles launch with the limit in-place to avoid issues.
In order to simplify the change, the UI toggle was removed as it will always be overridden at launch to be disabled.
The setting can still be toggled during gameplay with the hotkey, and indicated by the fps label in the status bar.
2021-07-10 15:11:17 -04:00
Fernando Sahmkow
5e78ad4378
Buffer Cache: Fix GCC copmpile error
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
4a09517336
Fence Manager: remove reference fencing.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
2c8f4ed27f
BufferCache: Additional download fixes.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
f75544a943
Buffer Cache: Revert unnecessary range reduction.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
cf38faee9b
Fence Manager: Force ordering on WFI.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
73638ca593
Buffer Cache: Eliminate the AC Hack as the base game is fixed in Hades.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
63915bf2de
Fence Manager: Add fences on Reference Count.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
35327dbde3
Videocore: Address Feedback & CLANG Format.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
0e4d4b4beb
Buffer Cache: Fix High Downloads and don't predownload on Extreme.
2021-07-09 22:20:36 +02:00
Fernando S
7dca756f30
Merge pull request #6573 from lat9nq/cpu-settings-cleanup-2
...
core,common,yuzu qt: Add CPU accuracy option 'Auto'
2021-07-09 21:45:45 +02:00
lat9nq
420987c5bf
yuzu qt: config: Only save renderer_debug as a global setting
...
This is a bug fix. Enabling graphics debug mode, then saving a custom
configuration causes graphics debugging to be saved and read from the
custom configuration.
Isolate it the same way we isolate the CPU settings.
2021-07-09 10:49:56 -04:00
Fernando S
598d154f69
Update src/yuzu/main.cpp
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-07-09 12:28:51 +02:00
ReinUsesLisp
5a45d295da
vk_buffer_cache: Use emulated null buffers for transform feedback
...
Vulkan does not support null buffers on transform feedback bindings.
Emulate these using the same null buffer we were using for index
buffers.
2021-07-09 01:27:47 -03:00
ameerj
0ed1077763
configure_input: Use u8 for mouse sensitivity
2021-07-08 23:24:31 -04:00
ameerj
f9139ddab7
config: Remove float {Read,Write}Setting variants
2021-07-08 22:04:24 -04:00
ameerj
8284658bac
configure_graphics: Use u8 for bg_color values
2021-07-08 21:45:01 -04:00
ameerj
386cd45f07
configure_audio: Use u8 for volume value
2021-07-08 20:58:38 -04:00
Fernando Sahmkow
fd09be5496
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy Toggle.
2021-07-09 02:08:08 +02:00
ReinUsesLisp
0ddbbb64e5
common/thread_worker: Stop workers on stop_token when waiting
2021-07-08 19:03:26 -03:00
ReinUsesLisp
da34d37044
common/thread_worker: Add support for stateful threads
2021-07-08 19:03:26 -03:00
FernandoS27
c147e9a90e
common/thread_worker: Simplify logic
2021-07-08 19:03:26 -03:00
FernandoS27
a10e112e64
common/thread_worker: Fix data race
2021-07-08 19:03:26 -03:00
ReinUsesLisp
bf5b5c1bf4
common/thread_worker: Use unique function
2021-07-08 19:03:26 -03:00
ReinUsesLisp
2c8d337418
common: Add unique function
2021-07-08 19:03:19 -03:00
ReinUsesLisp
f28dd32275
common/thread_worker: Add wait for requests method
2021-07-08 19:00:39 -03:00
lat9nq
dc06e11a7b
settings, arm_dynarmic, yuzu qt: Move CPU debugging option
...
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
2021-07-08 16:56:44 -04:00
lat9nq
eebf39b3c0
arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting
2021-07-08 15:14:45 -04:00
Lioncash
5c541b0b42
qt/main: Make title string more i18n-friendly
...
Currently, whether or not the title is 32-bit or 64-bit was being
appended as a suffix to the title, which is fine for left-to-right
languages, but may not always fly so smoothly with some right-to-left
languages.
We also weren't marking that portion of the string as translatable,
which prevents translators from translating part of the title string.
2021-07-08 15:06:16 -04:00
lat9nq
c8b8674ffc
settings, yuzu qt: Add migration code for CPU accuracy
...
Old CPU Accuracy setting won't translate well into since we're adding
one at the beginning of the list. On first boot with the new setting,
just use the default setting.
2021-07-08 14:56:09 -04:00
lat9nq
87b6e14d7c
arm_dynarmic{32,64}: Fixes from test build
...
Now sets optimizations regardless of the Settings. Drops unsafe fastmem
optimization.
2021-07-08 14:56:09 -04:00
lat9nq
7ab5767157
core,common,yuzu qt: Add CPU accuracy option 'Auto'
...
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
2021-07-08 14:56:09 -04:00
Ameer J
5edc96f4a4
Merge pull request #6539 from lat9nq/default-setting
...
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
lat9nq
a949ee0410
general: Code formatting improvements
...
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-07-08 14:07:10 -04:00
Feng Chen
c7ad195fd3
Out of bound blit ( #6531 )
...
* Fix out of bound blit error
* Fix code read
* Fix ci error
Co-authored-by: Feng Chen <chen.feng@gloritysolutions.com>
2021-07-08 11:06:09 -07:00
Kelebek1
7905eb0254
Replace NaN mix volume samples with silence.
...
Fixes Xenoblade Chronicles 2 blowing out the audio.
2021-07-08 17:42:15 +01:00
Morph
92a3daf029
Merge pull request #6564 from Kelebek1/Audio
...
Support more PCM formats
2021-07-08 12:14:58 -04:00
Morph
91a4a924b1
Merge pull request #6569 from Kelebek1/Vol
...
audio_core: Preserve front channel volume after 6 to 2 downmix
2021-07-08 12:09:21 -04:00
Kelebek1
7636fefb71
audio_core: Preserve front channel volume after 6 to 2 downmix
...
Many games report 6 channel output while only providing data for 2. We only output 2-channel audio regardless, and in the downmixing, front left/right only provide 36% of their volume. This is done assuming all of the other channels also contain valid data, but in many games they don't. This PR alters the downmixing to preserve front left/right, so volume is not lost.
This improves volume in Link's Awakening, New Super Mario Bros U, Disgaea 6, Super Kirby Clash.
2021-07-08 17:07:23 +01:00
bunnei
8542f2f3fc
Merge pull request #6567 from Kelebek1/Audio2
...
[audren] Report 2 channels active rather than 1
2021-07-07 14:52:08 -07:00
lat9nq
2f0e1f5d02
util_shaders: Fix BindImageTexture
...
According to
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3820#note_753371 we
need to set these to true for use with 3D textures.
Fixes BOTW teleporting on RadeonSI and iris.
2021-07-07 14:09:55 -04:00
bunnei
2eb018c80f
Merge pull request #6562 from Morph1984/flush-behavior
...
common: fs: More misc. changes
2021-07-07 00:40:31 -07:00
bunnei
eb3cb3af35
Merge pull request #6497 from FernandoS27/scotty-doesnt-know
...
GPU Memory Manager - Correct handling of non continuous backing memory.
2021-07-06 17:26:21 -07:00
Kelebek1
b9f915e07a
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Kelebek1
dbcc093d88
Support more PCM formats. Fixes Ys IX audio.
2021-07-06 18:43:23 +01:00
Morph
ebb82b0b83
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
...
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
Morph
a59ae5e702
common: logging: backend: Close the file after exceeding the write limit
...
There's no point in keeping the file open after the write limit is exceeded. This allows the file to be committed to the disk shortly after it is closed and avoids redundantly checking whether or not the write limit is exceeded.
2021-07-06 05:59:47 -04:00
Morph
14ab50defb
common: fs: file: Revert Flush to its previous behavior and add Commit
...
It became apparent that logging can continuously spam errors that trigger file flushing.
Since committing the files to disk is an expensive operation, this causes unnecessarily high disk usage.
As such, we will revert Flush() to the previous behavior and add a Commit() member function in the event that this behavior is needed.
2021-07-06 05:59:47 -04:00
Morph
d299d5531f
common: fs: file: Flush the file in GetSize
...
This ensures that GetSize always retrieves the correct file size after a write operation.
2021-07-06 05:59:47 -04:00
bunnei
bf50345d4c
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
bunnei
3d03a6ae02
Merge pull request #6556 from Morph1984/default-mii
...
service: mii: Retrieve the correct default miis.
2021-07-05 13:51:00 -07:00
Ameer J
c770fa9823
Merge pull request #6540 from Kelebek1/nvdec
...
Slightly refactor NVDEC and codecs for readability and safety
2021-07-05 16:06:09 -04:00
Morph
942c0d6cdd
Merge pull request #6561 from german77/analog_fix
...
input_common: Add missing modifier callback to analog from button
2021-07-05 12:47:42 -04:00
german77
c19ec2edd9
input_common: Add missing modifier callback to analog from button
2021-07-05 11:39:42 -05:00
german77
b188d7792a
profiler: Fix deprecated functions
2021-07-05 10:15:35 -05:00
Mai M
669cef2da3
Merge pull request #6552 from Morph1984/c4189-msvc
...
CMakeLists: Enforce C4189 on MSVC
2021-07-04 22:16:28 -04:00
Fernando Sahmkow
c6a9e91784
Texture Cache: Fix collision with multiple overlaps of the same sparse texture.
2021-07-04 22:32:36 +02:00
Fernando Sahmkow
a8a0927d42
Texture Cache: Fix GCC & Clang.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
8f9f142956
Texture Cache: Address feedback.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
fd98fcf7f0
Texture Cache: Improve accuracy of sparse texture detection.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
38165fb7e3
Texture Cache: Initial Implementation of Sparse Textures.
2021-07-04 22:32:03 +02:00
Morph
5dfa313d2c
service: mii: Retrieve the correct default miis.
...
We were including the first 2 default miis which are not meant to be shown in games. With this change, we properly retrieve the 6 default miis shown in games, with 3 of each gender.
2021-07-04 05:38:34 -04:00
Fernando Sahmkow
0aab55d26a
TextureCacheOGL: Implement Image Copies for 1D and 1D Array.
2021-07-03 14:40:29 +02:00
Fernando Sahmkow
ebaa7e391c
TextureCache: Fix 1D to 2D overlapps.
2021-07-03 14:01:54 +02:00
Morph
3a3f4983b6
CMakeLists: Enforce C4189
...
This supplements C4101 by detecting initialized but unreferenced local variables
2021-07-03 05:51:31 -04:00
bunnei
2fc0a760f0
Merge pull request #6498 from Kelebek1/Audio
...
[audio_core] Decouple audio update and processing, and process at variable rate
2021-07-03 00:24:33 -07:00
lat9nq
38f658d21e
config: Read UISettings as basic settings
...
I must have been asleep or something. These need to be read with the new
ReadBasicSetting function.
2021-07-02 01:06:30 -04:00
lat9nq
cf1cd3321d
settings: Set resolution_factor default to 1
...
Fixes Disgaea 6 Demo issues.
2021-07-01 12:06:12 -04:00
Kelebek1
208a04dcff
Slightly refactor NVDEC and codecs for readability and safety
2021-07-01 06:22:05 +01:00
Kelebek1
b455043e45
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
Ameer J
bab400daaf
Merge pull request #6459 from lat9nq/ubuntu-fixes
...
cmake: Improve Linux dependency checking for externals
2021-06-30 21:47:57 -04:00
lat9nq
299c5594e6
yuzu_cmd: config: Pass a reference in
...
Also adds documentation for the ReadSetting function.
Address review comments.
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-06-30 20:16:01 -04:00
Morph
39be4c3026
Merge pull request #6471 from lat9nq/dump-as-mod
...
yuzu qt, core: Support LayeredFS mods from SDMC directory
2021-06-29 00:10:31 -04:00
lat9nq
0e5c74bc9e
core, input_common: Miscellaneous fixes
...
bcat: Fix settings access
telemetry_session: Fix settings accesses
So this is what I get for testing with the web service disabled.
touch_from_button: Fix settings access for clang
2021-06-28 20:56:17 -04:00
lat9nq
7a8de138df
yuzu qt: Make most UISettings a BasicSetting
...
For simple primitive settings, moves their defaults and labels to
definition time.
Also fixes typo and clang-format
yuzu qt: config: Fix rng_seed
2021-06-28 19:13:53 -04:00
lat9nq
b91b76df4f
general: Make most settings a BasicSetting
...
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
ec68cba440
Merge pull request #6502 from ameerj/vendor-title
...
main: Add GPU Vendor name to running title bar
2021-06-28 14:51:49 -04:00
Morph
248a146ab7
CMakeLists: Disable all warnings for external headers
...
This lets us avoid needing to wrap external headers with #pragma warning directives for warnings we treat as errors and avoids generating warnings for external code.
Thanks to MerryMage for pointing this out.
2021-06-28 14:24:28 -04:00
Morph
22d7b89c15
video_core: Remove #pragma warning directives for external headers
2021-06-28 14:21:40 -04:00
Morph
954259312e
input_common: Remove #pragma warning directives for external headers
2021-06-28 14:20:25 -04:00
Morph
0eae00e263
CMakeLists: Enforce C4018, C4267, C4305, C4389
2021-06-28 14:20:25 -04:00
Morph
e828c5a559
core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
58550cfcdc
input_common: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
a47704f4dd
video_core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
511ee03a21
patch_manager: Do not apply LayeredFS mods when dumping
...
We should not apply any mods when dumping a game's RomFS.
2021-06-28 10:14:36 -04:00
Morph
6ac978426c
filesystem: Open a read-only directory for SDMC mods
...
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28 10:08:08 -04:00
lat9nq
844e0114b0
core: Simplify SDMC mod loading
...
If someone else wants to support other mod formats in the SDMC
directory, that can be added later. For now, just allow RomFS modding
here and force people to do other types of mods the old way.
Addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-06-28 10:08:08 -04:00
lat9nq
1664c74a6c
core: Support LayeredFS mod from SDMC directory
...
Enables loading a mod directly from `[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]`. For use with some
homebrew mod managers.
2021-06-28 10:08:07 -04:00
lat9nq
bfecd395d4
yuzu qt: Add option to dump to SDMC directory
...
Enables dumping the RomFS to SDMC directory, specifically '[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]/romfs'.
2021-06-28 10:08:07 -04:00
Morph
d3d6613d33
video_core: Silence signed/unsigned mismatch warnings
2021-06-28 09:21:42 -04:00
ameerj
4cee25281f
main: Display the instruction set of the running title in the window name
...
Displays whether the currently running title uses 64-bit instructions or only 32-bit instructions.
2021-06-28 00:37:24 -04:00
Kelebek1
0857d6a3db
Decouple audio processing and run at variable rate
...
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping.
This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-27 15:58:07 +01:00
Morph
4df04ad48a
Merge pull request #6529 from ReinUsesLisp/reaper-fixups
...
buffer_cache,texture_cache: Misc fixups from the memory reaper
2021-06-27 09:33:58 -04:00
bunnei
432fab7c4f
Merge pull request #6526 from bunnei/doom-update
...
services: Misc. minor changes for latest SDK update.
2021-06-26 01:21:55 -07:00
bunnei
36d581ec73
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
lat9nq
35b17fa5e0
configuration: Defer to common/settings for per-game settings defaults
...
Avoids double-setting defaults, and avoids potential accidents when
inconsistently setting the default on new settings.
2021-06-26 02:45:14 -04:00
lat9nq
20e51402b0
common: Force defaults for Settings::Setting's
...
Requires a default value when creating each per-game setting.
2021-06-26 02:43:38 -04:00
ReinUsesLisp
9476309d53
buffer_cache: Only flush downloaded size
...
Fixes a regression unintentionally introduced by the garbage collector.
This makes regular memory downloads only flush the requested sizes.
This negatively affected Koei Tecmo games.
2021-06-26 03:29:34 -03:00
ReinUsesLisp
03abe8bf85
video_core: Enforce C4244
...
Enforce implicit integer casts to a smaller type as errors.
2021-06-26 03:29:34 -03:00
ReinUsesLisp
05bd50a1cf
codec,vic: Disable warnings in ffmpeg headers
2021-06-26 03:29:31 -03:00
ReinUsesLisp
3ab5bf6454
vk_buffer_cache: Silence implicit cast warnings
2021-06-26 02:17:36 -03:00
ReinUsesLisp
b4894faeae
buffer_cache/texture_cache: Make GC functions private
2021-06-26 02:17:36 -03:00
ReinUsesLisp
e79d02bf38
buffer_cache: Silence implicit cast warning
2021-06-26 02:17:36 -03:00
ReinUsesLisp
99b859db55
vulkan_device: Make device memory match the rest of the file
...
Match the style in the file.
2021-06-25 02:38:58 -03:00
bunnei
c805c0b395
Merge pull request #6496 from ameerj/astc-fixes
...
astc: Various robustness enhancements for the gpu decoder
2021-06-24 21:47:05 -07:00
bunnei
b9c2732121
Merge pull request #6519 from Wunkolo/mem-size-literal
...
common: Replace common_sizes into user-literals
2021-06-24 19:09:12 -07:00
bunnei
982be246ab
hle: hle_helpers: Skip data payload offset checks on TIPC requests.
...
- TIPC does not use this.
2021-06-24 18:39:43 -07:00
bunnei
3565e32f4d
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:25:37 -07:00
bunnei
d1ba4a2db2
hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:22:53 -07:00
bunnei
50d0cc2716
audio_core: common: Bump audio revision to 9.
...
- This is used in fw 12.x.x games.
2021-06-24 18:22:10 -07:00
Wunkolo
4569f39c7c
common: Replace common_sizes into user-literals
...
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
2021-06-24 09:27:40 -07:00
bunnei
4dc2f5a341
Merge pull request #6522 from Morph1984/pragma
...
general: Add missing #pragma once directives
2021-06-24 08:53:27 -07:00
Morph
eed0d1f33b
general: Add missing #pragma once directives
2021-06-24 07:20:57 -04:00
Chloe
f216a9432b
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
bunnei
1b09d6628b
Merge pull request #6517 from lioncash/fmtlib
...
externals: Update fmt to 8.0.0
2021-06-23 15:31:04 -07:00
bunnei
809e5fd523
Merge pull request #6504 from Kelebek1/samples-played
...
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23 11:31:12 -07:00
Lioncash
d0b1f2bd05
General: Resolve fmt specifiers to adhere to 8.0.0 API where applicable
...
Also removes some deprecated API usages.
2021-06-23 13:48:21 -04:00
bunnei
d8d9bb0dfb
Merge pull request #6518 from lioncash/func
...
maxwell3d: Add missing return in default SizeInBytes() case
2021-06-23 09:43:00 -07:00
Lioncash
be6844c1ed
maxwell3d: Add missing return in default SizeInBytes() case
...
We were returning '1' in ComponentCount()'s default case but were
neglecting to do the same with SizeInBytes().
2021-06-23 11:50:40 -04:00
Mai M
17fff10e06
Merge pull request #6465 from FernandoS27/sex-on-the-beach
...
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-23 08:03:01 -04:00
Mai M
20f474b09a
Merge pull request #6508 from ReinUsesLisp/bootmanager-stop-token
...
bootmanager: Use std::stop_source for stopping emulation
2021-06-23 02:35:42 -04:00
Morph
c1a9fa9db7
Merge pull request #6514 from OZtistic/master
...
Simple resizing of Per-Game configuration window and removal of useless Help question mark button in the title bar
2021-06-22 23:19:13 -04:00
Mai M
d6b51e5e21
Merge pull request #6512 from ReinUsesLisp/wait-detached-stasks
...
common/detached_tasks: Wait for tasks before shutting down
2021-06-22 22:20:14 -04:00
Mai M
95b4c78b07
Merge pull request #6509 from ReinUsesLisp/mouse-datarace
...
input_common/mouse_input: Fix data race
2021-06-22 22:19:34 -04:00
Mai M
4ec7d79174
Merge pull request #6510 from ReinUsesLisp/npad-data-race
...
npad: Fix data race when updating devices
2021-06-22 22:17:57 -04:00
OZtistic
36aacf62ad
Simple resizing of the Per-Game configuration window and removal of useless Help question mark button in the title bar
2021-06-23 12:02:10 +10:00
bunnei
0308a2679e
Merge pull request #6493 from Morph1984/fs-nodiscard
...
common: fs: Miscellaneous changes
2021-06-22 17:21:59 -07:00
bunnei
255f8d22d7
Merge pull request #6472 from Morph1984/spl
...
service: spl: Implement general SPL service
2021-06-22 15:43:10 -07:00
bunnei
791d3d1bea
Merge pull request #6483 from Morph1984/get-tz-file
...
service: time: Use GetFileRelative to get files within subdirectories
2021-06-22 14:25:41 -07:00
Fernando Sahmkow
f9b940a442
Reaper: Set minimum cleaning limit on OGL.
2021-06-22 22:07:17 +02:00
Morph
2fa207058b
common: fs: Add a description of a regular file in IsFile
...
This provides a more concrete example of what a regular file is and isn't.
2021-06-22 15:07:51 -04:00
Morph
0394893354
vfs_real: Fix Mode to FileAccessMode conversion
...
These enforce requiring the file to exist prior to opening.
2021-06-22 15:07:51 -04:00
Morph
76b2313b25
common: fs: Amend IsFile check in FileOpen / (Write/Append)StringToFile
...
This check was preventing files with the Write or Append file access modes from being created, as per the documented behavior in FileAccessMode.
This amends the check to test for the existence of a filesystem object prior to checking whether it is a regular file.
Thanks to liushuyu for pointing out that removing the check altogether would not guard against attempting to open non-regular files such as directories, symlinks, FIFO (pipes), sockets, block devices, or character devices.
The documentation has also been updated for these functions to clarify that a file refers to a regular file.
2021-06-22 15:06:58 -04:00
Morph
cf0b9d1de2
common: fs: file: Remove [[nodiscard]] attribute from Flush
...
Similarly, Flush() is typically called to attempt to flush a file into the disk. In the one case where this is used, we do not care whether the flush has succeeded or not, making [[nodiscard]] unnecessary.
2021-06-22 13:36:24 -04:00
Morph
81b1b71993
common: fs: Remove [[nodiscard]] attribute on Remove* functions
...
There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal.
As such, removing the [[nodiscard]] attribute is best for these functions.
2021-06-22 13:36:24 -04:00
bunnei
faf57c183f
Merge pull request #6506 from ReinUsesLisp/master-semaphore-jthread
...
vk_master_semaphore: Use jthread for debug thread
2021-06-22 08:44:25 -07:00
Mai M
698add8541
Merge pull request #6511 from ReinUsesLisp/core-is-powered-data-race
...
core: Make is_powered_on atomic
2021-06-22 04:28:38 -04:00
Rodrigo Locatti
c9c8537643
core: Make is_powered_on atomic
...
Fixes potential data races when shutting down.
2021-06-22 04:33:07 -03:00
Rodrigo Locatti
1ca9a13e50
common/detached_tasks: Wait for tasks before shutting down
...
If this is not waited on, the synchronization primitives are destroyed
whe main exits and the detached task ends up signalling garbage and not
properly finishing.
2021-06-22 04:27:44 -03:00
Rodrigo Locatti
15cc561d12
npad: Fix data race when updating devices
...
Add a lock to avoid data races.
This reduces the number of -fsanitize=thread errors significantly.
2021-06-22 03:16:21 -03:00
Rodrigo Locatti
0a39163a90
input_common/mouse_input: Fix data race
...
Fix data race using std::jthread and std::stop_token.
2021-06-22 02:31:39 -03:00
bunnei
2a7a65c944
Merge pull request #6481 from Morph1984/missing-peak-set
...
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-21 22:16:48 -07:00
Kelebek1
ba3af04da1
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
ReinUsesLisp
4009ae1da2
bootmanager: Use std::stop_source for stopping emulation
...
Use its std::stop_token to abort shader cache loading.
Using std::stop_token instead of std::atomic_bool allows the usage of
other utilities like std::stop_callback.
2021-06-22 00:04:57 -03:00
ReinUsesLisp
cf116a28a6
vk_master_semaphore: Use jthread for debug thread
2021-06-21 19:56:07 -03:00
bunnei
0485b8e84b
Merge pull request #6499 from FernandoS27/we-were-on-a-break
...
Update dynarmic and add new unsafe CPU option.
2021-06-21 14:56:08 -07:00
bunnei
2a3d3d3895
Merge pull request #6475 from ameerj/unlimit-fps
...
nvflinger: Add experimental toggle to disable buffer swap interval limits
2021-06-21 11:58:12 -07:00
Mai M
83ac715e76
Merge pull request #6486 from CaptV0rt3x/httplib
...
externals: httplib: replace custom httplib header with upstream as submodule
2021-06-21 11:56:33 -04:00
lat9nq
a01459df3d
gl_device: Expand on Mesa driver names
...
Makes this list a bit more capable at identifying Mesa drivers. Tries to
deal with two of the overloaded vendor strings in a more generic
fashion.
2021-06-20 23:04:07 -04:00
ameerj
fb16cbb17e
video_core: Add GPU vendor name to window title bar
2021-06-20 23:04:07 -04:00
Fernando Sahmkow
2298508465
Update dynarmic and add new unsafe CPU option.
2021-06-20 20:40:02 +02:00
Fernando Sahmkow
569a1962c0
Reaper: Guarantee correct deletion.
2021-06-20 19:11:41 +02:00
Fernando Sahmkow
865dd615ca
Reaper: Upgrade label from unsafe to experimental as no regressions are known now.
2021-06-20 12:35:19 +02:00
ameerj
851c76233d
util_shaders: Specify ASTC decoder memory barrier bits
2021-06-19 11:16:25 -04:00
ameerj
ace20ba4a4
astc_decoder.comp: Remove unnecessary LUT SSBOs
...
We can move them to instead be compile time constants within the shader.
2021-06-19 10:56:13 -04:00
ameerj
31b125ef57
astc: Various robustness enhancements for the gpu decoder
...
These changes should help in reducing crashes/drivers panics that may
occur due to synchronization issues between the shader completion and
later access of the decoded texture.
2021-06-19 09:00:33 -04:00
lat9nq
9a06b85b24
host_memory: Correct MEM_RESERVE_PLACEHOLDER
...
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
2021-06-19 04:38:33 -04:00
Vortex
e704da9192
externals: httplib: replace custom httplib header with upstream as submodule.
...
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2021-06-19 02:18:58 +05:30
Morph
fd5ef1970c
service: time: Use GetFileRelative to get files within subdirectories
...
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18 11:25:26 -04:00
Morph
1a5eceeb9c
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
0b172d12c0
vulkan_debug_callback: Skip logging known false-positive validation errors
...
Avoids overwhelming the log with validation errors that are not applicable
2021-06-17 22:16:32 -04:00
Fernando Sahmkow
719a6dd5a1
Reaper: Correct size calculation on Vulkan.
2021-06-17 08:48:41 +02:00
ameerj
36250a4730
config: Add frame limiter toggle hotkey
2021-06-17 01:41:57 -04:00
ameerj
3522fc019c
nvflinger: Add toggle to disable buffer swap interval limits
...
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
2021-06-17 01:41:56 -04:00
bunnei
abb0124b84
Merge pull request #6418 from clementgallet/sdl-audio-backend
...
Audio: SDL2 audio backend
2021-06-16 21:38:20 -07:00
Ameer J
c5b517aa5f
Merge pull request #6469 from ReinUsesLisp/blit-view-compat
...
texture_cache/util: Avoid relaxed image views on different bytes per block
2021-06-16 21:08:07 -04:00
Fernando Sahmkow
ca6f47c686
Reaper: Change memory restrictions on TC depending on host memory on VK.
2021-06-17 00:29:48 +02:00
Fernando Sahmkow
0dd98842bf
Reaper: Address Feedback.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
954ad2a61e
Reaper: Setup settings and final tuning.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
d8ad6aa187
Reaper: Tune it up to be an smart GC.
2021-06-16 21:35:02 +02:00
ReinUsesLisp
a11bc4a382
Initial Reaper Setup
...
WIP
2021-06-16 21:35:02 +02:00
ReinUsesLisp
5b1efe522e
vulkan_memory_allocator: Release allocations with no commits
2021-06-16 21:35:01 +02:00
bunnei
973bf306ed
Merge pull request #6464 from ameerj/disable-astc
...
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
92942fe01b
Merge pull request #6460 from Morph1984/fs-access-log-fix
...
fsp_srv: Fix filesystem access logging
2021-06-16 14:03:01 -04:00
Morph
4a4e304319
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
8ba83c4c2a
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
e4318a1914
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
ded36b8688
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
faf11fe46d
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
95f203b7c7
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
74790e4f33
common: fs: file: Remove redundant call to WriteStringToFile
...
The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
2021-06-16 00:06:02 -04:00
Morph
0f48292de1
fsp_srv: Fix filesystem access logging
...
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt
If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.
Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-16 00:06:02 -04:00
bunnei
78651b5476
Merge pull request #6462 from Morph1984/proper-flush
...
common: fs: file: Flush the file to the disk when Flush() is called
2021-06-15 19:03:19 -07:00
ameerj
5fc8393125
astc_decoder: Fix LDR CEM1 endpoint calculation
...
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum.
Huge thanks to wwylele for finding this.
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-15 20:19:01 -04:00
ameerj
f9bfeaa2bc
yuzu_cmd/config: Add Accelerate ASTC and missing NVDEC emulation settings
2021-06-15 20:19:00 -04:00
ameerj
b2955479e5
configure_graphics: Add Accelerate ASTC decoding setting
2021-06-15 20:19:00 -04:00
ameerj
c4ff7ecf51
textures: Reintroduce CPU ASTC decoder
...
Users may want to fall back to the CPU ASTC texture decoder due to hangs
and crashes that may be caused by keeping the GPU under compute heavy
loads for extended periods of time. This is especially the case in games
such as Astral Chain which make extensive use of ASTC textures.
2021-06-15 20:19:00 -04:00
ameerj
422a15ee75
lm: Demote guest logs to LOG_DEBUG
...
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-14 22:23:27 -04:00
ReinUsesLisp
3d89398b84
texture_cache/util: Avoid relaxed image views on different bytes per pixel
...
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-14 21:03:57 -03:00
bunnei
c8f86edee6
Merge pull request #6456 from Morph1984/very-important-changes
...
configure_cpu_debug: Clarify settings behavior
2021-06-14 15:05:44 -07:00
Fernando Sahmkow
8d4dfc98ec
Merge pull request #6448 from Morph1984/recursive-dir-iterator
...
common: fs: Use the normal directory iterator in *Recursively functions
2021-06-14 15:47:04 +02:00
Morph
a4454329c1
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
Morph
391e823c79
common: logging: Restructure backend code
2021-06-13 11:05:58 -04:00
Morph
8150c65c07
common: logging: backend: Wrap IOFile in a unique_ptr
...
Allows us to forward declare Common::FS::IOFile.
2021-06-13 11:05:58 -04:00
Morph
a98b6c8f07
common: fs: file: Flush the file to the disk when Flush() is called
...
std::fflush does not guarantee that file buffers are flushed to the disk.
Use _commit on Windows and fsync on all other OSes to ensure that the file is flushed to the disk.
2021-06-13 07:47:57 -04:00
Morph
56afd4ab4b
Merge pull request #6452 from german77/sixaxis_firmware_stub
...
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
lat9nq
932c0184a7
cmake: Fix find_program usage for 3.15
...
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is
only available on 3.18 and later. Instead, we check for
"<VAR>-NOTFOUND".
In addition, check for additional requirements before building libusb or
FFmpeg with autotools. Otherwise, CMake configuration will pass yet
compilation will fail.
2021-06-13 01:15:54 -04:00
Morph
c11b4c45e1
configure_cpu_debug: Clarify settings behavior
...
This makes it clear that the disabled settings only take effect when CPU Accuracy is set to Debug Mode.
2021-06-13 00:27:33 -04:00
Morph
c978f3144c
common: fs: Use the normal directory iterator in *Recursively functions
...
MSVC's implementation of recursive_directory_iterator throws an exception on an error despite a std::error_code being passed into its constructor. This is most likely a bug in MSVC's implementation since directory_iterator does not throw an exception on an error.
We can replace the usage of recursive_directory_iterator for now until MSVC fixes their implementation of it.
2021-06-12 01:39:07 -04:00
bunnei
58180f9fa8
Merge pull request #6451 from Morph1984/check-disk-space-dump
...
yuzu: main: Ensure enough space is available for RomFS dumping
2021-06-11 13:23:23 -07:00
german77
827483409b
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Mai M
9951322e5a
Merge pull request #6422 from FernandoS27/i-am-the-senate
...
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
Morph
fa2aac1bf5
yuzu: main: Ensure enough space is available for RomFS dumping
...
This warns the user if there isn't enough free space to dump the entire RomFS to disk. It requires at least the size of the extracted RomFS + 1 GiB as a buffer of free space.
2021-06-11 14:04:11 -04:00
bunnei
0c0c1a039e
Merge pull request #6443 from Morph1984/k-light-condition-variable
...
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
Markus Wick
7f85abb281
common/host_memory: Implement a fallback if fastmem fails.
...
This falls back to the old approach of using a virtual buffer.
Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
f332d4a9b5
common/host_shader: Load Windows 10 functions dynamically
...
Workaround old headers and libraries shipped on MinGW.
2021-06-11 17:27:17 +02:00
Fernando Sahmkow
588ab44470
GPUTHread: Remove async reads from Normal Accuracy.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
7b0d8bd1fb
rasterizer: Update pages in batches
2021-06-11 17:27:17 +02:00
ReinUsesLisp
ee67460ff0
host_memory: Support staged VirtualProtect calls
2021-06-11 17:27:17 +02:00
FernandoS27
5ba28325b2
General: Add settings for fastmem and disabling adress space check.
2021-06-11 17:27:17 +02:00
Markus Wick
c4609c92ee
common/host_memory: Optimize for huge tables.
...
In theory, if we have 2 MB continously mapped, this should save one layer of TLB.
Let's make it at least more likely by aligning the memory.
2021-06-11 17:27:06 +02:00
Markus Wick
621f3f5f47
core: Make use of fastmem
2021-06-11 17:27:06 +02:00
ReinUsesLisp
740edacc8d
tests: Add tests for host memory
2021-06-11 17:27:06 +02:00
Markus Wick
5105318bbc
common/host_memory: Add Linux implementation
2021-06-11 17:27:06 +02:00
ReinUsesLisp
a7837a3791
common/host_memory: Add interface and Windows implementation
2021-06-11 17:27:06 +02:00
bunnei
c1b8e59ea0
Merge pull request #6407 from lat9nq/fix-libusb-2
...
cmake: Use autotools for libusb linking generally on GNU, and cleanup
2021-06-10 23:35:30 -07:00
bunnei
46ec0ee55b
Merge pull request #6445 from degasus/fix_ubsn
...
Fix GCC undefined behavior sanitizer.
2021-06-10 22:17:33 -07:00
Morph
ebd38d66db
kernel: Unconditionally set thread state when appropriate
2021-06-11 00:58:04 -04:00
Morph
aa79ca7a7a
kernel: KLightConditionVariable: Update implementation to 12.x
...
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-11 00:58:04 -04:00
Markus Wick
6755025310
Fix GCC undefined behavior sanitizer.
...
* Wrong alignment in u64 LOG_DEBUG -> memcpy.
* Huge shift exponent in stride calculation for linear buffer, unused result -> skipped.
* Large shift in buffer cache if word = 0, skip checking for set bits.
Non of those were critical, so this should not change any behavior.
At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-10 21:07:27 +02:00
bunnei
781c85b951
hle: service: sm: Remove redundant session reservation, etc.
...
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
2021-06-10 11:34:41 -07:00
bunnei
fa8a0065ca
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-10 00:08:09 -07:00
bunnei
b259e95c09
hle: kernel: KClientPort: Add an assert for session count.
...
- Prevents us from over decrementing num_sessions.
2021-06-09 22:36:42 -07:00
bunnei
ec5674a6ad
hle: service: sm: Fix GetService setup of session & port.
2021-06-09 22:29:18 -07:00
bunnei
2aa6a8d889
hle: service: Use correct size for ServerSessionCountMax.
2021-06-09 22:04:36 -07:00
bunnei
b2971b48ed
hle: kernel: KServerSession: Fix client disconnected.
...
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-09 21:37:11 -07:00
bunnei
c63ea608aa
kernel: svc: Add missing error check to CancelSynchronization.
...
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
2021-06-09 15:24:46 -07:00
Mai M
5857067a18
Merge pull request #6436 from liushuyu/master
...
src/common/CMakeLists.txt: fix variable escaping
2021-06-09 15:38:56 -04:00
bunnei
2d32fc2318
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-09 11:59:34 -07:00
bunnei
75a4ac12c6
Merge pull request #6413 from Kewlan/limitable_input_dialog_limit
...
limitable_input_dialog: Implement character limiter
2021-06-09 11:55:36 -07:00
liushuyu
eb9deffab6
src/common/CMakeLists.txt: fix variable escaping
2021-06-09 02:20:55 -06:00
Morph
15483c07c6
Merge pull request #6435 from lioncash/nodisc2
...
common/fs/path_util: Remove [[nodiscard]] from function with void return
2021-06-09 02:44:41 -04:00
bunnei
f9c3e2e872
Merge pull request #6434 from lioncash/tcontext
...
configure_ui: Add translation context for file-scope strings
2021-06-08 19:36:44 -07:00
bunnei
3c621d37f0
Merge pull request #6428 from bunnei/service-thread-crash-fix
...
hle: kernel: Remove service thread manager and use weak_ptr.
2021-06-08 16:43:55 -07:00
Lioncash
dd8577e91d
common/fs/path_util: Remove [[nodiscard]] from function with void return
...
We can't make use of the return value here, since we don't a return
value to work with.
2021-06-08 19:36:09 -04:00
Lioncash
b3eb08254b
configure_ui: Add translation context for file-scope strings
...
Allows for these strings to show up in the translation files.
2021-06-08 19:33:23 -04:00
Mai M
f09c9b5fcc
Merge pull request #6426 from lat9nq/context-menu-start
...
yuzu qt: Start games from context menu
2021-06-08 17:09:25 -04:00
bunnei
b8fb9b3f11
hle: kernel: KServerSession: Work-around scenario where session is closed too early.
2021-06-08 13:39:20 -07:00
bunnei
08d798b6fe
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
2021-06-07 21:55:37 -07:00
bunnei
3b5673daca
Merge pull request #6412 from clementgallet/yuzu-cmd-window-gl
...
yuzu-cmd: Fix OpenGL rendering
2021-06-07 21:12:17 -07:00
bunnei
a493ab2678
hle: kernel: Remove service thread manager and use weak_ptr.
...
- We no longer need to queue up service threads to be destroyed.
- Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
2021-06-07 21:10:51 -07:00
lat9nq
5ac018d1df
yuzu qt: Start games from context menu
...
This connects the BootGame function to the context menu. In addition,
there is an option to boot without using the custom configuration.
2021-06-07 20:27:51 -04:00
bunnei
df91c9f5e6
Merge pull request #6410 from lat9nq/avoid-oob
...
decoders: Avoid out-of-bounds access
2021-06-07 10:51:17 -07:00
Clément Gallet
f611506dca
Various suggestions by v1993 and lioncash
2021-06-07 12:51:59 +02:00
bunnei
28eb8c83d4
Merge pull request #6414 from bunnei/fix-service-threads
...
hle: kernel: Refactor to allocate a ServiceThread per service handler.
2021-06-06 22:52:07 -07:00
bunnei
9db569b2d9
hle: kernel: KServerSession: Use ASSERT_MSG where appropriate.
2021-06-06 22:09:25 -07:00
bunnei
ada4242c01
hle: kernel: k_server_session: Return service thread by strong pointer.
2021-06-06 17:54:06 -07:00
bunnei
93f93cb8bc
hle: kernel: k_server_session: Ensure service thread is valid before dereference.
2021-06-06 17:03:36 -07:00
bunnei
afd0e2eb0b
Merge pull request #6400 from ameerj/disable-uniform-simplify
...
buffer_cache: Simplify uniform disabling logic
2021-06-06 15:42:20 -07:00
bunnei
384cbe3829
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
2021-06-06 15:41:16 -07:00
bunnei
6119836795
hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.
...
- Fixes some crashes introduced by our common intrusive red/black tree impl.
2021-06-06 15:39:11 -07:00
Clément Gallet
df8a2e3ad8
Add sdl2 audio description in the yuzu-cmd config file
2021-06-06 11:29:02 +02:00
Clément Gallet
c7c99905f4
Add SDL2 audio backend
2021-06-06 11:28:38 +02:00
Kewlan
058196a089
limitable_input_dialog: Implement character limiter
...
When using GetText() you can now choose what set of characters the user can't enter.
2021-06-06 09:07:55 +02:00
Clément Gallet
2e1c58b905
Avoid -Wshadow warning
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-06-05 18:43:10 +02:00
Lioncash
25b73e135f
result: Add [[nodiscard]] specifiers where applicable
...
The result code classes are used quite extensively throughout both the
kernel and service HLE code. We can mark these member functions as
[[nodiscard]] to prevent a few logic bugs from slipping through.
2021-06-05 06:09:07 -04:00
bunnei
fefc76e5da
Merge pull request #6362 from lat9nq/reset-to-defaults
...
yuzu qt: Add settings reset button to general configuration
2021-06-04 21:07:39 -07:00
Mai M
07f6646f7f
Merge pull request #6411 from clementgallet/yuzu-cmd-touch-button
...
yuzu-cmd: Add touch_from_button in config file
2021-06-04 23:21:29 -04:00
bunnei
27ce97fd42
hle: kernel: Refactor to allocate a ServiceThread per service handler.
...
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347 .
2021-06-04 19:26:48 -07:00
Clément Gallet
9ff8504452
yuzu-cmd: Fix OpenGL rendering
2021-06-04 11:39:04 +02:00
lat9nq
287a0f72a5
decoders: Break instead of continue
...
continue causes a memory leak in A Hat in Time.
2021-06-04 05:12:14 -04:00
lat9nq
1feefabeba
decoders: Avoid out-of-bounds access
...
This is not a real fix, so assert here and continue before crashing.
2021-06-04 05:03:54 -04:00
bunnei
c8b3d92836
Merge pull request #6392 from german77/controller-widget
...
settings: Disable controller preview if controller is not active
2021-06-04 00:40:04 -07:00
bunnei
1d1f616063
Merge pull request #6389 from german77/Analog_button_fix
...
input_common: Analog button, use time based position
2021-06-03 21:06:38 -07:00
Maide
cb5fe12ee1
[game_list] Correct light theme loading ( #6408 )
...
Correct light theme loading
The setLayout call in game list instantiation will call resizing signals with default values in light theme, which was then being erroneously saved. setLayout doesn't seem to call resizing for any other theme, so I'm not sure why that happens.
2021-06-03 19:07:38 -04:00
Clément Gallet
166f5d1612
yuzu-cmd: Add touch_from_button in config file
2021-06-04 00:58:35 +02:00
lat9nq
ddc47e6df8
cmake: General improvements to libusb linking
...
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
2021-06-03 03:49:35 -04:00
bunnei
e4fed17f59
Merge pull request #6402 from Kelebek1/UI
...
game_list: Stop the columns resizing on NAND install
2021-06-03 00:24:45 -07:00
bunnei
5a6d002bf0
Merge pull request #6404 from lat9nq/revert_views
...
yuzu qt: Revert some usages of string_view
2021-06-02 22:11:35 -07:00
Morph
b840dd9af8
fsp-srv: Replace one last instance of RESULT_SUCCESS
2021-06-02 21:40:14 -04:00
Chloe
c4c256f56a
fspsrv: Implement DisableAutoSaveDataCreation ( #6355 )
...
- Used by Mii Edit
2021-06-02 17:46:29 -07:00
lat9nq
c41451af75
yuzu qt: Revert some usages of string_view
...
Causes a heap-use-after free reported by AddressSanitizer. This makes
use of std::filesystem::path, but due to that we have to use their
string() function which may not work for all characters.
2021-06-02 19:50:20 -04:00
bunnei
4ea171fa5e
Merge pull request #6308 from Morph1984/result
...
general: Replace RESULT_NAME with ResultName
2021-06-02 15:29:09 -07:00
bunnei
d6006e9a3f
Merge pull request #6403 from Kewlan/game-list-for-loop-optimization
...
game_list: Minor for loop optimizations
2021-06-02 15:27:54 -07:00
Kewlan
65d42a428f
game_list: Minor for loop optimizations
...
There's no need to check the first and last rows since they'll always be the Favorites and AddDir rows.
Also change the name of the clear_all variable for consistency.
2021-06-02 16:19:55 +02:00
Kelebek1
04e52ffed0
Stop the columns resizing on NAND install
2021-06-02 06:27:08 +01:00
Morph
a0e4c2e1fc
general: Replace RESULT_UNKNOWN with ResultUnknown
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
377cd301b3
Merge pull request #6395 from lioncash/result-move
...
common_funcs: Move R_ macros to result.h
2021-06-02 00:34:48 -04:00
Morph
dba7bcd489
common: fs: fs_util: Move PathToUTF8String to fs_util
2021-06-02 00:26:26 -04:00
Morph
a1eeb9908d
common: fs: fs_util: Add more string conversion functions
2021-06-02 00:26:26 -04:00
bunnei
91f559a71f
Merge pull request #6361 from lat9nq/per-hb-cfg
...
yuzu qt: Handle per-game configs for title id 0
2021-06-01 17:24:08 -07:00
lat9nq
c17e1bd7a8
yuzu qt: Use lambda and std::function for reset callback
...
Also makes use of std::move, and performs a clang-format cleanup.
This addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-06-01 17:22:06 -04:00
lat9nq
4a3d57e469
yuzu: Add settings reset button to general configuration
...
Builds on german77's work to reset all settings back to their defaults.
This include UISettings and Settings values structs, but does not affect
save profiles, input profiles, and game directories.
This works from a button input in configure_general. When activated, it
calls a callback to close the whole configure dialog, then GMainWindow
deletes the old configuration, both on disk and in memory, and
reinitalizes a new one. It also resets a portion of the UI and calls the
telemetry window prompt.
2021-06-01 17:22:04 -04:00
fearlessTobi
8aeb425669
configuration: Initial work to reset all settings
...
This commit does not compile.
Initial work to add and connect a Reset to Defaults button to the
configure_general tab.
Co-authored-by: german77 <juangerman-13@hotmail.com>
2021-06-01 17:09:33 -04:00
ameerj
859ba21f6d
buffer_cache: Simplify uniform disabling logic
2021-06-01 13:26:58 -04:00
bunnei
348ca07e0d
Merge pull request #6318 from german77/dualJoycon
...
input_common: Add dual joycon support
2021-06-01 00:51:00 -07:00
bunnei
0a6f685ad0
Merge pull request #6367 from ReinUsesLisp/vma-host
...
vulkan_memory_allocator: Allow textures to be allocated in host memory
2021-05-31 23:35:11 -07:00
Lioncash
3aed797466
common_funcs: Move R_ macros to result.h
...
These macros all interact with the result code type, so they should
ideally be within this file as well, so all the common_funcs machinery
doesn't need to be pulled in just to use them.
2021-05-31 16:41:00 -04:00
bunnei
f34176996e
Merge pull request #6385 from degasus/save_memory_access
...
core/memory: Check our memory fallbacks for out-of-bound behavior.
2021-05-30 23:21:39 -07:00
german77
ac48e059bc
settings: Disable controller preview if controller is not active
2021-05-30 10:57:20 -05:00
bunnei
a5ebba7e36
Merge pull request #6377 from lioncash/point
...
common: Extract Point struct into common
2021-05-30 01:35:26 -07:00
bunnei
a6cfc73cb2
Merge pull request #6387 from lioncash/class-token
...
k_class_token: Use variable templates where applicable
2021-05-29 23:55:17 -07:00
bunnei
90c3dd300f
Merge pull request #6386 from bunnei/shutdown-fix
...
video_core: gpu: WaitFence: Do not block threads during shutdown.
2021-05-29 23:52:52 -07:00
german77
a323bc5af8
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
Mai M
2069430baa
Merge pull request #6374 from Morph1984/swkbd-textcheck-encoding
...
applets/swkbd: Only read the text check message on Failure/Confirm
2021-05-29 23:34:40 -04:00
Mai M
fc708b396b
Merge pull request #6364 from german77/stub-lp2p
...
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
Mario Kart Live: Home Circuit needs lp2p:sys lp2p:app INetworkServiceMonitor INetworkService to be able to progress.
Note: The game still fails to boot from unimplemented LDN and BSD services.
2021-05-29 23:33:57 -04:00
bunnei
e41c8b6780
Merge pull request #6379 from degasus/update_dynarmic
...
externals: Update dynarmic.
2021-05-29 03:15:13 -07:00
Lioncash
646622ccd4
k_class_token: Use variable templates where applicable
...
Same behavior, less code.
2021-05-29 05:25:34 -04:00
bunnei
c7c4ef9d43
Merge pull request #6384 from lioncash/virtual
...
kernel: Add missing override specifiers
2021-05-29 02:11:40 -07:00
bunnei
cdabc9064b
Merge pull request #6382 from lioncash/null
...
k_thread: Move dereference after null check in Initialize()
2021-05-29 01:17:28 -07:00
bunnei
8592f8a2b4
video_core: gpu: WaitFence: Do not block threads during shutdown.
...
- Fixes a hang on shutdown when NVFlinger thread is waiting on a syncpoint that will never occur.
- Commonly observed when stopping emulation in Super Mario Odyssey.
2021-05-29 01:06:04 -07:00
Markus Wick
42a7c5d017
core/memory: Check our memory fallbacks for out-of-bound behavior.
...
This makes it by far harder to crash yuzu.
Also implement the 48bit masking of AARCH64 while touching this code.
2021-05-29 09:28:26 +02:00
bunnei
5388e6db84
Merge pull request #6373 from bunnei/use-slabheap-tls
...
hle: kernel: KSlabHeap: Allow host or guest allocations.
2021-05-29 00:17:24 -07:00
Markus Wick
ddb186e61d
core/arm_interface: Improve the performance of memory fallbacks.
...
We just create one memory subsystem. This is a constant all the time.
So there is no need to call the non-inlined parent.Memory() helper on every callback.
2021-05-29 09:02:19 +02:00
Lioncash
7b2917b4e1
kernel: Add missing override specifiers
...
Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.
While we're at it, we can remove redundant virtual keywords where
applicable as well.
2021-05-29 02:58:32 -04:00
Markus Wick
5a8cd1b118
Fix two GCC 11 warnings: Unneeded copies.
...
std::move created an unneeded copy.
iterating without reference also created copies.
2021-05-29 08:57:44 +02:00
Markus Wick
d2d7a5060f
externals: Update dynarmic.
...
The new version supports fastmem on a64.
2021-05-29 08:53:01 +02:00
Lioncash
16ff0161b3
k_thread: Move dereference after null check in Initialize()
...
Prevents a -Wnonnull warning on GCC.
2021-05-29 00:31:38 -04:00
bunnei
420b1f89d3
Merge pull request #6371 from degasus/drop_ExceptionalExit
...
core/arm_interface: Call SVC after end of dynarmic block.
2021-05-28 17:45:05 -07:00
bunnei
ee099b2697
hle: kernel: KSlabHeap: Allow host or guest allocations.
...
- Use host allocations for kernel memory, as this is not properly emulated yet.
- Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
2021-05-28 17:42:41 -07:00
bunnei
945effcc75
Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicy
...
hid: ApplyNpadSystemCommonPolicy
2021-05-28 10:05:20 -07:00
Lioncash
5554de3933
touchscreen: Make use of common point struct
2021-05-28 08:15:22 -04:00
Lioncash
8171ad65cd
common: Extract point into a common struct
...
This is generic enough that it can be moved into the Common class for
reuse.
2021-05-28 08:12:49 -04:00
Lioncash
210c2c9a56
common/fs/file: Explicitly delete copy constructors
...
Relocates them to the same place the move equivalents are at for
consistent viewing.
2021-05-28 01:49:40 -04:00
Lioncash
6806a893bd
common/fs/file: Devirtualize destructor
...
IOFile is a final class, so there's no need for a virtual destructor.
2021-05-28 01:47:52 -04:00
Lioncash
019bc9f6b2
common/fs/file: Default initialize IOFile members
...
Prevents a potential uninitialized read vector in the move constructor.
2021-05-28 01:46:30 -04:00
Morph
c68255f70f
applets/swkbd: Make use of std::move where applicable
...
Avoids redundant string copies
2021-05-27 23:45:56 -04:00
Morph
247cd92216
applets/swkbd: Only read the text check message on Failure/Confirm
...
Applications may leave this region of memory uninitialized when the text check result is not either Failure or Confirm.
Attempting to read uninitialized memory may cause an exception within the UTF16 to UTF8 string converter.
Fix this by only reading the text check message on Failure or Confirm.
2021-05-27 23:45:56 -04:00
bunnei
4b95b0df97
video_core: rasterizer_cache: Use u16 for cached page count.
...
- Greatly reduces the risk of overflow, at the cost of doubling the size of this array.
2021-05-27 14:47:24 -07:00
Markus Wick
3d2e80daed
core/arm_interface: Call SVC after end of dynarmic block.
...
So we can modify all of dynarmic states within SVC without ExceptionalExit.
Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
2021-05-27 23:23:23 +02:00
Ameer J
9110cfdefb
Merge pull request #6346 from lat9nq/apply-config-pgc
...
yuzu qt: Add an Apply button to configuration dialogs
2021-05-27 13:07:53 -04:00
ReinUsesLisp
19454e71d8
vulkan_memory_allocator: Allow textures to be allocated in host memory
...
Allow Vulkan's allocator to use host memory when there's no more device
local memory. This delays OOM, but it will eventually still happen.
2021-05-27 05:50:48 -03:00
Mai M
116989be8e
Merge pull request #6366 from lat9nq/bundled-qt-linux
...
cmake: Download Qt binaries on Linux if needed
2021-05-26 18:19:02 -04:00
lat9nq
52cc25ccbf
cmake: Download Qt binaries on Linux if needed
...
If the local version of Qt is older than the minimum version required by
yuzu, download a pre-built binary package from yuzu-emu/ext-linux-bin
and build yuzu with it, instead.
This also requires linking yuzu to the correct libraries after building
it, and copying over the required binaries when building yuzu.
This sets the Qt requirement to 5.12, which is intentionally behind the
versions used by our toolchains since they are not all updated yet to
5.15.
2021-05-26 15:29:45 -04:00
Markus Wick
993dbe49fc
core/arm: Drop ChangeProcessorID.
...
This code was used to switch the CPU ID on thread switches.
However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant.
This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it.
2021-05-26 19:48:24 +02:00
german77
65e20f424a
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
2021-05-26 10:06:00 -05:00
Morph
02169406be
Merge pull request #6331 from lioncash/gesture
...
hid/gesture: Simplify point related code
2021-05-26 09:19:00 -04:00
lat9nq
bc38d4c81b
yuzu qt: Restore const qualifiers
...
This addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-05-25 21:39:57 -04:00
bunnei
3394f24728
Merge pull request #6339 from Morph1984/swkbd-queuedconnection
...
applets/swkbd: Make use of QueuedConnection in returnPressed signal
2021-05-25 18:23:08 -07:00
lat9nq
cfb9bcbe42
yuzu qt: Handle per-game configs for title id 0
...
Currently with programs that have a 0 title id, yuzu loads the custom
configuration 0000000000000000.ini for per-game configs. This is not
ideal since many homebrews share this id. Instead for these programs, we
load a config that is simply the file name and `.ini` appended to it.
2021-05-25 20:10:41 -04:00
Morph
065867e2c2
common: fs: Rework the Common Filesystem interface to make use of std::filesystem ( #6270 )
...
* common: fs: fs_types: Create filesystem types
Contains various filesystem types used by the Common::FS library
* common: fs: fs_util: Add std::string to std::u8string conversion utility
* common: fs: path_util: Add utlity functions for paths
Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library
* common: fs: file: Rewrite the IOFile implementation
* common: fs: Reimplement Common::FS library using std::filesystem
* common: fs: fs_paths: Add fs_paths to replace common_paths
* common: fs: path_util: Add the rest of the path functions
* common: Remove the previous Common::FS implementation
* general: Remove unused fs includes
* string_util: Remove unused function and include
* nvidia_flags: Migrate to the new Common::FS library
* settings: Migrate to the new Common::FS library
* logging: backend: Migrate to the new Common::FS library
* core: Migrate to the new Common::FS library
* perf_stats: Migrate to the new Common::FS library
* reporter: Migrate to the new Common::FS library
* telemetry_session: Migrate to the new Common::FS library
* key_manager: Migrate to the new Common::FS library
* bis_factory: Migrate to the new Common::FS library
* registered_cache: Migrate to the new Common::FS library
* xts_archive: Migrate to the new Common::FS library
* service: acc: Migrate to the new Common::FS library
* applets/profile: Migrate to the new Common::FS library
* applets/web: Migrate to the new Common::FS library
* service: filesystem: Migrate to the new Common::FS library
* loader: Migrate to the new Common::FS library
* gl_shader_disk_cache: Migrate to the new Common::FS library
* nsight_aftermath_tracker: Migrate to the new Common::FS library
* vulkan_library: Migrate to the new Common::FS library
* configure_debug: Migrate to the new Common::FS library
* game_list_worker: Migrate to the new Common::FS library
* config: Migrate to the new Common::FS library
* configure_filesystem: Migrate to the new Common::FS library
* configure_per_game_addons: Migrate to the new Common::FS library
* configure_profile_manager: Migrate to the new Common::FS library
* configure_ui: Migrate to the new Common::FS library
* input_profiles: Migrate to the new Common::FS library
* yuzu_cmd: config: Migrate to the new Common::FS library
* yuzu_cmd: Migrate to the new Common::FS library
* vfs_real: Migrate to the new Common::FS library
* vfs: Migrate to the new Common::FS library
* vfs_libzip: Migrate to the new Common::FS library
* service: bcat: Migrate to the new Common::FS library
* yuzu: main: Migrate to the new Common::FS library
* vfs_real: Delete the contents of an existing file in CreateFile
Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now.
* input_profiles: Don't iterate the input profile dir if it does not exist
Silences an error produced in the log if the directory does not exist.
* game_list_worker: Skip parsing file if the returned VfsFile is nullptr
Prevents crashes in GetLoader when the virtual file is nullptr
* common: fs: Validate paths for path length
* service: filesystem: Open the mod load directory as read only
2021-05-25 19:32:56 -04:00
bunnei
08a5cf0b5b
Merge pull request #6349 from german77/suppress_config_warning
...
settings: Suppress duplicate label name warning
2021-05-25 15:51:51 -07:00
bunnei
4bf53eb935
Merge pull request #6353 from german77/handheld_docked
...
settings: Forbid docked mode on handheld
2021-05-25 13:02:20 -07:00
lat9nq
c1bad4357a
yuzu qt: Add an Apply button to configuration dialogs
...
Most of the code already exists to do this, but the Apply button itself
was never added. This adds a button and boolean that tells yuzu to save
the configuration after applying settings, even if close/Cancel is
pressed on the dialog. Changes after applying will not be saved when
Cancel is pressed, though.
2021-05-25 02:25:39 -04:00
Morph
ec28d3c439
kernel: process_capability: Add MapRegion capability
...
- Used by nx-hbloader
2021-05-25 01:44:46 -04:00
bunnei
d84a93c987
Merge pull request #6357 from lioncash/compression
...
common/compression: Make use of std::span
2021-05-24 18:50:26 -07:00
bunnei
aee3b57c44
Merge pull request #6312 from german77/analogMapping
...
input_common: Rewrite sdl analog mapping and fix controller disconnection crash
2021-05-24 12:02:37 -07:00
Lioncash
49bfd0c461
zstd_compression: Make use of std::span
...
Allows for the incoming data stream to be non-allocating.
2021-05-24 15:01:04 -04:00
Lioncash
00213377b1
lz4_compression: Make use of std::span
...
Allows making the incoming data stream non-allocating.
2021-05-24 15:00:59 -04:00
Chloe Marcec
db7abfecdd
hid: ApplyNpadSystemCommonPolicy
...
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-24 15:07:47 +10:00
german77
7f445a59fa
settings: Forbid docked mode on handheld
2021-05-23 20:34:46 -05:00
bunnei
3ead4a3494
Merge pull request #6347 from bunnei/ipc-improvements-next-2
...
Various improvements to IPC and session management (Part 2)
2021-05-23 16:28:40 -07:00
german77
ea4b7226a6
input_common: Add dual joycon support
2021-05-22 18:40:53 -05:00
german77
bb22d6d8f7
settings: Suppress duplicate label name warning
2021-05-22 18:32:35 -05:00
Morph
ecacb002be
applets/swkbd: Make use of QueuedConnection in returnPressed signal
...
Some users have reported rare crashes when pressing the Enter key on the keyboard to confirm input in the normal software keyboard, particularly in Super Smash Bros. Ultimate while entering the name of a ruleset or controller layout.
It is suspected that the QLineEdit::returnPressed signal is causing a race condition as confirming input through other means does not produce the crash. Since Qt::QueuedConnection posts an event to the event queue of the callee's thread instead of executing it directly on the caller's thread, this eliminates any potential race conditions from occurring in this scenario.
2021-05-22 03:28:54 -04:00
bunnei
5068279f23
Merge pull request #6248 from A-w-x/intelmesa
...
gl_device: Intel: Disable texture view formats workaround on mesa
2021-05-20 23:47:14 -07:00
bunnei
136e8e829f
Merge pull request #6333 from Morph1984/swkbd-confirm-text
...
applets/swkbd: Send the correct text string on TextCheck::Confirm
2021-05-20 22:42:54 -07:00
bunnei
6418a42884
hle: kernel: service_thread: Take reference to KServerSession on service request.
2021-05-20 22:39:44 -07:00
bunnei
e33ffdc555
hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.
...
- Fixes a use-after-free, work-around until we fixup session/port management.
2021-05-20 21:41:52 -07:00
bunnei
b4fc2e52a2
hle: kernel: Use host memory allocations for KSlabMemory.
...
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-20 21:41:52 -07:00
bunnei
7331bb9d8d
Revert "WORKAROUND: Do not use slab heap while we track down issues with resource management."
...
This reverts commit f2c26443f8
.
2021-05-20 21:41:52 -07:00
bunnei
f4fe71c1c9
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
2021-05-20 21:41:52 -07:00
bunnei
342170fcd3
common: tree: Avoid a crash on nullptr dereference.
2021-05-20 21:41:51 -07:00
bunnei
7361eac10f
hle: kernel: Implement CloneCurrentObject and improve session management.
2021-05-20 21:41:49 -07:00
bunnei
c40e7593f5
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
...
This reverts commit fc086f93b2
.
2021-05-20 21:40:30 -07:00
bunnei
ea4e4b05e4
Merge pull request #6320 from Morph1984/get-pid
...
hle_ipc: Add a getter for PID
2021-05-20 21:40:03 -07:00
bunnei
7626ca3343
Merge pull request #6321 from lat9nq/per-game-cpu
...
configuration: Add CPU tab to game properties and slight per-game settings rework
2021-05-20 20:10:56 -07:00
lat9nq
5153d5387a
configure_cpu: Simplify UpdateGroup
...
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-20 01:11:56 -04:00
bunnei
b5d21cc1b1
Merge pull request #6297 from lioncash/common-conv
...
parent_of_member: Make sign conversion explicit in OffsetOfImpl()
2021-05-19 18:43:47 -07:00
bunnei
41b1f8d616
Merge pull request #6310 from german77/nanMotion
...
input_common: Sanitize motion data
2021-05-19 15:47:48 -07:00
lat9nq
12ef74456c
configuration_shared: Drop unused function and template another
...
Drops an unused variant of ApplyPerGameSetting, and turns the QComboBox
variants of SetPerGameSetting into a template.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-19 16:00:48 -04:00
Morph
5396593b55
applets/swkbd: Send the correct text string on TextCheck::Confirm
...
Previously the text string for the inline software keyboard was being sent instead of the normal software keyboard, leading to empty text being sent all the time.
2021-05-19 00:26:32 -04:00
bunnei
7d86a6ff02
Merge pull request #6317 from ameerj/fps-fix
...
perf_stats: Rework FPS counter to be more accurate
2021-05-18 19:56:29 -07:00
Morph
7f78b17e20
KTransferMemory: Return size instead of size * PageSize in GetSize()
...
size is already the size in bytes. We do not need to multiply it by the page size
2021-05-18 13:14:28 -04:00
Lioncash
44556dc21a
hid/gesture: Factor out last gesture retrieval into its own function
...
Deduplicates a commonly repeated expression.
2021-05-18 03:59:44 -04:00
Lioncash
a9d8e24e47
hid/gesture: Ensure all ID arrays are initialized
...
Makes for deterministic initial state.
2021-05-18 03:39:21 -04:00
Lioncash
74f30c0223
hid/gesture: Make Point a template
...
We can now use this in a generic context to reuse it with the finger
position.
2021-05-18 03:39:18 -04:00
Lioncash
20699e90fa
hid/gesture: Replace x,y members of GestureState with a Point
...
Simplifies assignments.
2021-05-18 03:32:42 -04:00
Lioncash
2f1ef3910b
hid/gesture: Add default comparators to Point
...
Simplifies some comparisons.
2021-05-18 03:32:42 -04:00
Lioncash
60831eabd9
hid/gesture: Rename Points to Point
...
This only represents a single point
2021-05-18 03:32:38 -04:00
bunnei
93bc59b62d
Merge pull request #6322 from ameerj/fast-null-buffer
...
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
2021-05-17 15:45:36 -07:00
lat9nq
339dc4f806
general: Demote custom_rtc to regular setting
2021-05-17 15:54:30 -04:00
Mat M
b462618ed7
Merge pull request #6328 from Morph1984/enforce-c4715
...
CMakeLists: Enforce C4715 on MSVC
2021-05-17 13:20:58 -04:00
Morph
d001687ca6
CMakeLists: Enforce C4715 on MSVC
...
This is similar to -Werror=return-type
2021-05-17 03:48:58 -04:00
Morph
cd6dcef5aa
configure_debug: FIx duplicate labels
...
Duplicate labels were unintentionally introduced due to copy-paste. This silences the compilation warning produced by the presence of these duplicates.
2021-05-16 23:32:51 -04:00
Morph
af69b48390
yuzu/main: Fix version info in logging and about dialog
2021-05-16 22:17:17 -04:00
bunnei
440eb840ea
Merge pull request #6319 from Morph1984/no-install-base
...
main: Prevent installing base titles into NAND
2021-05-16 16:33:33 -07:00
ameerj
acf22336ec
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
...
Fixes a crash in New Pokemon Snap
2021-05-16 07:43:40 -04:00
bunnei
d5131805ce
Merge pull request #6284 from ameerj/shantae-fix
...
nvflinger: Create layers when they are queried but not found
2021-05-16 01:45:14 -07:00
bunnei
ad6e20cfde
Merge pull request #6296 from lioncash/shadow-error
...
core: Make variable shadowing a compile-time error
2021-05-16 01:35:46 -07:00
bunnei
e8d2de1f99
Merge pull request #6307 from Morph1984/fix-response-push-size
...
nifm, ssl: Fix incorrect response sizes
2021-05-16 01:32:04 -07:00
Morph
a170aa16b6
main: Prevent installing base titles into NAND
...
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
2021-05-16 04:13:57 -04:00
Morph
049769a0c9
hle_ipc: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-05-16 04:11:00 -04:00
Morph
81a5ecdb18
hle_ipc: Add a getter for PID
2021-05-16 04:10:42 -04:00
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
06c410ee88
Merge pull request #6316 from ameerj/title-fix
...
main: Add running title's version to window name on EA/mainline
2021-05-15 22:40:35 -07:00
lat9nq
ab2677f0a1
configuration: Add CPU tab to game properties
...
Allows setting CPU accuracy to Accurate or Unsafe per-game, as well as
the accuracy options for Unsafe. Debug is not allowed here as a per-game
CPU accuracy.
2021-05-16 01:31:42 -04:00
bunnei
5a2b15bf75
Merge pull request #6299 from bunnei/ipc-improvements
...
Various improvements to IPC and session management
2021-05-15 22:30:21 -07:00
bunnei
a1138028a8
Merge pull request #6289 from ameerj/oob-blit
...
texture_cache: Handle out of bound texture blits
2021-05-15 21:32:37 -07:00
Morph
faaea00069
nifm, ssl: Fix incorrect response sizes
2021-05-16 00:20:48 -04:00
lat9nq
4aac1ae4b1
configuration: Simplify applying per-game settings
...
Originally, every time we add a per-game setting, we'd have to guard for
it when setting it on the global config, and use a specific function to
do it for the per-game config.
This moves the global check into the ApplyPerGameSetting function so
that we can use it for changing both the global and per-game states.
Less work for the programmer.
2021-05-15 22:59:38 -04:00
lat9nq
59236b7d0f
configuration_shared: Add some comments
...
Monke brain can't remember what all of these does a year later.
2021-05-15 22:07:20 -04:00
lat9nq
e169fdad4f
general: Make CPU accuracy and related a Settings::Setting
...
Required to make CPU accuracy and unsafe settings available to use as a
per-game setting.
2021-05-15 20:46:48 -04:00
ameerj
5bef54618a
perf_stats: Rework FPS counter to be more accurate
...
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
ameerj
a3e68dce56
main: Add title's version to window name on EA/mainline
...
Fixes the missing title version number on EA/mainline builds which override the title bar string.
2021-05-15 16:55:30 -04:00
german77
f20f4587e6
input_common: Implement SDL motion
2021-05-15 08:56:58 -05:00
german77
edd498f6e0
input_common: Fix crash when controller disconnects
2021-05-15 08:27:19 -05:00
german77
85eeae7aad
input_common: Rewrite sdl analog mapping
2021-05-14 21:17:08 -05:00
german77
fd7c273fab
input_common: Sanitize motion data
2021-05-13 13:41:32 -05:00
bunnei
e12ee020e7
Merge pull request #6301 from Morph1984/ssl-ImportClientPki
...
ssl: Stub Import(Client/Server)Pki
2021-05-12 22:11:19 -07:00
Morph
c8707628f6
Merge pull request #6298 from Kewlan/toggled-show-add-on-refresh
...
configure_ui: Call RequestGameListUpdate when toggling "Show Add-Ons Column"
2021-05-12 21:06:04 -04:00
Morph
271f2e2d78
ssl: Stub Import(Client/Server)Pki
...
- Used in JUMP FORCE Deluxe Edition
2021-05-12 21:04:13 -04:00
Morph
5a042bdaa1
Merge pull request #6267 from german77/gestureRewrite
...
hid: Improve hardware accuracy of gestures
2021-05-12 09:17:23 -04:00
bunnei
eee302b9b9
common: tree: Avoid a nullptr dereference.
2021-05-11 15:40:20 -07:00
bunnei
12d569e483
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
2021-05-11 12:27:43 -07:00
bunnei
fc086f93b2
WORKAROUND: temp. disable session resource limits while we work out issues
2021-05-11 10:51:39 -07:00
bunnei
f2c26443f8
WORKAROUND: Do not use slab heap while we track down issues with resource management.
2021-05-11 10:27:18 -07:00
bunnei
b9f543b29f
audren
2021-05-11 10:24:53 -07:00
bunnei
343d92a092
core: hle: ipc_helpers: Fix cast on raw_data_size calculation.
2021-05-10 20:34:38 -07:00
bunnei
2c1e119c4a
hle: service: sm: Add TIPC support.
...
- Fixes our error checking of names as well.
2021-05-10 20:34:38 -07:00
bunnei
913971417e
hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.
...
- Fixes our move handles implementation to actually move objects.
- Simplifies the traditional IPC path.
2021-05-10 20:34:38 -07:00
bunnei
49c4c329f6
hle: service: sm: GetService: Reserve session resource when we create a KSession.
2021-05-10 20:34:38 -07:00
bunnei
21671d05a3
hle: service: Add support for dispatching TIPC requests.
2021-05-10 20:34:38 -07:00
bunnei
da25a59866
hle: service: Implement IPC::CommandType::Close.
...
- This was not actually closing sessions before.
2021-05-10 20:34:38 -07:00
bunnei
41928dfdda
hle: service: sm: Use RegisterNamedService to register the service.
2021-05-10 20:34:38 -07:00
bunnei
934b2d8842
hle: service: sm: Improve Initialize implementation.
2021-05-10 20:34:38 -07:00
bunnei
f54ea749a4
hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.
2021-05-10 20:34:38 -07:00
bunnei
c6de9657be
hle: kernel: Implement named service ports using service interface factory.
...
- This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
2021-05-10 20:34:38 -07:00
bunnei
44c763f9c6
hle: kernel: KSession: Improve implementation of CloneCurrentObject.
2021-05-10 20:33:53 -07:00
bunnei
cfed6936f3
hle: service: sm: Increase point buffer size.
2021-05-10 15:43:42 -07:00
bunnei
9f44a44f2f
hle: ipc_helpers: Reserve session resource when we create a KSession.
2021-05-10 15:42:46 -07:00
bunnei
75f23ad494
hle: kernel: KClientPort: Cleanup comment format.
2021-05-10 15:41:46 -07:00
bunnei
7a06037c5f
hle: ipc: Add declarations for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
ed25191ee6
hle: kernel: Further cleanup and add TIPC helpers.
2021-05-10 15:05:10 -07:00
bunnei
d08bd3e062
hle: ipc_helpers: Update IPC response generation for TIPC.
2021-05-10 15:05:10 -07:00
Kewlan
1b4331397b
configure_ui: Call RequestGameListUpdate when toggling "Show Add-Ons Column"
2021-05-10 18:49:30 +02:00
Lioncash
0aff3ba2ff
parent_of_member: Make sign conversion explicit in OffsetOfImpl()
...
Previously these conversions were implicit and causing quite a few
warnings on clang.
2021-05-10 08:07:33 -04:00
bunnei
ec50a9b5b9
Merge pull request #6291 from lioncash/kern-shadow
...
kernel: Eliminate variable shadowing
2021-05-09 20:15:00 -07:00
german77
0c1bb46f0a
kernel: Delete unused files
2021-05-09 11:15:31 -05:00
Lioncash
2f62bae9e3
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
bunnei
faa067f175
Merge pull request #6266 from bunnei/kautoobject-refactor
...
Kernel Rework: Migrate kernel objects to KAutoObject
2021-05-07 23:30:17 -07:00
ameerj
3671fd0a97
texture_cache: Handle out of bound texture blits
...
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
2021-05-07 22:14:21 -04:00
bunnei
8acf739b3f
Merge pull request #6287 from lioncash/ldr-copy
...
ldr: Simplify memory copy within LoadNro()
2021-05-07 09:46:31 -07:00
Lioncash
8f638e81e9
ldr: Simplify memory copy within LoadNro()
...
We can use the dedicated memory function for performing copies instead
of reading into a temporary buffer and then immediately writing it back
out to memory.
Eliminates a bit of heap memory churn.
2021-05-06 19:18:14 -04:00
ameerj
da62e92784
nvflinger: Create layers when they are queried but not found
...
Fixes Shantae softlock on boot.
2021-05-06 11:20:52 -04:00
bunnei
d57b12193b
hle: kernel: KPageTable: CanContain should not be constexpr.
2021-05-05 16:40:55 -07:00
bunnei
b805ee653f
hle: kernel: Move slab resource counts to Kernel.
2021-05-05 16:40:54 -07:00
bunnei
d2c4dbde9e
fixup! hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
2c4615f3a6
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
a488b86e97
fixup! common: bit_util: Add BIT macro.
2021-05-05 16:40:54 -07:00
bunnei
510f71d871
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
9f81221528
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
eae107d0e9
kernel: svc: Remove unused RetrieveResourceLimitValue function.
2021-05-05 16:40:54 -07:00
bunnei
da22def511
hle: kernel: Fix un/sign mismatch errors with NUM_CPU_CORES.
2021-05-05 16:40:54 -07:00
bunnei
f23760b1e1
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:54 -07:00
bunnei
1e983b19df
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
ad5a5ef43f
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
e02785be83
common: parent_of_member: Fix build for OffsetOf().
2021-05-05 16:40:54 -07:00
bunnei
27a6ef64fd
fixup! common: intrusive_red_black_tree: Disable static_assert that will not evaluate as constant on MSVC.
2021-05-05 16:40:54 -07:00
bunnei
9434603450
fixup! hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
703d7aaab6
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
9beb239634
fixup! hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:54 -07:00
bunnei
2cdc7142b0
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
34abe4a905
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
f6d45b747e
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
1b074b8984
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
50d2dc3b51
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
d23f9f75ff
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
4356361faf
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
51aa5a5364
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
25538db150
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
9bae3992e6
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
91d8657959
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:53 -07:00
bunnei
d3c166d4d5
common: Rename NON_COPYABLE/NON_MOVABLE with YUZU_ prefix.
2021-05-05 16:40:53 -07:00
bunnei
0536004d91
fixup! hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:53 -07:00
bunnei
57f80c74b6
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
caa11748c6
fixup! hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:53 -07:00
bunnei
7866eb03bb
hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.
2021-05-05 16:40:53 -07:00
bunnei
4b03e6e776
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
8f5052a514
hle: kernel: KClassToken: Ensure class tokens are correct.
2021-05-05 16:40:53 -07:00
bunnei
0b27c721c9
hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:52 -07:00
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
864841eb9e
hle: kernel: Do not shutdown twice on emulator close.
2021-05-05 16:40:52 -07:00
bunnei
39a8dba9a6
hle: kernel: Cleanup shutdown of persistent kernel objects.
2021-05-05 16:40:52 -07:00
bunnei
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
7a06864100
hle: kernel: Migrate KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
0297448fbc
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
aa2844bcf9
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
bunnei
b57c5a9b54
hle: kernel: Migrate KResourceLimit to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
674122038a
hle: kernel: svc: Migrate WaitSynchronization.
2021-05-05 16:40:51 -07:00
bunnei
126aaeb6d3
hle: kernel: svc: Use new handle table API for Process.
2021-05-05 16:40:51 -07:00
bunnei
c7d8b7421c
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
2cb6106523
hle: kernel: svc: Migrate GetThreadContext, GetThreadCoreMask.
2021-05-05 16:40:51 -07:00
bunnei
76a0814142
hle: kernel: svc: Migrate GetProcessId, CancelSynchronization, SetThreadActivity.
2021-05-05 16:40:51 -07:00
bunnei
84bb772003
hle: kernel: KThread: Remove incorrect resource release.
2021-05-05 16:40:51 -07:00
bunnei
269d233a94
hle: kernel: svc_results: Update naming..
2021-05-05 16:40:51 -07:00
bunnei
c2f6f2ba7a
hle: kernel: KThread: Add missing resource hint release.
2021-05-05 16:40:51 -07:00
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
eba3bb9d21
hle: ipc_helpers: Add methods for copy/move references.
2021-05-05 16:40:51 -07:00
bunnei
cfa7b92563
hle: kernel: Move slab heaps to their own container.
2021-05-05 16:40:51 -07:00
bunnei
89edbe8aa2
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
2021-05-05 16:40:51 -07:00
bunnei
b6156e735c
hle: kernel: Move slab heap management to KernelCore.
2021-05-05 16:40:51 -07:00
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
722195cf70
hle: kernel: Use unique_ptr for suspend and dummy threads.
2021-05-05 16:40:50 -07:00
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
086db71e94
hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
7ccbdd4d8d
hle: kernel: Migrate KProcess to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
5e5933256b
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
2021-05-05 16:40:50 -07:00
bunnei
da7e9553de
hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
6fca1c82fd
hle: kernel: svc: Migrate GetThreadPriority, StartThread, and ExitThread.
2021-05-05 16:40:50 -07:00
bunnei
de4746ff69
hle: kernel: svc: Migrate CreateThread.
2021-05-05 16:40:50 -07:00
bunnei
0eeecde67c
hle: kernel: Migrate idle threads.
2021-05-05 16:40:50 -07:00
bunnei
479bd50b96
hle: kernel: Migrate KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
d3d0f2f451
hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:50 -07:00
bunnei
34bed1ab41
hle: kernel: Refactor out various KThread std::shared_ptr usage.
2021-05-05 16:40:50 -07:00
bunnei
d9df63583f
core: Defer CoreTiming initialization.
2021-05-05 16:40:50 -07:00
bunnei
3401676768
core: memory: Add a work-around to allocate and access kernel memory regions by vaddr.
2021-05-05 16:40:50 -07:00
bunnei
02c2b28cd0
common: common_funcs: Add Size helper function.
2021-05-05 16:40:49 -07:00
bunnei
66f2ad716b
hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:49 -07:00
bunnei
74120c5e3a
common: bit_util: Add BIT macro.
2021-05-05 16:40:49 -07:00
bunnei
f93d939426
hle: kernel: Add initial impl. of KSlabAllocated.
2021-05-05 16:40:49 -07:00
bunnei
34ce1dd7c7
hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:49 -07:00
bunnei
b8751630e2
hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:49 -07:00
bunnei
d9205f82b3
common: intrusive_red_black_tree: Disable static_assert that will not evaluate as constant on MSVC.
2021-05-05 16:40:49 -07:00
bunnei
b99fc70191
common: common_funcs: Add helper macros for non-copyable and non-moveable.
...
- Useful for scenarios where we do not want to inherit from NonCopyable.
2021-05-05 16:40:49 -07:00
bunnei
260b841dc3
Merge pull request #6279 from ogniK5377/nvhost-prof
...
nvdrv: /dev/nvhost-prof-gpu for production
2021-05-05 16:16:13 -07:00
bunnei
0b7a03bd65
Update src/core/hle/service/nvdrv/interface.cpp
...
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-05 16:16:02 -07:00
german77
8c30ed6d09
hid: Improve hardware accuracy of gestures
2021-05-05 10:13:09 -05:00
Lioncash
cc47a6a9c2
service: Remove unused class variables
...
Prevents some warnings from occurring.
2021-05-05 01:32:28 -04:00
Lioncash
9e726a9250
service: Resolve cases of member field shadowing
...
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
2021-05-04 04:38:38 -04:00
bunnei
df51eb9bde
Merge pull request #6278 from lioncash/misc-shadow
...
core: Resolve misc straggler cases of variable shadowing
2021-05-03 16:04:28 -07:00
bunnei
898aa5fb66
Merge pull request #6275 from german77/mousefocus
...
input_common: Release mouse buttons on out of focus
2021-05-03 12:50:19 -07:00
Lioncash
ebb64d5bf4
core: Resolve misc cases of variable shadowing
...
Resolves shadowing warnings that aren't in a particularly large
subsection of core. Brings us closer to turning -Wshadow into an error.
All that remains now is for cases in the kernel (left untouched for now
since a big change by bunnei is pending), and a few left over in the
service code (will be tackled next).
2021-05-03 01:19:13 -04:00
Chloe Marcec
7d257ce7bd
nvdrv: /dev/nvhost-prof-gpu for production
...
While we're at it, we can fix the is_initialized error code.
This fixes the crashes on Shante
2021-05-03 14:39:03 +10:00
german77
08d5bd36d8
hid: Fix touch not initializing properly if disabled
2021-05-02 21:27:15 -05:00
german77
6e81473574
input_common: Release mouse buttons on out of focus
2021-05-02 19:08:33 -05:00
bunnei
c17a59b58e
Merge pull request #6269 from lioncash/file-shadow
...
file_sys: Resolve cases of variable shadowing
2021-05-02 15:12:07 -07:00
Morph
0d2d0844a5
Merge pull request #6263 from Kewlan/folder-swap-expand-state
...
game_list: Fix dir move up/down expand state
2021-05-02 07:43:45 -04:00
bunnei
01a57d4c8d
Merge pull request #6265 from Morph1984/snap-save-fix
...
service: filesystem: Return proper error codes for CreateFile
2021-05-02 00:45:18 -07:00
Lioncash
1da72c7792
file_sys: Resolve cases of variable shadowing
...
Brings us closer to enabling -Wshadow as an error in the core code.
2021-05-02 02:59:57 -04:00
bunnei
03b3c5800b
Merge pull request #6261 from Kewlan/game-list-filter-fix
...
game_list: Update filter results when removing directories
2021-05-01 09:14:10 -07:00
Morph
72b22fd433
service: filesystem: Return proper error codes for CreateFile
...
This improves the accuracy of CreateFile by returning the correct error codes on certain conditions (parent directory does not exist, path already exists).
This fixes saving and the loading of existing saves in New Pokemon Snap
2021-05-01 09:33:00 -04:00
german77
1ed1dd3c89
Disable touch if setting is not enabled
2021-04-30 19:28:21 -05:00
bunnei
fa3ffff8de
Merge pull request #6257 from Morph1984/fix-use-after-free-webapplet
...
applets/web: Fix a use-after-free when passing in the URL string
2021-04-30 14:48:32 -07:00
bunnei
aab57b7975
Merge pull request #6243 from german77/GCresetOrigin
...
input_common: Reset GC sticks center by measuring multiple packets
2021-04-30 12:02:05 -07:00
Kewlan
497ccfaedc
game_list: Fix dir move up/down expand state
2021-04-30 12:18:38 +02:00
bunnei
922b0d9933
Merge pull request #6226 from german77/sevensix
...
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-29 22:06:57 -07:00
Kewlan
fc84822266
game_list: Update filter results when removing directories
2021-04-30 00:05:23 +02:00
Morph
29a06ad393
yuzu: config: Silence narrowing conversion warning on MSVC
2021-04-28 22:42:56 -04:00
Morph
0af182baa2
applets/web: Fix a use-after-free when passing in the URL string
...
The URL string was being deleted before being used, leading to a use-after-free occurring when it is used afterwards.
Fix this by taking the string by const ref to extend its lifetime, ensuring it doesn't get deleted before use.
2021-04-28 12:34:28 -04:00
Morph
d95605cd24
yuzu: main: Silence type conversion warning on MSVC
2021-04-28 12:22:41 -04:00
Lioncash
724c19a307
loader: Resolve instances of variable shadowing
...
Eliminates variable shadowing cases across all the loaders to bring us
closer to enabling variable shadowing as an error in core.
2021-04-27 12:48:15 -04:00
german77
cfdec68d5a
address comments
2021-04-26 22:07:16 -05:00
german77
729545a946
input_common: Reset GC sticks center by measuring multiple packets
2021-04-26 18:34:00 -05:00
bunnei
cd80471c90
Merge pull request #6246 from lioncash/shadow
...
service: Eliminate cases of member variable shadowing
2021-04-26 16:19:49 -07:00
bunnei
dec5680934
Merge pull request #6236 from Morph1984/swkbd-button-hint-scaling
...
applets/swkbd: Fix software keyboard button hint scaling
2021-04-26 14:40:37 -07:00
A-w-x
6a2084a204
gl_device: Intel: Disable texture view formats workaround on mesa
2021-04-26 18:14:10 +02:00
Lioncash
dcb91ca4a4
service: Eliminate cases of member shadowing
...
Resolves a few localized instances of member variable shadowing. Brings
us a little closer to turning shadowing warnings into errors.
2021-04-26 09:39:49 -04:00
bunnei
7412f314e4
Merge pull request #6198 from Kewlan/favorite-games
...
game_list: Mark games as favorite to make them appear at the top.
2021-04-25 23:33:44 -07:00
bunnei
3c5fb53634
Merge pull request #6237 from ameerj/nvdec-end-fix
...
nvhost_vic: Fix device closure
2021-04-25 23:05:58 -07:00
Morph
3b5690c9e1
config: Add new keyboard bindings
...
Changes the keyboard bindings to be based on RPCS3's tried and true keyboard bindings.
2021-04-25 07:26:57 -04:00
ameerj
ae758a236f
vk_texture_cache: Swap R and B channels of color flipped format
...
Swaps the Red and Blue channels of the A1B5G5R5_UNORM texture format, which was being incorrectly rendered.
2021-04-24 23:59:42 -04:00
ameerj
75e0d16caa
nvhost_vic: Fix device closure
...
Implements the OnClose method of the nvhost_vic device, and removes the remnants of an older implementation.
Also cleans up some of the surrounding code.
2021-04-24 19:22:09 -04:00
Its-Rei
c413cafdac
applets/swkbd: Fix software keyboard button hint scaling
...
Fixes the scaling of the button hints using background images. Now they scale like the rest of the elements.
2021-04-24 13:47:33 -04:00
Mat M
4c8c5ad1b6
Merge pull request #6234 from Morph1984/stub-am
...
ICommonStateGetter: Stub SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled
2021-04-24 12:37:34 -04:00
Mat M
98fb36cb0a
Merge pull request #6235 from german77/ectx_aw
...
glue: Add ectx:aw service placeholder
2021-04-24 12:37:12 -04:00
german77
a02c4686c3
glue: Add ectx:aw placeholder
2021-04-24 10:50:25 -05:00
bunnei
1acd807176
Merge pull request #6230 from Morph1984/default-resource-size
...
program_metadata: Set a default resource size when a NPDM is not present
2021-04-24 02:55:20 -07:00
bunnei
f4610e77e2
Merge pull request #6227 from lioncash/meta
...
program_metadata: Explicitly specify copy/move operators/functions
2021-04-23 23:12:44 -07:00
german77
c19ad21ae8
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-23 22:12:41 -05:00
Morph
04d9c27120
ICommonStateGetter: Stub SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled
...
- Used by Pixel Game Maker Series Werewolf Princess Kaguya
2021-04-23 23:04:22 -04:00
bunnei
4cc8ab8a86
Merge pull request #6228 from lioncash/semi
...
lm: Resolve -Wextra-semi warning
2021-04-23 19:59:20 -07:00
bunnei
2e268abe42
Merge pull request #6229 from lioncash/unused-var
...
acc/lbl: Remove unused variables
2021-04-23 15:48:47 -07:00
bunnei
51c787bfc1
Merge pull request #6231 from lioncash/aes
...
aes_util: Make use of std::span
2021-04-23 11:37:17 -07:00
Morph
1c65b3ee53
program_metadata: Set a default resource size when a NPDM is not present
...
Sets a default size of 0x1FE00000 bytes (510 MiB) for the system_resource_size when a NPDM is not present.
2021-04-23 12:47:31 -04:00
bunnei
19bbdedf00
Merge pull request #6232 from lioncash/alias2
...
emu_window: unsigned -> u32
2021-04-23 09:26:56 -07:00
Lioncash
d363b2c7d2
emu_window: Return pair from ClipToTouchScreen() instead of tuple
...
This is only a 2-tuple, so it can be converted over to the std::pair
class.
2021-04-23 11:21:02 -04:00
Lioncash
8805233f5e
emu_window: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-04-23 11:19:32 -04:00
Lioncash
9c5248d101
aes_util: Make use of std::span
...
Allows us to simplify the interface quite a bit as it will handle
contiguous sequences for us.
2021-04-23 09:58:41 -04:00
Lioncash
502f3cef87
acc/lbl: Remove unused variables
2021-04-23 09:39:56 -04:00
Lioncash
29cd40bded
lm: Make use of insert_or_assign() in Log()
...
Avoids unnecessary default construction of an entry in cases where no
entry exists before overwriting the created entry.
2021-04-23 09:27:18 -04:00
Lioncash
5ba49f188b
lm: Prevent redundant map lookups in Log()
...
We can perform the lookup and then do the contains check by checking the
end iterator. The benefit of this is that if we *do* find an entry, then
we aren't hashing into the map again to find it.
We can also get rid of an unused std::vector temporary while we're at
it.
2021-04-23 09:24:21 -04:00
Lioncash
6e2040c955
lm: Resolve -Wextra-semi warning
...
Resolves a trivial warning with clang.
2021-04-23 09:20:54 -04:00
Lioncash
ae93402312
program_metadata: Explicitly specify copy/move functions
...
The generation of the copy assignment operators are deprecated on being
generated when a user-provided destructor is present.
We can explicitly specify that we desire this behavior to keep the class
forward compatible with future standards.
2021-04-23 09:16:17 -04:00
ameerj
5568fcfec1
yuzu_cmd: Remove unused resource.h
2021-04-22 22:25:49 -04:00
Morph
86278f5db2
service: hid: Get transfer memory for InitializeSevenSixAxisSensor
2021-04-22 05:50:46 -04:00
bunnei
f0c2190ceb
Merge pull request #6214 from Morph1984/time-fix-kirby-clash
...
time: Fix GetClockSnapshotFromSystemClockContext
2021-04-21 11:17:58 -07:00
bunnei
4cd6c3e6f1
Merge pull request #6219 from lioncash/log-erase
...
log/backend: Make use of erase_if
2021-04-20 16:07:00 -07:00
bunnei
8cdd86fa25
Merge pull request #6218 from lioncash/tcache
...
texture_cache/util: Fix src being used instead of dst within DeduceBlitImages case
2021-04-20 11:56:40 -07:00
bunnei
7083c5bfc8
Merge pull request #6207 from lat9nq/sdl-2.0.14
...
cmake: Use SDL 2.0.14 and fix scope issue
2021-04-20 10:19:03 -07:00
Lioncash
6125590a7b
log/backend: Use in-class initializer for FileBackend
...
We can also avoid redundant constructions of the same string repeatedly.
2021-04-20 12:57:49 -04:00
Lioncash
aaaca1cd6d
log/backend: Make use of erase_if
...
Same behavior, but less verbose.
2021-04-20 12:53:05 -04:00
bunnei
17704271f4
Merge pull request #6217 from Morph1984/consistent-writebuffers
...
general: Write buffers before pushing raw arguments
2021-04-19 20:54:25 -07:00
bunnei
e5e9bee1cc
Merge pull request #6215 from lioncash/duplicate
...
npad: Remove duplicated class member variable
2021-04-19 18:12:48 -07:00
Lioncash
17b7f0389a
texture_cache/util: Fix src being used instead of dst within DeduceBlitImages
...
This line can only ever be reached if src is null, so dereferencing it
here is a logic bug that slipped through.
Instead, we dereference dst instead which is guaranteed to be valid.
2021-04-19 13:01:50 -04:00
Morph
27eeb20001
general: Write buffers before pushing raw arguments
...
For consistency with the rest of the service implementations
2021-04-19 12:45:50 -04:00
Lioncash
9f39f7c041
arp: Use type alias for issue function
...
Reduces some verbosity and centralizes the function details in one spot.
2021-04-19 12:36:10 -04:00
Lioncash
b7d04d848d
arp: Prevent uninitialized read of launch member variable
...
If anything happened to call arp functions in the wrong order and called
IRegistrar's Issue function before SetApplicationLaunchProperty, we'd
read from an uninitialized ApplicationLaunchProperty instance.
Instead, we can always initialize it so if this does happen, then the
outcome of doing such a thing is at least consistently reproducible.
2021-04-19 12:30:34 -04:00
Lioncash
39497183a6
npad: Remove duplicated class member variable
...
ControllerBase already has a System reference that can be accessed from
this class, so we can get rid of this to make the class layout a little
more straightforward.
2021-04-19 12:23:28 -04:00
Morph
8285776603
time: Write buffer before pushing RESULT_SUCCESS in GetClockSnapshot
2021-04-19 12:09:28 -04:00
Morph
a223006c50
time: Fix GetClockSnapshotFromSystemClockContext
...
This removes an incorrect alignment usage and corrects the positions of the popped parameters.
- Fixes Super Kirby Clash crashing on boot
2021-04-19 11:17:47 -04:00
lat9nq
f973274b99
general: Ignore implicit-fallthrough for SDL.h
...
SDL 2.0.14 introduces an incompatibility with Clang, causing it to
trigger -Wimplicit-fallthrough even though it is marked. Ignore it for
now, with a comment mentioning why this is needed.
2021-04-18 01:31:26 -04:00
lat9nq
de69a5266f
cmake: Use SDL 2.0.14 and fix CMake scope issue
...
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds
a message when switching to the external.
Fixes an error where input_common only links to SDL when SDL2_FOUND is
set, but externals/CMakeLists cannot set that variable to the required
scope. Switch to using ENABLE_SDL2, which we can use since we now
include the SDL source.
2021-04-17 23:42:57 -04:00
Morph
51ca93981d
applets: Send focus state change message on applet state change
...
Fixes the softlock after the controller applet exits in Mario Kart 8 Deluxe.
2021-04-17 09:26:48 -04:00
Morph
ba2c917842
applets: Make the applet mode a protected property of Applet
2021-04-17 08:50:49 -04:00
bunnei
9ad77ba6d3
Merge pull request #6125 from ogniK5377/nvdec-close-dev
...
nvdrv: Cleanup CDMA Processor on device closure
2021-04-16 23:14:44 -07:00
bunnei
d5c1f3929c
Merge pull request #6133 from Morph1984/project-eleuthia
...
Project Eleuthia - On-Screen Keyboard and Error Applet Overlays
2021-04-16 23:03:23 -07:00
bunnei
0a5bc8ec14
Merge pull request #6119 from german77/SDLMapping
...
InputCommon: Address mapping and naming issues with SDL2
2021-04-15 21:40:35 -07:00
Chloe Marcec
edb1d5d242
Address issues
2021-04-16 13:52:32 +10:00
Morph
7eff91ff20
applets/swkbd: Implement the Qt Software Keyboard frontend
...
The Qt Software Keyboard frontend attempts to mimic the software keyboard rendered by the Nintendo Switch.
This frontend implements multiple keyboard types, such as the normal software keyboard, the numeric pad software keyboard and the inline software keyboard.
Keyboard and controller input is also supported in this frontend.
Keyboard input is handled as native keyboard input, and so the on-screen keyboard cannot be navigated with the keyboard arrow keys as the arrow keys are used to move the text cursor.
Controller input is translated into mouse hover movements on the onscreen keyboard or their respective button actions (B for backspace, A for entering the selected button, L/R for moving the text cursor, etc).
The text check dialogs can also be confirmed with controller input through the use of the OverlayDialog
Massive thanks to Rei for creating all the UI for the various keyboards and OverlayDialog. This would not have been possible without his excellent work.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2021-04-15 01:53:17 -04:00
Morph
b45930a0ed
error: Make the error code as the title text of the OverlayDialog
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2021-04-15 01:53:17 -04:00
Morph
4143675b2d
overlay_dialog: Add an overlay text dialog that accepts controller input
...
An OverlayDialog is an interactive dialog that accepts controller input (while a game is running)
This dialog attempts to replicate the look and feel of the Nintendo Switch's overlay dialogs and
provide some extra features such as embedding HTML/Rich Text content in a QTextBrowser.
The OverlayDialog provides 2 modes: one to embed regular text into a QLabel and another to embed
HTML/Rich Text content into a QTextBrowser.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2021-04-15 01:53:17 -04:00
Morph
4a5f9f5a6d
main: Move meta type registration into its own function
...
Moves the existing meta type registration into its own function and adds registration of common integral, floating point and string types.
This function is also now called in the constructor of the GMainWindow instead of on starting a game.
2021-04-15 01:53:17 -04:00
Morph
aa3adf6c3f
input_interpreter: Fix button hold being interpreted incorrectly on init
...
We reset all the button states to 0 except the first index (which has all the buttons as pressed) to prevent a button hold being interpreted as a button that was pressed once on the first poll.
2021-04-15 01:53:17 -04:00
Morph
578e6c5a57
applets/swkbd: Implement the Default Software Keyboard frontend
2021-04-15 01:53:17 -04:00
Morph
5bc9f15c6d
applets/swkbd: Implement the Normal and Inline Software Keyboard Applet
2021-04-15 01:53:17 -04:00
Morph
a8c09cd5e4
ILibraryAppletCreator: Implement CreateHandleStorage
...
Used by Monster Hunter Generations Ultimate
2021-04-15 01:53:16 -04:00
Morph
e3e6a11ab8
hle_ipc: Add helper functions to get copy/move handles
2021-04-15 01:53:16 -04:00
Morph
0a40106cf1
ILibraryAppletAccessor: Demote from ERROR to DEBUG for null storage logs
...
Avoids unnecessary console spam when the inline software keyboard is used.
2021-04-15 01:53:16 -04:00
Morph
d1e40dd244
applets: Pass in the LibraryAppletMode each applet's constructor
2021-04-15 01:53:16 -04:00
Morph
0f40c8c634
applets: Remove the previous software keyboard applet implementation
2021-04-15 01:53:16 -04:00
Kewlan
fd40d55a4f
game_list: Mark games as favorite to make them appear at the top.
...
Icons are from Icons8.
2021-04-15 07:15:42 +02:00
bunnei
60511976bb
Merge pull request #6199 from lioncash/log-ns
...
common/log: Move Log namespace into the Common namespace
2021-04-14 21:29:44 -07:00
Lioncash
2a341c9969
log/backend: Correct order of const in copy constructor
...
Follows our predominant coding style. Also explicitly specifies the move
constructor/assignment operator as well.
2021-04-14 23:11:01 -04:00
Lioncash
64606aefcf
common/log: Move Log namespace into the Common namespace
...
Forgot to move this over when I moved the rest of the source files with
lacking namespaces over.
2021-04-14 23:10:58 -04:00
bunnei
de5bf640b7
Merge pull request #6196 from bunnei/asserts-setting
...
core: settings: Add setting for debug assertions and disable by default.
2021-04-14 17:47:18 -07:00
bunnei
a4c6712a4b
common: Move settings to common from core.
...
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
bunnei
c6c0771b12
core: settings: Add setting for debug assertions and disable by default.
...
- This is a developer-only setting and no longer needs to be enabled by default.
- Also adds "use_auto_stub" setting to SDL frontend while we are here.
- Supersedes #1340 .
2021-04-14 16:24:02 -07:00
bunnei
eedbe8351c
Merge pull request #6197 from ameerj/kreslimit-cleanup
...
k_resource_limit: Cleanup of member variables/headers
2021-04-14 14:25:51 -07:00
bunnei
62a8505345
Merge pull request #6195 from Morph1984/controller-applet-motion
...
applets/controller: Hook up the "Motion" button functionality
2021-04-13 21:53:34 -07:00
ameerj
2067115c78
k_resource_limit: Minor cleanup of member variables/headers
2021-04-14 00:40:33 -04:00
bunnei
bb922d6ff6
Merge pull request #6185 from ameerj/process-reslimit
...
kernel/process: Replace process resource limit instance with the kernel's resource limit
2021-04-13 21:08:59 -07:00
bunnei
8146c8c5e7
Merge pull request #6191 from lioncash/vdtor
...
engine_interface: Add missing virtual destructor
2021-04-13 19:59:10 -07:00
bunnei
12a343ed8d
Merge pull request #6190 from lioncash/constfn2
...
vk_master_semaphore: Add missing const qualifier for IsFree()
2021-04-13 17:52:38 -07:00
bunnei
62b560e8e3
Merge pull request #6188 from lioncash/bits
...
vk_texture_cache: Make use of bit_cast where applicable
2021-04-13 16:44:49 -07:00
bunnei
154eb3cfbe
Merge pull request #6187 from lioncash/sign-conv
...
texure_cache/util: Resolve implicit sign conversions with std::reduce
2021-04-13 09:46:32 -07:00
Morph
10ca4c9490
applets/controller: Hook up the "Motion" button functionality
...
I forgot to hook this up during the development of the controller applet, this PR amends that.
2021-04-13 10:05:07 -04:00
bunnei
335a3cc115
Merge pull request #6186 from lioncash/cache-erase
...
query_cache: Make use of std::erase_if
2021-04-12 17:52:34 -07:00
Lioncash
ff6a83e0fe
nvidia_flags: Add missing header guard
...
Prevents potential inclusion compilation errors.
2021-04-12 19:18:48 -04:00
ameerj
5e85bc3d23
kernel/process: Replace process resource limit instance with the kernel's resource limit
...
This commit addresses the inaccurate behavior of kernel processes creating their own resource limit, rather than utilizing the kernel's system-wide resource limit instance.
2021-04-12 16:14:19 -04:00
Lioncash
0fb3773924
k_thread: Remove [[nodiscard]] attribute from ClearWaitCancelled()
...
This function has a void return value, so this attribute doesn't apply
to it.
2021-04-12 10:17:38 -04:00
Lioncash
31932904c5
engine_interface: Add missing virtual destructor
...
Eliminates a potential bug vector related to inheritance. Plus, we
should generally be specifying the destructor as virtual within purely
virtual interfaces to begin with.
2021-04-12 09:53:55 -04:00
Lioncash
9b331a5fb5
vk_master_semaphore: Deduplicate atomic access within IsFree()
...
We can just reuse the already existing KnownGpuTick() to deduplicate the
access.
2021-04-12 09:41:55 -04:00
Lioncash
c5f5d6e7f6
vk_master_semaphore: Add missing const qualifier for IsFree()
...
This member function doesn't modify class state.
2021-04-12 09:41:23 -04:00
Lioncash
4198c92ed0
vk_texture_cache: Make use of Common::BitCast where applicable
...
Also clarify the TODO comment a little more on the lacking
implementations for std::bit_cast.
2021-04-12 09:17:36 -04:00
Lioncash
fddb278aa3
texure_cache/util: Resolve implicit sign conversions with std::reduce
...
Amends implicit sign conversions occurring with usages of std::reduce
and also relocates it to its own utility function to reduce verbosity a
little bit.
2021-04-12 05:21:53 -04:00
Lioncash
4209588505
query_cache: Make use of std::erase_if
...
Same behavior, but much more straightforward to read.
2021-04-12 04:51:18 -04:00
bunnei
26d60014d0
Merge pull request #6135 from Morph1984/borderless-windowed-fullscreen
...
configure_graphics: Add Borderless Windowed fullscreen mode
2021-04-11 21:23:59 -07:00
Rodrigo Locatti
ddbd1387aa
Merge pull request #6181 from Joshua-Ashton/robustness_features
...
vulkan_device: Enable EXT_robustness2 features
2021-04-11 20:42:14 -03:00
Rodrigo Locatti
9f1cf99ea0
Merge pull request #6182 from Joshua-Ashton/null-offset
...
vk_buffer_cache: Fix offset for NULL vertex buffers
2021-04-11 20:41:48 -03:00
bunnei
0c19147e09
Merge pull request #6170 from Morph1984/more-time-fixes
...
service: time: Setup the network clock with the local clock context
2021-04-11 10:50:08 -07:00
Joshua Ashton
0ec6cb942d
vk_buffer_cache: Fix offset for NULL vertex buffers
...
The Vulkan spec states:
If an element of pBuffers is VK_NULL_HANDLE, then the corresponding element of pOffsets must be zero.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBindVertexBuffers2EXT.html#VUID-vkCmdBindVertexBuffers2EXT-pBuffers-04112
2021-04-11 10:34:52 +01:00
Joshua Ashton
08337a492d
vulkan_device: Enable EXT_robustness2 features
...
When this was being made mandatory, these enablement of these features was removed, but this is still needed.
Fixes: 757fd1e917
("vulkan_device: Require VK_EXT_robustness2")
2021-04-11 09:48:38 +01:00
Joshua Ashton
bcf58c8210
renderer_vulkan: Check return value of AcquireNextImage
...
We can get into a really bad state by ignoring this
leading to device loss and using incorrect resources.
2021-04-11 09:27:50 +01:00
bunnei
4f60818eae
Merge pull request #6167 from Morph1984/time-fix
...
service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
2021-04-10 22:11:53 -07:00
bunnei
290b452ea1
Merge pull request #6112 from ogniK5377/pctl
...
pctl: Rework how pctl works to be more accurate
2021-04-10 21:09:54 -07:00
bunnei
1063e0be48
Merge pull request #6172 from degasus/cmake_opus
...
externals: Search for shared opus installation.
2021-04-10 02:27:02 -07:00
bunnei
b04877dd95
Merge pull request #6099 from bunnei/derive-mem
...
Kernel Rework: Derive memory regions from board layout.
2021-04-10 00:02:52 -07:00
bunnei
31c80b8c6f
Merge pull request #6171 from german77/services
...
service: Update service function tables and use proper names
2021-04-09 22:47:34 -07:00
bunnei
c6d2af16b5
Merge pull request #6156 from lioncash/lock-discard
...
kernel: Mark lock helper classes as [[nodiscard]]
2021-04-09 21:42:26 -07:00
bunnei
9cf8bcc75c
Merge pull request #6113 from german77/playhistory
...
Friend: Stub GetPlayHistoryRegistrationKey
2021-04-09 20:50:13 -07:00
bunnei
96d07b4949
Merge pull request #6158 from german77/hidServiceTables
...
hid: Update service function tables
2021-04-09 16:10:06 -07:00
bunnei
d6e5e053a6
Merge pull request #6162 from degasus/no_spin_loops
...
video_core: Avoid spin loops.
2021-04-09 11:52:18 -07:00
Morph
9c85bcbecc
ns: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
467ef54e2a
aoc_u: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
8a9e834fc2
nim: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
e0bddf8f07
npns: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
5ce0e127da
bgtc: Update to 12.x and implement OpenTaskService
2021-04-09 00:49:47 -04:00
Morph
6af7bd02b2
vi: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
7e62452ac8
erpt: Update to 12.x
2021-04-09 00:49:46 -04:00
Morph
5ec2fdceca
btm: Update to 12.x
2021-04-09 00:49:46 -04:00
Morph
214ef2dd8a
btdrv: Update to 12.x
2021-04-09 00:49:46 -04:00
bunnei
c1017efb4a
Merge pull request #6168 from Morph1984/stub-SetNpadAnalogStickUseCenterClamp
...
service: hid: Stub SetAnalogStickUseCenterClamp
2021-04-08 21:16:47 -07:00
german77
09a8e08109
wlan: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
ac14ef70b5
usb: Use proper names
2021-04-08 19:40:25 -06:00
german77
35abd560c4
ITimeZoneService: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
e7530b341e
spl: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
01928b1d17
sfdnsres: Use proper names
2021-04-08 19:40:25 -06:00
german77
ff1201210c
nsd: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
f90041a2d4
ethc: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
6c81332ca7
sm: Use proper names, update to 12.x
2021-04-08 19:40:25 -06:00
german77
7133bfdd2c
set_sys: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
556c5df745
pctl_module: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
4530b58eb0
pcie: Use proper names
2021-04-08 19:40:25 -06:00
german77
53f1560a24
olsc: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
c37b8a1028
pl_u: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
278c38aa4a
ldr: Use proper names
2021-04-08 19:40:25 -06:00
german77
a4e2821530
arp: Use proper names, update to 12.x
2021-04-08 19:40:25 -06:00
german77
a83f0f7154
caps_u: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
dbc4c8e314
caps_a: Update to 12.x
2021-04-08 19:40:24 -06:00
german77
03790771a6
bpc: Use proper names
2021-04-08 19:40:24 -06:00
german77
0377618288
bcat_module: Update to 12.x
2021-04-08 19:40:24 -06:00
german77
247b1c14d2
codecctl: Use proper names
2021-04-08 19:40:24 -06:00
german77
ec0e644fb0
audren_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
8f1300cd31
audren_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
6219da627b
audrec_u: Use proper names, update to 12.x
2021-04-08 19:40:24 -06:00
german77
5ce97bf0a0
audrec_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
b059db74c5
audout_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
c51d9e0b0a
audout_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
d7f2078e7b
audin_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
b6bbc0d483
audin_a: Use proper names
2021-04-08 19:40:24 -06:00
bunnei
701b6c2fb8
Merge pull request #6155 from ameerj/kernel-12-rescnt
...
kernel: Increase event and session counts
2021-04-08 18:21:00 -07:00
bunnei
d894818bb3
Merge pull request #6157 from Morph1984/am-update-12.x
...
service: am: Update service function tables
2021-04-08 16:37:59 -07:00
bunnei
1744fa6ecf
Merge pull request #6062 from ameerj/auto-stub
...
service: Add a toggle for auto stub fallback
2021-04-08 15:32:41 -07:00
Markus Wick
5096ed5e0a
externals: Search for shared opus installation.
...
We had used conan for opus before, but there was a bug in the AVX detection.
However we still had the Findopus.cmake file within the repository, but not used.
This patch reenables the Findopus helper and prefer the system wide installation of opus.
2021-04-08 23:49:32 +02:00
bunnei
dfac2e2d25
Merge pull request #6145 from lat9nq/nvhost_empty_memcpy
...
nvhost_nvdec_common: Avoid memcpy with null pointers
2021-04-08 13:23:05 -07:00
Morph
2283fccc1b
service: time: Setup the network clock with the local clock context
...
Setting the network time allows some time based events using the network clock to not reset.
2021-04-08 13:26:38 -04:00
bunnei
415dfb6cd3
Merge pull request #6154 from lioncash/svcrange2
...
svc: Expand SVC tables
2021-04-08 09:21:55 -07:00
Morph
8e545deab9
service: hid: Stub SetAnalogStickUseCenterClamp
...
- Used by eBASEBALLパワフルプロ野球2020
2021-04-08 03:41:06 -04:00
bunnei
15a07f0282
Merge pull request #6160 from Morph1984/fs-update-12.x
...
service: fs: Update service function tables
2021-04-07 20:54:42 -07:00
Morph
28d3661a5c
service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
...
CalculateStandardUserSystemClockDifferenceByUser passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments.
2021-04-07 23:34:14 -04:00
bunnei
262a70223f
Merge pull request #6143 from lat9nq/nvhost_null_memcpy
...
nvhost_ctrl_gpu: Avoid sending null pointer to memcpy
2021-04-07 16:50:22 -07:00
bunnei
535e50db1c
Merge pull request #6159 from Morph1984/acc-update-12.x
...
service: acc: Update service function tables
2021-04-07 14:37:59 -07:00
Markus Wick
e8bd9aed8b
video_core: Use a CV for blocking commands.
...
There is no need for a busy loop here. Let's just use a condition variable to save some power.
2021-04-07 22:38:52 +02:00
Markus Wick
e6fb49fa4b
video_core/gpu_thread: Keep the write lock for allocating the fence.
...
Else the fence might get submited out-of-order into the queue, which makes testing them pointless.
Overhead should be tiny as the mutex is just moved from the queue to the writing code.
2021-04-07 22:38:52 +02:00
Markus Wick
5145133a60
video_core/gpu_thread: Implement a ShutDown method.
...
This was implicitly done by `is_powered_on = false`, however the explicit method allows us to block until the GPU is actually gone.
This should fix a race condition while removing the other subsystems while the GPU is still active.
2021-04-07 22:38:52 +02:00
Markus Wick
4aec060f6d
common/threadsafe_queue: Provide Wait() method.
...
It shall block until there is something to consume in the queue.
And use it for the GPU emulation instead of the spin loop.
This is only in booting the emulator, however in BOTW this is the case for about 1 second.
2021-04-07 22:38:52 +02:00
bunnei
3173a53db9
Merge pull request #6130 from degasus/better_assert_handling
...
common: Move assert failure handling into a cpp file.
2021-04-07 13:35:41 -07:00
bunnei
d490f6dcf8
Merge pull request #6153 from lioncash/svcrange
...
process_capability: Handle extended SVC range
2021-04-07 13:01:40 -07:00
Morph
a2d40b8185
hwopus: Update to 12.x
2021-04-07 02:57:39 -04:00
Morph
1ad4c98a5c
IFile: Update to 12.x
2021-04-07 02:49:19 -04:00
Morph
c44db90ad1
fsp-srv: Update to 12.x
2021-04-07 02:46:29 -04:00
Morph
531e797795
dauth_o: Update to 11.x
2021-04-07 02:15:55 -04:00
Morph
ded420cfeb
acc_u1: Update to 12.x
2021-04-07 02:15:55 -04:00
Morph
63caeca6ba
acc_su: Update to 12.x
2021-04-07 02:15:55 -04:00
german77
4fe05d7b42
hid: Update service function tables
2021-04-07 01:15:38 -05:00
Morph
63ebf2a328
ISelfController: Update to 11.x
2021-04-07 02:00:19 -04:00
Morph
d04120169d
IApplicationFunctions: Update to 11.x
2021-04-07 01:59:35 -04:00
Morph
ad0d5818a6
IDebugFunctions: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
49ec5784b0
ICommonStateGetter: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
4cdc701fd3
IGlobalStateController: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
95fa89da27
IHomeMenuFunctions: Update to 12.x
2021-04-07 01:53:04 -04:00
Lioncash
530a5a1d09
Amend bizarre clang-format suggestions
2021-04-07 01:52:08 -04:00
Lioncash
1e964604bb
k_scoped_scheduler_lock_and_sleep: Mark class as [[nodiscard]]
...
Prevents logic bugs from slipping through.
2021-04-07 01:45:04 -04:00
Lioncash
c018769016
k_scoped_lock: delete copy and move assignment operators
...
If we delete the copy and move constructor, we should also be deleting
the copy and move assignment operators (and even if this were intended,
it would be pretty odd to not document why it's done this way).
2021-04-07 01:25:57 -04:00
Lioncash
bc30aa8249
k_scoped_lock: Mark class as [[nodiscard]]
...
Prevents logic bugs of the kind described in the previous commit from
slipping through.
2021-04-07 01:23:08 -04:00
Lioncash
97e2604575
k_scheduler: Mark KScopedSchedulerLock as [[nodiscard]]
...
Prevents logic bugs like:
KScopedSchedulerLock{kernel};
instead of:
KScopedSchedulerLock lk{kernel};
from slipping through.
2021-04-07 01:19:29 -04:00
ameerj
24900674b7
kernel: Increase event and session counts
...
12.x increased the number of available sessions and event resource counts
2021-04-07 01:01:05 -04:00
bunnei
068b2ffbcc
Merge pull request #6146 from lat9nq/vp9_empty_memcpy
...
vp9: Avoid memcpy with null pointers
2021-04-06 21:57:43 -07:00
Lioncash
55fc808d64
svc: Expand SVC tables
...
12.x expanded the range of SVC entries from 0x7F to 0xBF (with all new
entries being unused), so we can expand it to also match.
2021-04-07 00:55:33 -04:00
Lioncash
03dda80e2b
process_capability: Handle extended SVC range
...
12.x extended the range of SVC IDs, so we need to expand the range of
bits that need to be tested.
The upside of this is that we can eliminate a range check, given the
whole range is used.
2021-04-07 00:35:49 -04:00
Morph
8ce31f1c8e
config: Default to exclusive fullscreen mode on platforms other than Windows
...
Several issues have been reported with the borderless windowed fullscreen mode on *nix platforms. Default to exclusive fullscreen mode on these platforms for now.
2021-04-06 05:58:57 -04:00
Morph
01ea0f3c74
configure_graphics: Add Borderless Windowed fullscreen mode
...
The borderless windowed fullscreen mode solves several issues with the presentation of the overlay dialogs and on-screen keyboard in exclusive fullscreen mode, and also has other benefits such as smoother gameplay, lower latency and a significant reduction in screen tearing.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2021-04-06 05:58:57 -04:00
lat9nq
2cc42e40c5
nvhost_nvdec_common: Avoid memcpy with null pointers
...
Avoid sending null pointer to memcpy as reported by Undefined Behavious
Sanitizer.
Co-authored-by: LC <mathew1800@gmail.com>
2021-04-05 16:40:03 -04:00
lat9nq
638c892edf
nvhost_ctrl_gpu: Avoid sending null pointer to memcpy
...
Undefined Behaviour Sanitizer reports a null pointer is being sent to
memcpy, thought it's "guaranteed to never be null". Guard it with an if
statement, and log when the action has been averted.
2021-04-05 00:49:09 -04:00
lat9nq
a60653dcd3
vp9: Avoid memcpy with null pointers
...
Avoid sending null pointer to memcpy as reported by Undefined Behaviour
Sanitizer. Replaces the std::memcpy calls in SpliceVectors with
std::copy calls. Opting to replace all the memcpy's with copy's.
Co-authored-by: LC <mathew1800@gmail.com>
2021-04-05 00:44:38 -04:00
Markus Wick
9be819faaf
common: Move assert failure handling into a cpp file.
...
Advantage: Altering the handler does not need a full recompilation.
Disadvantage: noreturn is droped, so the caller is a bit slower.
We quite often run yuzu with a YOLO assertion handler. In fact, only very few
games run at all with asserts. This patch allows developers to patch the handler
without recompiling everything. The overhead of the missing "noreturn" attribute
shoul be negletable.
2021-04-04 21:19:33 +02:00
lat9nq
33ed02a239
configure_graphics: Prevent stack-use-after-scope
...
Address Sanitizer reports stack-use-after-scope on line 231
`vulkan_devices.push_back(QString::fromStdString(name));`. Instead of
using a pointer, copy the string into a std::string and use that,
instead.
2021-04-04 15:05:22 -04:00
bunnei
c92a211e7c
Merge pull request #6127 from german77/udpSingleConnection
...
InputCommon: Improve UDP communications
2021-04-03 23:14:23 -07:00
bunnei
c5ca8675c8
Merge pull request #6132 from MerryMage/code_size
...
arm_dynarmic: Increase size of code cache
2021-04-02 18:47:04 -07:00
Morph
aca6ab6417
Merge pull request #6131 from german77/rightjoyconSLSR
...
HID: Fix SL and SR buttons for right joycon
2021-04-02 15:48:04 -04:00
MerryMage
0fbd7752c3
arm_dynarmic: Increase size of code cache
2021-04-02 18:09:15 +01:00
german77
eaf0c4af11
HID: Fix SL and SR buttons for right joycon
2021-04-02 09:03:11 -05:00
bunnei
d69421b1db
Merge pull request #6106 from MerryMage/nullptr-jit
...
[test] arm_dynarmic: Always have a 'valid' jit instance
2021-04-01 09:50:00 -07:00
bunnei
e44622860a
Merge pull request #6126 from Morph1984/stub-SetAlbumImageTakenNotificationEnabled
...
ISelfController: Stub SetAlbumImageTakenNotificationEnabled
2021-03-30 21:32:01 -07:00
german77
bb3dce9363
Use a single connection for UDP server, make connection test longer and check all pads instead of only the first one
2021-03-30 22:17:08 -05:00
german77
d9db1d125e
InputCommon: Name properly xbox 360 and one controllers, Fix mappings for Nintendo Pro controllers
2021-03-30 21:40:36 -05:00
Rodrigo Locatti
5ee669466f
Merge pull request #5927 from ameerj/astc-compute
...
video_core: Accelerate ASTC texture decoding using compute shaders
2021-03-30 19:31:52 -03:00
bunnei
eeea426c74
Merge pull request #6116 from german77/userArgument
...
yuzu/main: Add user command line argument
2021-03-30 15:01:33 -07:00
Morph
ca30190fad
ISelfController: Stub SetAlbumImageTakenNotificationEnabled
...
This service call sets an internal flag whether a notification is shown when an image is captured.
Currently we do not support capturing images via the capture button, so this can be stubbed for now.
2021-03-30 13:45:00 -04:00
ameerj
54c1e0897d
configuration: Add auto stub toggle that resets on boot
...
Auto-stub is an experimental debugging feature that may cause unforseen bugs. This adds a toggle to only allow auto-stubbing unimplemented functions when explicitly enabled when yuzu is launched.
2021-03-30 13:40:31 -04:00
ameerj
e6e61424d4
service: Auto stub fallback
...
For simple services we can implement an automatic stub fallback to help with compatibility until a proper implementation is done.
Co-Authored-By: Chloe <25727384+ognik5377@users.noreply.github.com>
2021-03-30 13:40:31 -04:00
bunnei
b3f68098d5
Merge pull request #6124 from jbeich/vulkan+opengl
...
vulkan_common: enable OpenGL interop on other Unices
2021-03-30 09:37:00 -07:00
Chloe Marcec
bf1c1788ca
nvdrv: Cleanup CDMA Processor on device closure
...
Brings us a step closer to unifying all channels to share a common interface.
2021-03-30 20:37:40 +11:00