Commit Graph

21282 Commits

Author SHA1 Message Date
arades79 60a68839ee remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79 3e078dbb07 apply clang-format
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79 e342fecde6 don't use static inside constexpr function
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
arades79 adcef452e0 add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
liamwhite ba774d82c7 Merge pull request #9795 from Kelebek1/biquad_fix
[audio_core] Use different state offset for each biquad filter channel
2023-02-14 09:11:26 -05:00
liamwhite e17f996ba5 Merge pull request #9793 from Morph1984/borderless-hidpi
main: Fix borderless fullscreen for high dpi scaled displays
2023-02-14 09:11:15 -05:00
Liam c68577384a general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
Kelebek1 4aee835d49 Fix biquad filter command's state buffer offset 2023-02-13 16:21:29 +00:00
Liam 832e1e2ca4 kernel: use GetCurrentProcess 2023-02-13 11:05:14 -05:00
bunnei e24cd10a63 Merge pull request #9784 from m-HD/master
settings: added missing graphical settings to RestoreGlobalState()
2023-02-12 21:49:45 -08:00
Morph 3da39e4969 main: Fix borderless fullscreen for high dpi scaled displays
On Windows, a borderless window will be treated the same as exclusive fullscreen
when the window geometry matches the physical dimensions of the screen.
However, with High DPI scaling, when the devicePixelRatioF() is > 1, the borderless
window apparently is not treated as exclusive fullscreen and functions correctly.
One can verify and replicate this behavior by using a high resolution (4K) display,
and switching between 100% and 200% scaling in Windows' display settings.
At 100%, without the addition of 1, it is treated as exclusive fullscreen.
At 200%, with or without the addition of 1, it is treated as borderless windowed.
Therefore, we can use (read: abuse) this difference in behavior to fix this issue for
those with higher resolution displays when the Qt scaling ratio is > 1.
Should this behavior be changed in the future, please revisit this workaround.
2023-02-12 21:58:49 -05:00
bunnei ccd667ae40 Merge pull request #9757 from german77/gyro
core: hid: Use gyro thresholds modes set by the game
2023-02-12 00:19:22 -08:00
bunnei 5cf07bebee Merge pull request #9746 from ameerj/ogl-msaa-texcache
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-12 00:18:52 -08:00
m-HD fa7436638c Update settings.cpp
added missing graphical settings to RestoreGlobalState()
2023-02-12 02:58:39 +01:00
ameerj b60e0b5360 texture_cache: OpenGL: Implement MSAA uploads and copies 2023-02-11 15:43:07 -05:00
Colin Kinloch d0ca9973a7 kernel/svc: Fix undefined info_id 2023-02-11 18:00:34 +00:00
liamwhite 116140b8a4 Merge pull request #9777 from vonchenplus/speed_up_video_copy
video_core: Speed up video frame data copy
2023-02-11 12:35:16 -05:00
Kelebek1 b5421d05cd Add fallback for memory read/write in case the address goes over a 4K page 2023-02-11 16:27:43 +00:00
liamwhite 3434c23625 Merge pull request #9773 from bunnei/fix-process-resource
core: kernel: k_process: Use application system resource.
2023-02-11 10:28:50 -05:00
liamwhite 82c83dbbd9 Merge pull request #9768 from merryhime/biquad-rounding
biquad_filter: Fix rounding in ApplyBiquadFilterInt
2023-02-11 10:28:42 -05:00
liamwhite 287638f621 Merge pull request #9744 from behunin/quick-release
gpu_thread: Remove OnCommandListEndCommand
2023-02-11 10:28:30 -05:00
FengChen b2395ce048 video_core: Speed up video frame data copy 2023-02-11 22:18:54 +08:00
Kelebek1 5c8140092f Fix depop prepare receiving bad mix infos and writing out of bounds, and update aux a bit, may help 2023-02-11 10:21:25 +00:00
bunnei 37faa1acc8 Merge pull request #9742 from liamwhite/svc-wrap-only
kernel/svc: switch to generated wrappers
2023-02-10 21:41:22 -08:00
bunnei 0fea8b78c3 Merge pull request #9759 from german77/pro_controller
input_common: Reintroduce custom pro controller support
2023-02-10 21:14:40 -08:00
bunnei 86a1aa0fcc core: kernel: k_process: Use application system resource. 2023-02-10 21:03:39 -08:00
ameerj 8467bf5224 kernel: Refactor thread_local variable usage
On MSVC at least, there seems to be a non-trivial overhead to calling GetHostThreadId().

This slightly reworks the host_thread_id variable to reduce some of the complexity around its usage, along with some small refactors around current_thread and dummy thread
2023-02-10 20:43:06 -05:00
Merry 46ce21d3e2 biquad_filter: Clamp f64 in ApplyBiquadFilterFloat 2023-02-10 20:43:34 +00:00
Merry f35302d4bf biquad_filter: Fix rounding in ApplyBiquadFilterInt 2023-02-10 20:34:52 +00:00
liamwhite caaad4fd5f Merge pull request #9761 from Morph1984/oops
main: Re-add QtWebEngine zoom factor
2023-02-10 10:54:10 -05:00
Liam f68b3dcb29 kernel: avoid usage of bit_cast 2023-02-10 09:13:58 -05:00
Morph 030b6f5a5b main: Re-add QtWebEngine zoom factor
For some reason, I had removed this in 2a75968ff4

This should fix any improperly scaled web applets.
2023-02-09 22:57:37 -05:00
liamwhite 5e8beb000b Merge pull request #9736 from Kelebek1/dynamic_vertex_attribs
Remove fake vertex bindings when dynamic state is enabled
2023-02-09 22:14:55 -05:00
liamwhite d3355f0fe0 Merge pull request #9750 from ameerj/glsl-sample-id-mask
glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
2023-02-09 22:14:47 -05:00
Narr the Reg 75039440f3 input_common: Reintroduce custom pro controller support 2023-02-09 20:08:54 -06:00
Narr the Reg 326d8c0905 audio: cubeb: Fix yuzu crashing when it test for latency 2023-02-09 19:38:03 -06:00
Narr the Reg 420560f4d3 core: hid: Use gyro thresholds modes set by the game 2023-02-09 19:07:50 -06:00
ameerj c5f3db8235 buffer_base: Partially revert changes from #9559
This fixes a regression where Yoshi's Crafted World (and potentially other titles) would enter an infinite loop when GPU Accuracy was set to "Normal"
2023-02-08 19:37:23 -05:00
ameerj a6405c4890 glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-08 19:34:39 -05:00
liamwhite 8fd7978bd7 Merge pull request #9747 from german77/SetSupportedNpadIdTypes
service: hid: Return error if arguments of SetSupportedNpadIdType is invalid
2023-02-08 10:09:26 -05:00
Narr the Reg 3d2f7c4170 service: hid: Return error if arguments of SetSupportedNpadIdType is invalid 2023-02-07 21:11:39 -06:00
Mai aa4422e8b8 Merge pull request #9739 from liamwhite/old-gcc-fix
kernel: fix compilation with older gcc
2023-02-07 22:10:35 -05:00
Behunin 09f64e648a Remove OnCommandListEndCommand
Call rasterizer->ReleaseFences() directly
2023-02-07 17:21:17 -07:00
Liam b91913334e kernel/svc: switch to generated wrappers 2023-02-06 23:57:44 -05:00
liamwhite 5bfb5c5283 Merge pull request #4949 from Morph1984/hidpi-temp-fix
main: Enable High DPI fixes for Qt >= 5.14
2023-02-06 23:20:49 -05:00
bunnei 0281ba316f Merge pull request #9644 from SaiKai/volume_quicksetting
add volume quicksetting with volume slider
2023-02-06 17:10:44 -08:00
Liam 43131451c3 kernel: fix compilation with older gcc 2023-02-06 13:14:27 -05:00
Matías Locatti 9bc808f872 Update yuzu_cmd's default_ini.h
Rename FSR, add missing resolution multipliers, and SMAA
2023-02-06 06:01:51 -03:00
Kelebek1 b2a024c42a Remove fake vertex bindings when dynamic state is enabled 2023-02-05 22:28:03 +00:00
Liam 2d0892da7f kernel/svc: Split implementations into separate files 2023-02-04 22:37:43 -05:00
bunnei 498483fbaf Merge pull request #9720 from SoRadGaming/discordPresenceUpdate
Game Image with Discord RPC
2023-02-04 18:37:21 -08:00
Sorab 5f5c185e3b Add Game Icon for Discord RPC
Connected to Yuzu Compatibility Page
2023-02-05 12:40:57 +11:00
liamwhite 34fb5bf337 Merge pull request #9730 from german77/cmd_arg
yuzu_cmd: Order arguments alphabetically and port arguments from Qt
2023-02-04 15:01:17 -05:00
liamwhite 50d3f0b674 Merge pull request #9729 from german77/sdl_input
yuzu_cmd: Fix touch and controller input
2023-02-04 15:01:07 -05:00
german77 60b2683cc1 yuzu_cmd: Order arguments alphabetically and port arguments from Qt 2023-02-04 11:33:29 -06:00
german77 c657c3cade yuzu_cmd: Fix mismatching controller input 2023-02-04 11:05:57 -06:00
german77 64ae3aeeb9 yuzu_cmd: Fix touch input 2023-02-04 10:31:12 -06:00
ameerj 97e9f40a52 shader_recompiler/value.h: Remove lingering references to S32 2023-02-04 00:13:47 -05:00
bunnei 94e1359ad6 Merge pull request #9717 from german77/less_is_better
input_common: Simplify stick from button
2023-02-03 16:09:29 -08:00
Jonas Gutenschwager 2b805dde46 remove disambiguation argument from mute text
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-02-04 00:00:20 +01:00
ameerj 0b2e3ecc19 fsp_srv: Copy HLE Read Buffer for OutputAccessLogToSdCard 2023-02-03 00:12:16 -05:00
ameerj 7cc5da4a9f Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 153fa289d2, reversing
changes made to 20676b3b5a.
2023-02-03 00:08:45 -05:00
Mai f14352a7e1 Merge pull request #9713 from unfamiliarplace/master
Added 'Hide empty rooms' toggle to lobby
2023-02-02 23:54:48 -05:00
bunnei 153fa289d2 Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
2023-02-02 19:04:50 -08:00
bunnei 20676b3b5a Merge pull request #9704 from liamwhite/das
kernel: add KDeviceAddressSpace
2023-02-02 19:00:23 -08:00
Luke Sawczak 479a4b297b added 'Hide empty rooms' toggle to lobby
fixed typo

fixed typo

fixed typo

clang
2023-02-02 18:46:28 -06:00
liamwhite f74a95b6fb Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer" 2023-02-02 15:53:28 -05:00
Narr the Reg c98ef11cfe input_common: Simplify stick from button 2023-02-02 10:13:27 -06:00
liamwhite f4d17a1428 Merge pull request #9708 from ameerj/gl-context-flush
gl_shader_cache: Force context flush when loading disk shader cache
2023-02-01 22:38:13 -05:00
liamwhite 101ed75739 Merge pull request #9703 from ameerj/txq-ms
shaders: Fix TXQ with MSAA textures
2023-02-01 22:38:00 -05:00
Liam 1f14d5ebce kernel: add KDeviceAddressSpace 2023-02-01 17:18:21 -05:00
bunnei b781b8621f Merge pull request #9696 from german77/please_forgive_me_for_this_sin
input_common: Implement turbo buttons
2023-02-01 12:08:34 -08:00
german77 817d7c302a yuzu: config: Draw turbo buttons with a different color 2023-02-01 12:42:06 -06:00
german77 db99ab5431 input_common: Implement turbo buttons 2023-02-01 12:42:05 -06:00
bunnei b383cea866 Merge pull request #9697 from liamwhite/kcap
kernel: add KCapabilities
2023-01-31 10:51:10 -08:00
bunnei 8d052680ee Merge pull request #9508 from ameerj/hle-ipc-buffer-span
hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer
2023-01-30 12:17:09 -08:00
liamwhite 19c174e9cb Merge pull request #9701 from german77/common_protocol
input_common: joycon: Remove Magic numbers from common protocol
2023-01-30 09:02:12 -05:00
liamwhite c3424d3da3 Merge pull request #9631 from vonchenplus/vulkan_clear
video_core: Implement vulkan clear specified channel
2023-01-30 09:01:55 -05:00
Liam 943f0bf0c3 kernel: add KCapabilities 2023-01-29 22:08:28 -05:00
ameerj 8e0a70ddcf gl_compute_pipeline: Force context flush when loading shader cache 2023-01-29 21:32:12 -05:00
Narr the Reg 3fcf573751 input_common: joycon: Remove Magic numbers from common protocol 2023-01-29 20:12:58 -06:00
ameerj 175244e92e gl_graphics_pipeline: Force context flush when loading shader cache 2023-01-29 20:26:49 -05:00
Narr the Reg 954f7206a6 input_common: joycon: Fill missing enum data 2023-01-29 19:11:46 -06:00
Levi Behunin 2ff6c44168 Move to Clang Format 15
Depends on https://github.com/yuzu-emu/build-environments/pull/69

clang-15 primary run
2023-01-29 17:49:42 -07:00
ameerj bbb60f60d2 spirv: Fix TXQ with MSAA textures 2023-01-29 13:47:30 -05:00
ameerj 13b0feaede emit_glasm_image: Fix TXQ with MSAA textures 2023-01-29 13:42:34 -05:00
ameerj 2a98e88a3a emit_glsl_image: Implement TXQ with MSAA textures
Also fixes for texture buffers, which do not have mips eithers.
2023-01-29 13:31:47 -05:00
liamwhite e472e66c2f Merge pull request #9699 from ameerj/texture-pass-desc
texture_pass: Fix texture descriptors comparisons
2023-01-29 12:27:41 -05:00
liamwhite 8224292145 Merge pull request #9698 from ameerj/texture-pass-handle
texture_pass: Refactor texture handle retrieval
2023-01-29 12:27:33 -05:00
liamwhite a5bc2444d2 Merge pull request #9694 from ameerj/txq-mips
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
liamwhite 4d775a9329 Merge pull request #9684 from liamwhite/read-the-spec
polyfill_thread: satisfy execution ordering requirements of stop_callback
2023-01-29 09:35:42 -05:00
bunnei be27d89a18 Merge pull request #9689 from german77/joycon-calibration
input_common: joycon: Remove magic numbers from calibration protocol
2023-01-29 02:43:14 -08:00
bunnei f0539b70d5 Merge pull request #9691 from ameerj/msaa-texcache
texture_cache: Fix tracking of MSAA image views
2023-01-28 23:47:45 -08:00
liamwhite eb21897c5f Merge pull request #9690 from german77/whoops
yuzu: config: Avoid reading deleted object
2023-01-28 22:28:38 -05:00
ameerj 6e5f3d43f2 texture_pass: Fix texture descriptors comparisons 2023-01-28 21:23:52 -05:00
ameerj be397f57ad texture_pass: Refactor texture handle retrieval 2023-01-28 21:11:38 -05:00
bunnei 6fd5d0c3b5 Merge pull request #9687 from ameerj/ogl-shader-ms
glasm, glsl: Implement multisampled Image Fetch
2023-01-28 16:32:11 -08:00
bunnei da76935b7d Merge pull request #9682 from ameerj/shader-s32
shader_recompiler: Remove S32 IR type
2023-01-28 14:00:11 -08:00
ameerj 2d2558797c shader_recompiler: TXQ: Skip QueryLevels when possible 2023-01-28 16:25:18 -05:00
ameerj f68ef5b15a emit_glsl_image: Fix ImageFetch for MSAA textures 2023-01-28 14:39:27 -05:00
Narr the Reg 56cf32f245 yuzu: config: Avoid reading deleted object 2023-01-28 12:50:27 -06:00
liamwhite 4dd6d9689b Merge pull request #9661 from SoRadGaming/LDNhostnameSupport
LDN hostname support in direct connect
2023-01-28 12:09:57 -05:00
SoRadGaming f274064268 LDN Hostname Support in Direct Connect
- Added IPv6 & Namespace support in direct connection Regex
- Updated Tooltip for Direct Connect UI
- Removed Dropdown Connection Type in Direct Connect
2023-01-28 18:33:21 +11:00
ameerj ee53f833e7 texture_cache: Adjust image view sizes by MSAA samples 2023-01-28 00:15:29 -05:00
FengChen 667f2331d1 video_core: Implement vulkan clear specified channel 2023-01-28 12:53:05 +08:00
Liam 6237e8d92f polyfill_thread: satisfy execution ordering requirements of stop_callback 2023-01-27 21:34:49 -05:00
bunnei 5a53999a74 Merge pull request #9677 from Morph1984/sleep-one
polyfill_thread: Implement StoppableTimedWait
2023-01-27 18:28:03 -08:00
Narr the Reg e700634d3c input_common: joycon: Replace ReadSPI vector with span 2023-01-27 18:45:25 -06:00
liamwhite f81bd5bc15 Merge pull request #9539 from Wollnashorn/opengl-fsr
video_core/opengl: Added FSR upscaling filter to the OpenGL renderer
2023-01-27 19:28:35 -05:00
Narr the Reg f20ec6f69b input_common: joycon: Remove magic numbers from calibration protocol 2023-01-27 17:12:04 -06:00
bunnei ea38bd85e1 Merge pull request #9666 from liamwhite/wait-for-me
kernel: fix incorrect locking order in suspension
2023-01-27 15:06:09 -08:00
ameerj 9f64e023df glasm: Add MS sampler types 2023-01-27 02:09:18 -05:00
ameerj 6967e3edb9 glsl: Add MS sampler types 2023-01-27 02:09:17 -05:00
Liam 86c6735bd0 kernel: unbreak min/max template deduction on Apple Clang 2023-01-26 17:43:37 -05:00
Wollnashorn 6b840142b3 video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
bunnei bfe5129779 Merge pull request #9683 from german77/high_power_joycon
input_common: Implement SetLowPowerMode and TriggersElapsed
2023-01-26 10:56:31 -08:00
Narr the Reg 8666d84926 input_common: Implement SetLowPowerMode and TriggersElapsed for the joycon driver 2023-01-26 11:21:04 -06:00
bunnei 7c607953e5 Merge pull request #9670 from merryhime/revert-7f18e3bb898911343e3909f676dc96f3a34b1e95
Revert "MemoryManager: use fastmem directly."
2023-01-25 22:28:55 -08:00
bunnei e34c349e27 Merge pull request #9652 from liamwhite/ms
spirv: fix multisampled image fetch
2023-01-25 22:28:18 -08:00
bunnei 284ce233dc Merge pull request #9604 from liamwhite/pt
kernel: KPageTable: update
2023-01-25 22:27:48 -08:00
ameerj 382717743a shader_recompiler: Remove S32 IR type
The frontend IR opcodes do not distinguish between signed and unsigned integer types.

Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-25 22:03:15 -05:00
Morph 2a75968ff4 main: Convert to device independent coordinates for scaling
devicePixelRatioF() returns the scaling ratio when high dpi scaling is enabled.
When high dpi scaling is enabled, the raw screen coordinate system is scaled to device independent coordinates.
2023-01-25 21:16:05 -05:00
Morph 3c27ddd604 main: Use passthrough scaling for non-windows OSes
They should be better than windows when handling fractional scaling ratios.
2023-01-25 21:16:04 -05:00
Morph 6cd0467543 main: Enable High DPI fixes for Qt >= 5.14
This uses Qt's new high DPI application attributes for scaling the current window.
However, these aren't perfect as scaling with non integer scales will cause artifacts in UI, icons and other elements.
Therefore, we use a heuristic to select an appropriate integer scale value depending on the current screen resolution and applies this to the application.
2023-01-25 21:16:04 -05:00
Morph 79d9982c66 main: Only set AA_DisableWindowContextHelpButton below Qt6
This is fortunately disabled by default on Qt6, so we just have to check whether we are compiling with Qt6 or not.
2023-01-25 18:45:22 -05:00
liamwhite 216e4e6b7f Merge pull request #9675 from Morph1984/ini-concat
default_ini: Split and concatenate the config string literal
2023-01-25 17:57:09 -05:00
liamwhite 3fddcdf939 Merge pull request #9668 from Morph1984/qt-why-is-this-not-the-default
main: Globally disable the "?" button on dialogs
2023-01-25 17:56:58 -05:00
liamwhite 430263f84e Merge pull request #9676 from german77/revert-stick-range
Revert #9617 and fix it on input_common
2023-01-25 17:56:47 -05:00
Morph 8be6571a38 input_common: Make use of StoppableTimedWait 2023-01-25 16:43:04 -05:00
Morph 337f943c97 polyfill_thread: Implement StoppableTimedWait
StoppableTimedWait allows for a timed wait to be stopped immediately after a stop is requested.
This is useful in cases where long duration thread sleeps are needed and allows for immediate joining of waiting threads after a stop is requested.

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-01-25 16:43:04 -05:00
Jan Beich e22bf4d418 input_common: add missing header for libc++ after 13ccfd78bd
src/input_common/drivers/joycon.cpp:187:26: error: no member named 'find_if' in namespace 'std::ranges'
            std::ranges::find_if(left_joycons, [](auto& device) { return !device->IsConnected(); });
            ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:193:54: error: no member named 'find_if' in namespace 'std::ranges'
        const auto unconnected_device = std::ranges::find_if(
                                        ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:393:51: error: no member named 'find_if' in namespace 'std::ranges'
        const auto matching_device = std::ranges::find_if(
                                     ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:402:51: error: no member named 'find_if' in namespace 'std::ranges'
        const auto matching_device = std::ranges::find_if(
                                     ~~~~~~~~~~~~~^
2023-01-25 19:52:56 +00:00
Narr the Reg a8579f0b26 Revert 9617 and fix it on input_common 2023-01-25 13:52:50 -06:00
Morph 3088a5dbc6 default_ini: Split and concatenate the config string literal
We are dangerously close to MSVC's 16384 character limit for string literals. Breaking this string up and concatenating will allow for more settings to be added in the future.
2023-01-25 14:06:06 -05:00
Merry 6b50650633 Revert "MemoryManager: use fastmem directly."
This reverts commit 7f18e3bb89.
2023-01-25 10:12:04 +00:00
Morph aeada1616a main: Globally disable the "?" button on dialogs
Sets the AA_DisableWindowContextHelpButton attribute to disable this useless button globally.
2023-01-25 01:12:50 -05:00
bunnei b292986fc5 Merge pull request #9662 from abouvier/cmake-llvm
cmake: prefer system llvm library
2023-01-24 11:03:14 -08:00
liamwhite 6c7db928fd Merge pull request #9492 from german77/joycon_release
Input_common: Implement custom joycon driver v2
2023-01-24 09:29:37 -05:00
Liam b85a155abd kernel: split SetAddressKey into user and kernel variants 2023-01-23 20:31:03 -05:00
Liam 31945a6e8b kernel: fix incorrect locking order in suspension 2023-01-23 17:14:41 -05:00
Liam ac94832cb6 spirv: fix multisampled image fetch 2023-01-23 12:03:19 -05:00
Alexandre Bouvier 8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
liamwhite ef4b11726f Merge pull request #9555 from abouvier/catch2-update
tests: update catch2 to 3.0.1
2023-01-22 18:22:47 -05:00
Liam 3b4c6e5425 kernel: KPageTable: update 2023-01-22 13:17:29 -05:00
liamwhite d2838b3568 Merge pull request #9660 from german77/koreaToTaiwan
yuzu: Fix language comobox crash
2023-01-22 13:14:38 -05:00
liamwhite 38e43227b0 Merge pull request #9656 from liamwhite/nsight
nsight_aftermath_tracker: update for latest Aftermath SDK
2023-01-22 13:14:28 -05:00
liamwhite e0ca44d6d5 Merge pull request #9637 from SaiKai/repeat_shortcuts
allow volume up/down hotkeys to be repeated
2023-01-22 13:14:19 -05:00
liamwhite c909a9e2ba Merge pull request #9617 from german77/off_by_one
core: hid: Fix stick minimum range
2023-01-22 13:14:10 -05:00
liamwhite 87eef91dab Merge pull request #9613 from Kelebek1/demangle
Add stacktrace symbol demangling
2023-01-22 13:13:58 -05:00
german77 8137de5e93 yuzu: Fix language comobox crash 2023-01-22 10:42:59 -06:00
Liam 77d98593dc nsight_aftermath_tracker: update for latest Aftermath SDK 2023-01-21 13:01:19 -05:00
bunnei 35099396c4 Merge pull request #9611 from liamwhite/patch-1
debugger: add host fastmem pointer fetch command
2023-01-20 10:00:33 -08:00
Narr the Reg 9f9cf5732b core: hid: Make use of SCOPE_EXIT and SCOPE_GUARD where applicable 2023-01-20 00:51:46 -06:00
german77 d7950e0cfb input_common: Fix joycon mappings 2023-01-20 00:51:46 -06:00
german77 13ccfd78bd input_common: Address byte review 2023-01-20 00:51:45 -06:00
bunnei 0f3bbe6cfb Merge pull request #9640 from german77/why_sdl
input_common: reset sdl motion if data is invalid
2023-01-19 18:47:21 -08:00
Narr the Reg 000a5852ee core: hid: Only set the polling mode to the correct side 2023-01-19 18:05:23 -06:00
german77 21a62d4752 input_common: Drop Pro controller support from custom driver 2023-01-19 18:05:22 -06:00
german77 4b7ad51ce3 input_common: Fix issue where ring and irs are enabled at the same time 2023-01-19 18:05:22 -06:00
Narr the Reg 91f98f57b3 input_common: Implement joycon ir camera 2023-01-19 18:05:22 -06:00
german77 22eb8ce395 yuzu: Add ring controller test button 2023-01-19 18:05:22 -06:00
german77 5cbeb6f1c4 input_common: Use DriverResult on all engines 2023-01-19 18:05:22 -06:00
german77 82774f546a Address review comments 2023-01-19 18:05:22 -06:00
Narr the Reg 8dbef30cb7 core: hid: Fix input regressions 2023-01-19 18:05:22 -06:00
german77 b40c5ba2c3 input_common: Implement joycon nfc 2023-01-19 18:05:21 -06:00
Narr the Reg 4dc4ae2aac input_common: Add dual joycon support 2023-01-19 18:05:21 -06:00
Narr the Reg 4d68a82563 input_common: Add support for joycon ring controller 2023-01-19 18:05:21 -06:00
Narr the Reg 046e95be06 input_common: Add support for joycon input reports 2023-01-19 18:05:21 -06:00
Narr the Reg f7164f77d6 input_common: Use calibration from joycon 2023-01-19 18:05:21 -06:00
Narr the Reg d2f5eae036 input_common: Add support for joycon generic functions 2023-01-19 18:05:21 -06:00
Narr the Reg 147faa16ef input_common: Add joycon low level functions 2023-01-19 18:05:21 -06:00
Narr the Reg a1b72e62dc service: hid: Set led pattern and fix color detection 2023-01-19 18:05:20 -06:00
Narr the Reg 59e89afde4 core: hid: Enable pulling color data from controllers 2023-01-19 18:05:20 -06:00
Narr the Reg 3672362ce1 core: hid: Migrate ring from emulated devices to emulated controller 2023-01-19 18:05:20 -06:00
Narr the Reg 2b87d9e674 yuzu: Update controller colors and button names 2023-01-19 18:05:20 -06:00
Narr the Reg 216bdb7884 input_common: Disable SDL driver with switch controllers 2023-01-19 18:05:20 -06:00
Narr the Reg 0e41ae9595 input_common: Initial skeleton for custom joycon driver 2023-01-19 18:05:20 -06:00
liamwhite 1bd93d9f3b Merge pull request #9556 from vonchenplus/draw_texture
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
bunnei cb88483660 Merge pull request #9623 from liamwhite/wp-oops
memory: fix watchpoint use when fastmem is enabled
2023-01-19 10:50:21 -08:00
Jonas Gutenschwager 306d95802a add volume quicksetting with volume slider 2023-01-19 15:13:23 +01:00
Narr the Reg 04c77f3800 Merge pull request #9638 from Kelebek1/firmware4
Demote maxwell3d Firmware4 call log to debug
2023-01-18 23:15:22 -06:00
bunnei 1c11050ce6 Merge pull request #9619 from liamwhite/timing-spaghetti
timing: wait for completion on unregister
2023-01-18 15:13:38 -08:00
german77 924d8bf7cc input_common: reset sdl motion if data is invalid 2023-01-18 10:05:55 -06:00
Jonas Gutenschwager 0a1e70f431 fix format 2023-01-18 15:49:47 +01:00
bunnei 578684029f Merge pull request #9615 from merryhime/upsample-ob1
audio_core: Corrective fixes to upsampler
2023-01-17 23:34:12 -08:00
bunnei 61224eec9a Merge pull request #9608 from liamwhite/fps
nvnflinger: correct swap interval handling
2023-01-17 23:13:47 -08:00
Kelebek1 1b8f2ddbe7 Demote maxwell3d Firmware4 call log to debug 2023-01-18 01:59:11 +00:00
Jonas Gutenschwager 66c71b5b5b allow volume up/down hotkeys to be repeated 2023-01-18 00:39:31 +01:00
Feng Chen a3da7094bc Address feedback 2023-01-16 10:27:57 +08:00
Liam 0279b94a9e memory: fix watchpoint use when fastmem is enabled 2023-01-15 10:24:31 -05:00
Liam e1b0b3d0db timing: wait for completion on unregister 2023-01-14 15:48:01 -05:00
Kelebek1 8fea4c21b2 Be careful of mangled out of bounds read 2023-01-14 19:53:55 +00:00
german77 c76721182c core: hid: Fix stick minimum range 2023-01-14 11:53:43 -06:00
Merry 258af9443a upsample: Fix coefficient format 2023-01-14 17:09:03 +00:00
Merry fb1b6948c1 audio_core: Fix off-by-one error in upsampler 2023-01-14 15:19:11 +00:00
Kelebek1 a665621670 Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
Kelebek1 90f546cba4 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Matías Locatti 7297ab36c1 Update settings.h 2023-01-13 04:56:25 -03:00
Matías Locatti a724435c8b CPP 2023-01-13 04:55:26 -03:00
Matías Locatti b269425fd8 UI change 2023-01-13 04:54:29 -03:00
Matías Locatti cf9e60d883 1.5X resolution scaler option 2023-01-13 02:34:24 -03:00
Liam f28fbaa41e debugger: add host fastmem pointer fetch command 2023-01-12 18:35:14 -05:00
Liam 0c15ac5084 nvnflinger: correct swap interval handling 2023-01-11 22:05:08 -05:00
bunnei c45b1d8723 Merge pull request #9605 from german77/mouse_mapping
yuzu: Read mouse scroll
2023-01-10 17:32:58 -08:00
Narr the Reg b6721a40fe yuzu: Read mouse wheel input 2023-01-10 18:20:58 -06:00
Morph bd62fdca7a Merge pull request #9596 from liamwhite/mvk
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-10 18:11:44 -05:00
liamwhite d4203d9eab Merge pull request #9582 from yuzu-emu/revert-9518-revert-9504-pg2
Revert "Revert "k_page_group: synchronize""
2023-01-10 15:27:33 -05:00
liamwhite a7b9101f31 Merge pull request #9601 from liamwhite/it-never-ends
qt: unlock during signal emission
2023-01-10 15:27:12 -05:00
liamwhite 137fd04391 Merge pull request #9598 from liamwhite/indirect
vulkan_common: fix indirect draw with count
2023-01-10 15:27:02 -05:00
liamwhite e828378dc4 Merge pull request #9595 from liamwhite/per-game
qt: fix configuration weirdness on turbo
2023-01-10 15:26:49 -05:00
liamwhite 067831de41 Merge pull request #9565 from MonsterDruide1/tas-multiplayer-lengths
TAS: Show all script lengths for multiplayer
2023-01-10 15:26:36 -05:00
Liam d4f46c3f04 qt: unlock during signal emission 2023-01-10 12:46:01 -05:00
Liam 73c62bbc7a vulkan_common: fix indirect draw with count 2023-01-10 09:43:36 -05:00
TellowKrinkle 6e8caa48e7 MoltenVK: restrict number of vertex attributes/bindings to 16 2023-01-09 19:01:09 -05:00
Liam 0cbb5cd1f0 qt: fix configuration weirdness on turbo 2023-01-09 17:54:49 -05:00
UltraHDR 3efc13dd54 macOS: Make Yuzu show up in the Launchpad Games folder (#9594)
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the Launchpad Games folder
2023-01-09 16:43:45 -05:00
Morph fcbaec0a9c Merge pull request #9589 from liamwhite/default
renderer_vulkan: disable turbo by default
2023-01-09 16:23:24 -05:00
Morph c6b5b96efa Merge pull request #9581 from liamwhite/turbo2
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-09 16:23:16 -05:00
Morph f55f8f3d7f Merge pull request #9530 from liamwhite/vk-feature-init
vulkan_device: refactor feature testing
2023-01-09 16:23:04 -05:00
Morph f408cc6ad0 Merge pull request #9569 from liamwhite/shutdown-wars
qt: additional fixes for reentrant shutdown
2023-01-09 16:21:27 -05:00
Liam 8157a52821 vulkan_device: refactor feature testing 2023-01-09 16:12:16 -05:00
Liam a9d96415c4 renderer_vulkan: disable turbo by default 2023-01-08 11:38:30 -05:00
Fernando Sahmkow 4cb1b7a60a VideoCore: Fix OGL cache invalidation. 2023-01-07 21:56:17 -05:00
bunnei 1bd2034592 Revert "Revert "k_page_group: synchronize"" 2023-01-07 15:32:10 -08:00
bunnei dfbfc1b89b Merge pull request #9563 from german77/crash_not_allowed
input_common: Create an update engine
2023-01-07 13:41:27 -08:00
Liam 5d93c3bb00 Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb.
2023-01-07 15:50:58 -05:00
Liam ecf4f380b6 Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
This reverts commit 195248d6fe.
2023-01-07 15:48:50 -05:00
MonsterDruide1 a1bec20a60 TAS: Show all script lengths for multiplayer 2023-01-07 21:15:37 +01:00
Liam a2853754c4 renderer_vulkan: pause turbo submissions on inactive queue 2023-01-07 14:35:11 -05:00
Billy Laws ea68f05d8f Avoid OOB array access reading passthrough attr mask
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-07 18:38:21 +00:00
Narr the Reg a445e93e52 Merge pull request #9570 from liamwhite/less-clock-boost
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 -06:00
Liam f82c3649c3 vulkan_device: avoid attempt to access empty optional 2023-01-06 21:23:21 -05:00
Liam 652b95d1b8 renderer_vulkan: disable clock boost on unvalidated devices 2023-01-06 19:07:47 -05:00
Liam 76c4ba3ee5 qt: additional fixes for reentrant shutdown 2023-01-06 18:50:01 -05:00
Narr the Reg c5a006cb24 opengl: Sanitize antialiasing config 2023-01-06 13:42:20 -06:00
Wollnashorn dcf8c4b4c8 video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
2023-01-06 16:52:41 +01:00
Fernando S 6adfb0ab14 Merge pull request #9535 from bylaws/master
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00
liamwhite bd9882cd7d Merge pull request #9561 from liamwhite/update-dynarmic
externals: update dynarmic, xbyak
2023-01-06 10:00:18 -05:00
liamwhite be16c84eca Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
net: Silently translate ETIMEDOUT network error
2023-01-06 10:00:09 -05:00
liamwhite 41958ff4ae Merge pull request #9552 from liamwhite/turbo
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
Fernando S 7adf046099 Merge pull request #9559 from FernandoS27/cached-writes
VideoCore: Implement Cached Writes, use fastmem for reading GPU memory and eliminate old stuffs
2023-01-06 07:31:39 -05:00
Fernando Sahmkow d46062e354 MacroHLE: eliminate 2 rushed macros. 2023-01-05 20:53:31 -05:00
Narr the Reg 243f2931b5 input_common: Create an update engine 2023-01-05 19:24:29 -06:00
liamwhite 7ad49399b3 Merge pull request #9528 from liamwhite/mvk-nulldesc
renderer_vulkan: implement fallback path for null buffer descriptors
2023-01-05 18:31:55 -05:00
liamwhite 075f942d5d Merge pull request #9536 from liamwhite/debug-utils
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-05 18:31:45 -05:00
Liam 7429e31f30 externals: update dynarmic, xbyak 2023-01-05 18:06:06 -05:00
Billy Laws 535e297ebd Run clang-format 2023-01-05 22:18:10 +00:00
Billy Laws c7c901dd63 shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
2023-01-05 22:13:07 +00:00
Billy Laws 00c51d0a4f Vulkan, OpenGL: Hook up geometry shader passthrough emulation 2023-01-05 22:13:07 +00:00
Billy Laws a92251c623 shader_recompiler: Add support for lowering geometry passthrough
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05 22:13:07 +00:00
Billy Laws 195248d6fe Vulkan, OpenGL: Hook up storage buffer alignment code 2023-01-05 22:13:07 +00:00
Billy Laws ae868e7ffb shader_recompiler: Align SSBO offsets to meet host requirements
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05 22:13:07 +00:00
Billy Laws 3772cfc976 shader_recompiler: SPIRV: Only enable int64 feature when supported 2023-01-05 22:13:07 +00:00
Billy Laws d862241ba7 shader_recompiler: Add comparison operators to descriptor types 2023-01-05 22:13:07 +00:00
Billy Laws 77aea7e2b4 Vulkan: Add a workaround for input_position on Adreno drivers
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2023-01-05 22:13:07 +00:00
Wollnashorn 1896bc9987 video_core/vulkan: Vulkan driver pipelines now contain cache version
So that old cache can get deleted when the cache version changes and does not grow infinitely
2023-01-05 21:03:01 +01:00
Wollnashorn 7ba5544a6c video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache 2023-01-05 21:03:01 +01:00
Wollnashorn 1011652852 config: Set the Vulkan driver pipeline cache option to be global 2023-01-05 21:03:01 +01:00
Wollnashorn 8a9ebe4146 video_core/vulkan: Added check if Vulkan pipeline path has been set 2023-01-05 21:03:01 +01:00
Wollnashorn 0b17b4edd2 config: Better wording for VK pipeline cache option and enable by default 2023-01-05 21:03:01 +01:00
Wollnashorn 2b153d8734 yuzu-cmd: Removed `use_vulkan_driver_pipeline_cache` from default_ini.h
The addition of the use_vulkan_driver_pipeline_cache option into the default ini string literal caused the 16,384-byte limit of the MSVC compiler to be exceeded.
2023-01-05 21:03:01 +01:00
Wollnashorn ef0b585b0b video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelines
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.

These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-05 21:02:44 +01:00
Fernando Sahmkow d777ec15f8 BufferBase: Don't ignore GPU pages. 2023-01-05 14:00:10 -05:00
Fernando Sahmkow 91e1c7a727 Fermi2D: sync cache flushes 2023-01-05 06:43:28 -05:00
Fernando Sahmkow 7f18e3bb89 MemoryManager: use fastmem directly. 2023-01-05 06:06:33 -05:00
MonsterDruide1 3eb787dcef net: Silently translate ETIMEDOUT network error 2023-01-05 11:54:36 +01:00
Fernando Sahmkow 8eafb91af0 video_core: Cache GPU internal writes. 2023-01-05 05:23:39 -05:00
Fernando Sahmkow 660ea18f85 Vulkan: Fix drivers that don't support dynamic_state_2 up 2023-01-05 00:11:16 -05:00
Feng Chen 3b5e1a24bc video_core: Implement opengl/vulkan draw_texture 2023-01-05 12:41:33 +08:00
Feng Chen 79268b94de video_core: Implement maxwell3d draw texture method 2023-01-05 12:41:28 +08:00
Alexandre Bouvier 5c2cf39455 tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01:00
Liam d9b2bc7f04 common: add setting for renderer clock workaround 2023-01-04 22:22:01 -05:00
Liam 1a32e03a0f vulkan: implement 'turbo mode' clock booster 2023-01-04 22:22:01 -05:00
Liam 2e1c5b8310 renderer_vulkan: implement fallback path for null descriptors 2023-01-04 22:14:01 -05:00
liamwhite 0415135f8c Merge pull request #9501 from FernandoS27/yfc-rel-2
Yuzu Fried Chicken Part 1.5: MacroHLE Rework and Dynamic State
2023-01-04 21:20:00 -05:00
Fernando Sahmkow e5d02ff039 yuzu-ui: Add setting for disabling macro HLE 2023-01-04 14:56:52 -05:00
Fernando Sahmkow 1fdf24a081 Video_core: Address feedback 2023-01-04 14:39:42 -05:00
Fernando Sahmkow 62fc8bfe16 Texture Cache: Implement async texture downloads. 2023-01-03 22:52:15 -05:00
liamwhite 25b5675997 Merge pull request #9518 from gidoly/revert-9504-pg2
Revert "k_page_group: synchronize"
2023-01-03 21:40:57 -05:00
Fernando Sahmkow 98b7ebe02d Vulkan: Update blacklisting to latest driver versions. 2023-01-03 21:16:43 -05:00
Fernando Sahmkow 872f2e7de6 ShaderCompiler: Inline driver specific constants. 2023-01-03 16:29:25 -05:00
Fernando Sahmkow efd5661978 Vulkan: rework stencil tracking. 2023-01-03 16:29:16 -05:00
MonsterDruide1 ffc89d8b84 TAS: Immediately switch stick to TAS on input
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-03 20:08:25 +01:00
Alexandre Bouvier eac2672a41 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
liamwhite 312d83eb72 Merge pull request #9540 from MonsterDruide1/tas-sanitized-record
TAS: Record sanitized instead of raw stick inputs
2023-01-02 09:51:29 -05:00
german77 011f49a00b service: nifm: Initialize request state 2023-01-01 20:58:08 -06:00
german77 991ea9ab41 service: nifm: Match documentation names 2023-01-01 20:58:01 -06:00
Liam 527c844a44 vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1 2023-01-01 16:43:58 -05:00
Liam af9b730db8 video_core: fix build 2023-01-01 16:43:58 -05:00
Fernando Sahmkow e6e49e584f MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow ea140a70fa Rasterizer: Setup skeleton for Host Conditional rendering 2023-01-01 16:43:58 -05:00
Fernando Sahmkow 3ea10762d2 RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow e9e619b605 Vulkan: Allow stagging buffer deferrals. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow f7b16c30f1 MacroHLE: Add OpenGL Support 2023-01-01 16:43:58 -05:00
Fernando Sahmkow 95d314ebec Vulkan: Add other additional pipeline specs 2023-01-01 16:43:58 -05:00
Fernando Sahmkow 67a706d812 Vulkan: Implement Dynamic State 3 2023-01-01 16:43:58 -05:00
Fernando Sahmkow af68dc011b Vulkan Implement Dynamic State 2 LogicOp and PatchVertices 2023-01-01 16:43:58 -05:00
Fernando Sahmkow dc0f7dea8f Vulkan: Implement Dynamic States 2 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 4bf1ee5bdc DMAPusher: Improve collection of non executing methods 2023-01-01 16:43:57 -05:00
Fernando Sahmkow d2643a61c3 Revert Buffer cache changes and setup additional macros. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 12a76465b9 MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 7842543573 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 209ce46a9f MacroHLE: Add Index Buffer size estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow b4fcb0b2b2 MacroHLE: Refactor MacroHLE system. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow b5b0ec9429 MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow f2f2784817 MacroHLE: Add MultidrawIndirect HLE Macro. 2023-01-01 16:43:57 -05:00
MonsterDruide1 9e783cc922 TAS: Record sanitized instead of raw stick inputs
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-01 22:39:18 +01:00
Merry 68008d9b80 vfs: Replace cstr concat with char concat 2023-01-01 18:52:02 +00:00
Liam 86854a2384 vulkan_common: unify VK_EXT_debug_utils and selection of validation layer 2023-01-01 11:59:47 -05:00
liamwhite c661801eca Merge pull request #9533 from merryhime/overcommit
host_memory: mmap changes for virtual_base
2023-01-01 10:24:07 -05:00
liamwhite ff55fb625c Merge pull request #9514 from ColinKinloch/en_gb
settings: warn on invalid regon/language combinations
2023-01-01 10:23:46 -05:00
Merry 0abd0d6af9 host_memory: Use transparent huge pages where available 2023-01-01 11:40:35 +00:00
Merry 192f349e5f host_memory: Allocate virtual_base with MAP_NORESERVE
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
Colin Kinloch edaac481d1 settings: comment language blocklist columns 2022-12-30 13:51:35 +00:00
bunnei d466f5e2b8 core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps. 2022-12-30 00:14:53 -08:00
bunnei 90a07c90f0 Merge pull request #9515 from liamwhite/cmake-refactor
CMake: make more features optional
2022-12-29 23:37:25 -05:00
Wollnashorn 446003088b config: Save multiplayer settings only globally
Saved multiplayer settings like the nickname, remote address, etc. were reset everytime a game was booted up and the game-specific config files were loaded, as these values will never be set.
2022-12-30 02:32:58 +01:00
Colin Kinloch e7feff53e7 settings: added regon/language warning bounds check 2022-12-29 15:55:24 +00:00
gidoly 118d57a8f0 Revert "k_page_group: synchronize" 2022-12-29 17:39:42 +09:00
liamwhite 22f12c976e Merge pull request #9423 from vonchenplus/vulkan_quad_strip
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
ameerj ddbee432b2 hle_ipc: Use thread_local ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj 713394d526 hle_ipc: Rename ReadBufferSpan to ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj 571d469697 hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj 53650d2701 bsd: Use std::span for read payloads
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:54 -05:00
ameerj 8a59719bd2 nvdrv: Use std::span for inputs
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj de252703bd hidbus: Use ReadBufferSpan 2022-12-28 18:46:53 -05:00
Liam 0e00bb1111 cmake: make cubeb and SDL2 optional 2022-12-28 17:29:32 -05:00
bunnei 14e92fe752 Merge pull request #9504 from liamwhite/pg2
k_page_group: synchronize
2022-12-28 17:28:31 -05:00
Liam 41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Liam 2f2f9326f3 cmake: make room server optional 2022-12-28 17:18:27 -05:00
Colin Kinloch 5de4ef224e settings: warn on invalid regon/language combinations 2022-12-28 20:34:28 +00:00
bunnei 3d334f6ab3 Merge pull request #9490 from ameerj/texture-cache-prealloc
texture_cache: Use pre-allocated heap buffer for texture swizzles
2022-12-27 00:07:35 -05:00
bunnei 6e4511db47 Merge pull request #9495 from german77/no_refresh
yuzu: Automatically refresh device list
2022-12-27 00:07:13 -05:00
Alexandre Bouvier 8cb4e6b641 tests: add missing header
<cstring> is needed for std::memcpy
2022-12-26 04:26:31 +00:00
FengChen 690070f088 video_core: Implement other missing vulkan topology 2022-12-26 12:20:49 +08:00
FengChen 2572668950 video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
ameerj 4531881bfd nvflinger: Split Parcel class into InputParcel and OutputParcel
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
ameerj db9a523aae service: Use ReadBufferSpan where it is trivial to do so 2022-12-25 17:04:02 -05:00
MonsterDruide1 f33599d41c TAS: Increase accuracy of Stick inputs 2022-12-25 21:49:09 +01:00
ameerj d45c01bd13 texture_cache: Use Common::ScratchBuffer for swizzle buffers 2022-12-25 15:47:41 -05:00
ameerj 51eb1f4aab texture_cache: Use pre-allocated buffer for texture downloads 2022-12-25 15:38:36 -05:00
ameerj 204e35087f texture_cache: Use pre-allocated buffer for texture uploads 2022-12-25 15:38:36 -05:00
Liam b4504fdd19 k_page_table: remove HACK_OpenPages/ClosePages 2022-12-25 13:43:49 -05:00
ameerj 399b6d3a0c fsp_srv: Use ReadBufferSpan 2022-12-25 13:21:15 -05:00
ameerj e17c343915 hle_ipc: Add ReadBufferSpan function
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
Liam 4b9df26091 k_page_group: synchronize 2022-12-25 12:55:21 -05:00
liamwhite 1240408f75 Merge pull request #9500 from liamwhite/reentrant-shutdown
qt: prevent reentrant shutdown
2022-12-25 12:51:25 -05:00
liamwhite 3dfb9c8549 Merge pull request #9496 from liamwhite/shm3
kernel: workaround static shared memory initialization
2022-12-25 12:51:16 -05:00
liamwhite 6f3fec00fd Merge pull request #9487 from liamwhite/look-at-the-time
time: add LockFreeAtomicType
2022-12-25 12:50:57 -05:00
Fernando S d1bac2838f Merge pull request #9453 from ameerj/scratch-vector
common: Add ScratchBuffer Class
2022-12-24 20:26:06 -05:00
Liam 935f192fd7 qt: prevent reentrant shutdown 2022-12-24 17:31:34 -05:00
liamwhite c069642dcc qt: fix 'Pause' menu item (#9497) 2022-12-23 21:44:53 -05:00
Chris Oboe e8c4d19269 Disable automatically opening the console on windows yuzu-cmd builds (#9485)
* don't automatically open the console on windows build of yuzu-cmd

* fix formatting
2022-12-23 21:39:59 -05:00
liamwhite c87335cc8a Merge pull request #9476 from liamwhite/async-shutdown
qt: continue event loop during game close
2022-12-23 21:05:10 -05:00
Liam 175157665f qt: fix uninitialized memory usage 2022-12-23 20:57:36 -05:00
german77 81cfe514ab yuzu: Automatically refresh device list 2022-12-23 18:26:48 -06:00
Liam 71ec5c9519 kernel: workaround static shared memory initialization 2022-12-23 13:40:30 -05:00
Liam f1528eb549 time: add LockFreeAtomicType 2022-12-21 22:36:55 -05:00
Liam 671216b8a6 qt: exit properly on guest-initiated close 2022-12-21 19:55:01 -05:00
Liam 7934914a03 qt: use main window as close overlay parent 2022-12-21 19:27:11 -05:00
Liam 1eb9cb8ec3 qt: continue event loop during game close 2022-12-20 09:16:08 -05:00
liamwhite f631825247 Merge pull request #9463 from liamwhite/manager-events
EmuThread: refactor
2022-12-20 09:10:41 -05:00
ameerj 4d5adfb3c9 scratch_buffer: Explicitly defing resize and resize_destructive functions
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
liamwhite 0a66bb5bdd Merge pull request #9480 from jbeich/vk-238
externals: update Vulkan-Headers to v1.3.238 to fix -Werror=switch with system package
2022-12-19 18:16:41 -05:00
ameerj 37ac7d7841 tests: Add ScratchBuffer tests 2022-12-19 18:08:04 -05:00
ameerj 284582a0b2 dma_pusher: Rework command_headers usage
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2022-12-19 18:08:04 -05:00
ameerj a9c22d329d buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage 2022-12-19 18:08:04 -05:00
ameerj b501ee907e video_core: Add usages of ScratchBuffer 2022-12-19 18:08:04 -05:00
ameerj ff76a433ab common: Add ScratchBuffer class
This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize
is redundant.
2022-12-19 18:07:51 -05:00
ameerj 80c173aba5 common: add make_unique_for_overwrite 2022-12-19 18:07:42 -05:00
Matías Locatti f2c7d65dd9 Merge pull request #9474 from liamwhite/timer
kernel: add KHardwareTimer
2022-12-19 18:37:34 -03:00
Jan Beich f3412998f0 externals: update Vulkan-Headers to v1.3.238 2022-12-19 17:14:29 +00:00
liamwhite 76eb7c725f Merge pull request #9471 from german77/input
input_common: Cleanup project
2022-12-19 11:09:00 -05:00
Morph 08c6b65cf3 overlay_dialog: Avoid starting the input thread if non-interactive 2022-12-19 00:00:03 -05:00
Morph 0f67f22a6f overlay_dialog: Hide button dialog box when both buttons are hidden
This allows for the creation of a non-interactive dialog overlay to display system messages.
2022-12-18 23:54:56 -05:00
Liam 8df44232e8 kernel: remove TimeManager 2022-12-18 20:21:24 -05:00
Liam 49d1cf6477 kernel: add KHardwareTimer 2022-12-18 16:37:19 -05:00
german77 f7790b5e3b input_common: Cleanup project 2022-12-18 15:33:11 -06:00
liamwhite 022c7f37a3 Merge pull request #9470 from german77/silenceIkillYou
service: nfc: Silence ListDevices
2022-12-18 15:11:13 -05:00
german77 8a90856b25 service: nfc: Silence ListDevices 2022-12-18 11:57:33 -06:00
liamwhite 409afd3d02 Merge pull request #9469 from Rubo3/patch-1
Use execlp instead of execl to avoid failure
2022-12-18 11:46:43 -05:00
liamwhite 66fa19701d Merge pull request #9467 from german77/folder
yuzu: Remember last selected directory
2022-12-18 10:21:33 -05:00
Marco Rubin ded2aae24f Use execlp instead of execl to avoid failure 2022-12-18 14:03:26 +00:00
german77 a96b380b09 yuzu: Remember last selected directory 2022-12-18 00:37:06 -06:00
german77 7510f5971a bootmanager: Use proper camera size 2022-12-18 00:13:18 -06:00
german77 ae453f0626 bootmanager: Encapsulate all QCamera code 2022-12-17 23:54:47 -06:00
german77 784d60966f yuzu: fix device name setting 2022-12-17 23:54:36 -06:00
Matías Locatti 7479b381fa Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442)
* Testing LTO (#4)

* Testing LTO

* clang

* linux

* Added the rest of Blinkhawk's optimizations

* Unlikely asserts

* Removing LTO from Linux builds - GCC

* Removing LTO from Linux builds - Clang
2022-12-17 17:16:52 -08:00
bunnei 771e450bcc Merge pull request #9456 from german77/virtual_gamepad
input_common: Add virtual gamepad
2022-12-17 17:16:13 -08:00
Liam 3e167c3e5a qt: use _exit instead of exit on SIGINT 2022-12-17 16:26:25 -05:00
Liam c11dff8639 EmuThread: refactor 2022-12-17 16:26:24 -05:00
liamwhite db106151d7 Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Mai 0154e2a331 Merge pull request #9461 from liamwhite/wanative
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2022-12-17 21:07:01 +00:00
Mai b1eb17011e Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2022-12-17 21:05:46 +00:00
Liam af59f5824b qt: avoid setting WA_DontCreateNativeAncestors on all platforms 2022-12-17 10:41:20 -05:00
liamwhite ae502e2717 Merge pull request #9451 from ameerj/camera-data-array
camera: Use pre-allocated vector for camera data
2022-12-17 10:21:50 -05:00
liamwhite 895500911a Merge pull request #9452 from ameerj/hle-read-buffer-resreve
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
liamwhite 15845a154e Merge pull request #9455 from Kelebek1/audio_signal
[audio_core] Signal buffer event on audio in/out system stop
2022-12-17 10:21:19 -05:00
liamwhite f469ec2aef Merge pull request #9457 from Kelebek1/silence_tfb
Remove unimplemented geometry transform feedback log spam
2022-12-17 10:21:05 -05:00
german77 3cc666b845 input_common: Add virtual gamepad 2022-12-16 18:26:11 -06:00
ameerj 2d9fc5d05b camera: Use pre-allocated vector for camera data
And avoid an unnecessary copy
2022-12-16 18:00:47 -05:00
Kelebek1 6787d87e44 Remove unimplemented transform feedback geometry spam, it should be implemented 2022-12-16 22:52:29 +00:00
liamwhite 8cdadf8ac9 Merge pull request #6354 from ogniK5377/device-name
Set: Allow setting device nickname
2022-12-16 14:05:00 -05:00
liamwhite 178074d062 Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
hle_ipc: Reserve vectors before populating
2022-12-16 11:57:48 -05:00
liamwhite 4f3228e7d9 Merge pull request #9444 from german77/free_threads
kernel: process: Implement GetFreeThreadCount
2022-12-16 11:57:42 -05:00
liamwhite 36950ef442 Merge pull request #8605 from devsnek/graceful-shutdown
let games gracefully exit
2022-12-16 11:57:33 -05:00
liamwhite 657720ad64 Merge pull request #6769 from lat9nq/create-shortcut-2
yuzu qt, common: Add option to create game shortcuts on Linux
2022-12-16 11:57:16 -05:00
Kelebek1 501ea58598 Signal buffer event on audio in/out system stop, and force remove all registered audio buffers 2022-12-16 16:07:24 +00:00
Liam d0f8fff4e2 qt: handle wayland-egl platform name 2022-12-16 08:47:22 -05:00
ameerj c57883f1bc hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15 23:22:11 -05:00
ameerj 333fd1165a hle_ipc: Reserve vectors before populating 2022-12-15 22:30:42 -05:00
Narr the Reg 016590e25d Merge pull request #9431 from liamwhite/sixty-five-oh-two
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
Matías Locatti 4fa1644e67 Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-15 20:52:05 -03:00
Narr the Reg dfe49436c8 kernel: svc: Fix duplicated InfoType enum 2022-12-15 14:18:30 -06:00
Narr the Reg 464b7a9ee2 kernel: process: Implement GetFreeThreadCount
Used by Just Dance® 2023 Edition
2022-12-15 13:44:21 -06:00
liamwhite f868fa8883 Merge pull request #7410 from Nefsen402/wayland-fixes
Wayland fixes
2022-12-15 12:05:01 -05:00
bunnei 572d81508b Revert "hle: service: audio: Use default service thread." 2022-12-14 14:57:33 -08:00
liamwhite 1f12789d39 Merge pull request #6688 from yzct12345/valid-intel-max
render_vulkan: Fix validation errors on less compatible Intel GPUs
2022-12-14 15:33:10 -05:00
FernandoS27 11f29ec173 Vulkan: Add support for VK_EXT_depth_clip_control. 2022-12-13 21:39:18 -05:00
Chloe Marcec 27a7d5a11a Set: Allow setting device nickname 2022-12-13 19:54:17 -05:00
lat9nq 0f3c2b69b0 main: Address review feedback
Moves icon path to ~/.local/share/icons, though I'm opting to avoid
using the game title for the icon and desktop entry name as that would
cause filenames such as
"yuzu-cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda-demo.desktop".
2022-12-13 19:23:54 -05:00
Liam aec084e315 vulkan_common: declare storageBuffer8BitAccess 2022-12-13 18:28:50 -05:00
Liam 3b502d3095 spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId 2022-12-13 18:25:53 -05:00
lat9nq 9af19c9b5e yuzu qt: Create shortcuts on Linux
This creates a Desktop Entry file and a PNG icon for the entry when the
user right-clicks a game and selects "Create Shortcut -> Create
{Application,Desktop} Shortcut". This uses the current executable's path
to create the shortcut.

yuzu qt: Add more error checking and OS gating for shortcuts

main: Remove FreeBSD gating for shortcuts

I'm not going to test FreeBSD, so I don't know if they follow
Freedesktop.org or not. I just have to let someone else verify that it
works there and let them enable it.

main: Move shortcut function to its own function

This function should really be in a common library, at least among
frontends.

main: Remove image manip references

main: Fix difference in MinGW and native GCC versions

main: Fix negation in creat shortcut

Addresses review comment

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>

main: Re-enable freedesktop shorcuts for FreeBSD
2022-12-13 16:42:00 -05:00
Alexander Orzechowski 9e0510f77d gl_device: Use a more robust way to use strict context mode
Instead of checking a environment variable which may not actually
exist or is just wrong, ask QT if it's running on the wayland
platform.
2022-12-13 15:01:51 -05:00
Alexander Orzechowski cc07198519 OpenGL: Check for threading support
We need this.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 976141ddcf wayland: Always use exclusive fullscreen
Wayland does not allow clients to choose their own size and position
on the screen. The concept of fullscreening an application by sizing
it to the screen and removing decorations does not exist. Use
exclusive fullscreen instead.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 81602792e8 RenderWidget: Set WA_DontCreateNativeAncestors
Some windowing systems like wayland are designed to show hardware accellerated
surfaces as subsurfaces and not native windows.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 876bf7c6b3 emu_window_sdl2: Respect hidpi
Use SDL_GL_GetDrawableSize instead of SDL_GetWindowSize which
will return the true size our swapchain needs to be in even
for hidpi displays.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski ef5ccad791 video_core/vulkan: Explicity check swapchain size when deciding to recreate
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
2022-12-13 13:23:35 -05:00
Liam 2c6460d168 renderer_opengl: refactor context acquire 2022-12-13 13:23:23 -05:00
Liam e9f112183b emu_thread: properly force shutdown for unresponsive guest programs 2022-12-12 21:38:20 -05:00
Gus Caplan 786ec95e5d let games gracefully exit 2022-12-12 21:18:32 -05:00
yzct12345 462220fe15 Fix validation errors on less compatible Intel GPU 2022-12-12 20:53:05 -05:00
Narr the Reg d68ca768b5 yuzu: Make unlimited frame rate non persistent between game boots 2022-12-12 19:21:30 -06:00
bunnei a0fa54b016 Merge pull request #9398 from liamwhite/fail
general: improve handling of system startup failure
2022-12-12 14:37:42 -08:00
bunnei d6c387db44 Merge pull request #9406 from vonchenplus/topology
video_core: Adjust topology update logic and Adjust Clear Manage
2022-12-12 14:37:06 -08:00
Narr the Reg 0476f77e9c input_common: Filter SDL GUID 2022-12-12 10:37:55 -06:00
Mai 7fac14c0ca Merge pull request #9420 from liamwhite/aniso
video_core: fix off by one in anisotropic filtering amount
2022-12-12 03:34:09 +00:00
Mai d5c1432409 Merge pull request #9419 from liamwhite/no-gl
cmake: make OpenGL loader optional
2022-12-11 21:09:52 +00:00
Mai f23e20a630 Merge pull request #9415 from liamwhite/dc
memory: correct semantics of data cache management operations
2022-12-11 21:09:31 +00:00
Liam 47a89280bf memory: correct semantics of data cache management operations 2022-12-11 12:46:34 -05:00
Matías Locatti f700121800 Merge pull request #9409 from liamwhite/smaa2
video_core: Integrate SMAA
2022-12-11 01:38:28 -03:00
Liam c5a82ada2b video_core: fix off by one in anisotropic filtering amount 2022-12-10 20:54:45 -05:00
Liam e4f8dbb3d4 cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2022-12-10 15:12:27 -05:00
Mai 70c9f6000d Merge pull request #9417 from liamwhite/debug-assert
memory: remove DEBUG_ASSERT pointer test
2022-12-10 19:08:45 +00:00
Liam 6f23b5f495 audio_core: remove explicitly defaulted and implicitly deleted constructors 2022-12-10 13:05:15 -05:00
Liam 8a5667aa70 memory: remove DEBUG_ASSERT pointer test 2022-12-10 13:02:38 -05:00
liamwhite 4b40068038 Merge pull request #9412 from Saalvage/fix/trace-log-compilation
Fix compilation error
2022-12-09 17:03:19 -05:00
Salvage a4369e6175 Remove the lock entirely as per PR discussion
Correctly unlock mutex before its destruction

As per https://en.cppreference.com/w/cpp/thread/mutex/~mutex destroying a locked mutex is undefined behavior and MSVC++ decides to throw in this case

Swap out unique for scoped lock and readd comment
2022-12-09 16:39:59 +01:00
Salvage 56a3ed4355 Fix compilation error 2022-12-09 14:49:15 +01:00
Liam 292cc68b75 video_core: Integrate SMAA
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
FengChen b40cdac0a4 video_core: Add vertex_array_instance_* sbubbed called warning 2022-12-08 23:19:31 +08:00
FengChen 17596e69b9 video_core: The draw manager manages whether Clear is required. 2022-12-08 23:10:52 +08:00
FengChen f09cf68f91 video_core: Adjust topology update logic 2022-12-08 22:40:28 +08:00
Fernando S b9ebc10680 Merge pull request #9401 from vonchenplus/draw_manager
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen ad05d9fe1e video_core: Implement maxwell3d draw manager and split draw logic 2022-12-08 10:12:19 +08:00
Morph 5a607ba49f Merge pull request #9365 from liamwhite/val
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Liam 08d81c9726 general: improve handling of system startup failure 2022-12-06 16:13:42 -05:00
merry 32b13dbca1 Merge pull request #9370 from liamwhite/break-unmapped
core: add option to break on unmapped access
2022-12-06 20:20:20 +00:00
Fernando S 7ca1fcfcce Merge pull request #9393 from liamwhite/more-vulkan
vulkan_common: further initialization tweaks
2022-12-06 17:45:08 +01:00
liamwhite c2e1d9378b Merge pull request #9392 from lioncash/reporter
reporter: Eliminate undefined behavior in SaveErrorReport
2022-12-06 11:27:00 -05:00
liamwhite a8a01d0723 Merge pull request #9390 from lioncash/keyboard
applets: Extract callback types into aliases
2022-12-06 11:26:53 -05:00
liamwhite 600df8e96e Merge pull request #9389 from lioncash/emumove
emulated_console/emulated_controller: std::move ParamPackage instances where applicable
2022-12-06 11:26:46 -05:00
liamwhite c02faff8d4 Merge pull request #9386 from lioncash/init
kernel: Ensure relevant class members are always initialized on construction
2022-12-06 11:26:38 -05:00
liamwhite ec6bca7a6f Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
liamwhite a17abc7b34 Merge pull request #9387 from abouvier/cmake-libusb
cmake: prefer system libusb
2022-12-06 09:58:37 -05:00
Lioncash 1ad43e68da configure_graphics: Make SPIRV backend string translatable
The parenthetical needs to be translatable, like with GLASM
2022-12-06 00:13:07 -05:00
Alexandre Bouvier 87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite 6a546be6b2 Merge pull request #9369 from german77/mifare
service: nfc: Implement mifare service
2022-12-05 22:17:32 -05:00
liamwhite 22c925b1b4 Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam d50abc6a9c vulkan_common: further initialization tweaks 2022-12-05 22:06:35 -05:00
Lioncash 6922ed4fad reporter: Pass by const reference where applicable
Same behavior, but without memory churn.
2022-12-05 21:48:42 -05:00
Lioncash 97fd619312 reporter: Eliminate undefined behavior in SaveErrorReport
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.

This means we'd be dereferencing uninitialized storage.

Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2022-12-05 21:31:34 -05:00
Alexandre Bouvier 75f9183846 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
Lioncash a3e4ad2cf5 applets/controller: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash 038b746678 applets/error: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash a346b1270a applets/mii_edit: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash 259307a152 applets/profile_select: Use aliases for callbacks
Deduplicates callback definitions and situates it in one place.
2022-12-05 19:06:04 -05:00
Lioncash 5012cd2057 applets/web_browser: Use aliases for callbacks
Deduplicates a lot of long callback declarations
2022-12-05 19:06:04 -05:00
Lioncash 047c256fe4 applets/software_keyboard: Use aliases for callbacks
Deduplicates really long std::function declarations to make the
interface nicer to read.
2022-12-05 19:06:01 -05:00
Lioncash 7a349e99ee emulated_controller: Remove unused parameter in GetMappedDevices()
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
Lioncash 68d9621a8b emulated_controller: Use std::move() in GetMappedDevices()
Avoids churning allocations in a loop.
2022-12-05 18:27:15 -05:00
Lioncash 1c9f02790c emulated_console: Amend cast in SetTouch()
id is an int value, not a u32.
2022-12-05 18:15:23 -05:00
Lioncash 53eb9406f0 emulated_console: std::move() ParamPackages and callbacks where applicable 2022-12-05 18:15:19 -05:00
Lioncash 7ed6f9d6fd kernel/k_shared_memory: Ensure device_memory is always initialized 2022-12-05 15:27:57 -05:00
Lioncash 0435142f58 kernel/k_memory_block: Ensure members are always initialized 2022-12-05 15:27:47 -05:00
Lioncash 4c5de31093 kernel/physical_core: Ensure is_interrupted is always initialized 2022-12-05 15:19:37 -05:00
Lioncash 6fea145402 kernel/thread: Ensure stack_top and argument are always initialized 2022-12-05 15:19:36 -05:00
Lioncash 8b8320be4a kernel/kernel: Ensure shutdown threads are always initialized 2022-12-05 15:19:36 -05:00
liamwhite b4ef55753e Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Fernando Sahmkow 7a7235b961 Vulkan: Implement Alpha coverage 2022-12-05 12:33:12 +01:00
Narr the Reg 2679dc707e input_common: Allow mifare files 2022-12-04 20:02:48 -06:00
Mai 0dd3742763 Merge pull request #9381 from liamwhite/uninit
service_thread: fix uninitialized memory usage
2022-12-04 22:30:16 +00:00
Liam 4a65ee47d3 service_thread: fix uninitialized memory usage 2022-12-04 16:02:24 -05:00
liamwhite fb8dad2eef Merge pull request #9232 from bunnei/audio-default-thread
hle: service: audio: Use default service thread.
2022-12-04 15:31:40 -05:00
liamwhite caa1555bc2 Merge pull request #9273 from ameerj/per-game-profile
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
liamwhite 1ba3ae3f91 Merge pull request #9372 from liamwhite/vk12
vulkan_common: promote extension usages to core when possible
2022-12-04 12:14:06 -05:00
Alexandre Bouvier 325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam e5ecad8824 yuzu-cmd: link SDL2 correctly 2022-12-04 10:59:58 -05:00
Liam ee4e09128f vulkan_common: add feature test for shaderDrawParameters 2022-12-04 10:55:13 -05:00
Liam 88ee9ef9ba vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
Liam b656f90c11 vulkan_common: correct usage of timeline semaphore fallbacks 2022-12-04 10:55:13 -05:00
Liam f848103437 vulkan_common: ensure all mandatory features are tested in feature report 2022-12-04 10:55:13 -05:00
Liam 8db4f8593c vulkan_common: unsuffix 16-bit storage feature test structure 2022-12-04 10:55:13 -05:00
Liam d2299ce7d8 vulkan_common: unsuffix timeline semaphore feature test structure 2022-12-04 10:55:13 -05:00
Liam e46525c84f vulkan_common: add logicOp to feature report 2022-12-04 10:55:13 -05:00
Liam 540a841351 vulkan_common: promote host query reset usage to core 2022-12-04 10:55:13 -05:00
Liam f165ae4daf vulkan_common: promote descriptor update template usage to core 2022-12-04 10:55:13 -05:00
Liam 63b830fd41 vulkan_common: promote timeline semaphore usage to core 2022-12-04 10:55:13 -05:00
liamwhite 550f214e76 Merge pull request #9374 from liamwhite/externals
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam 8fbec5d298 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
bunnei d3e229ee9d Merge pull request #9344 from liamwhite/null
video_core: add null backend
2022-12-03 11:23:25 -08:00
liamwhite c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
liamwhite dc25fddedb Merge pull request #9353 from vonchenplus/draw_indexed
video_core: Fine tuning the index drawing judgment logic
2022-12-03 10:43:34 -05:00
Matías Locatti 39df80ff00 Merge pull request #9303 from liamwhite/new-vulkan-init
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
Matías Locatti 9e59358dcb Merge pull request #9363 from liamwhite/gs
shader_recompiler: add gl_Layer translation GS for older hardware
2022-12-02 16:08:12 -03:00
Liam dfc09df118 core: add option to break on unmapped access 2022-12-02 08:25:45 -05:00
liamwhite e81abf0744 Merge pull request #9348 from Morph1984/when-the-network-is-down
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-12-01 22:14:43 -05:00
Narr the Reg dbfc2f7ee2 service: nfc: Implement mifare service 2022-12-01 20:43:59 -06:00
Liam e8966fd1f9 shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
Feng Chen f7e82d2fd6 video_core: Fine tuning the index drawing judgment logic 2022-12-01 19:14:58 +08:00
Liam 44db218c6d vulkan_common: quiet some validation errors 2022-11-30 19:18:05 -05:00
ameerj fb155dbffc CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
ameerj 04a6ddddfb string_util: Fix Mingw compile error
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-11-30 18:26:26 -05:00
Fernando S c04a159cd9 Merge pull request #9320 from yuzu-emu/fix-audio-suspend
AudioCore: Take suspend lock when stalling the running process.
2022-11-30 16:41:32 +01:00
bunnei 9ac846fece audio_core: sink_stream: Hold the suspend lock when process is stalled.
- Prevents us from clashing with other callers trying to un/stall.
2022-11-29 20:32:06 -08:00
ameerj 7af574ff01 CMake: Disable PCH on MSVC + Buildcache configs 2022-11-29 23:01:32 -05:00
Kelebek1 bb10e5e6eb Respect render mode override 2022-11-30 01:43:36 +00:00
Morph 544d8df4b2 Merge pull request #9349 from lat9nq/cmake-322
CMakeLists: Bump minimum required CMake version to 3.22
2022-11-29 19:41:47 -05:00
ameerj bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
ameerj 8a22e21d6d value.h: remove recursive include 2022-11-29 18:50:49 -05:00
liamwhite a6e97dcd1c Merge pull request #9308 from lat9nq/from-scratch
startup_checks: Use Windows flow for *nix
2022-11-29 18:45:39 -05:00
liamwhite 994e446168 Merge pull request #9322 from german77/pump_events
input_common: Pump SDL events from main thread
2022-11-29 18:45:25 -05:00
liamwhite dfe5ec8f9c Merge pull request #9352 from lioncash/vidcast
engines: Remove unnecessary casts
2022-11-29 18:45:16 -05:00
Lioncash 225f5ba19f host1x/syncpoint_manager: Eliminate unnecessary std::function construction
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
2022-11-29 08:58:50 -05:00
Lioncash b03305859e host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref
The handle is only compared against and not modified in any way, so we
can pass it by const reference.

This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
2022-11-29 08:55:33 -05:00
Lioncash a3ed3c8340 maxwell_3d: Mark shifted value as unsigned
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.

While we're in the area, we can mark Samples() as const.
2022-11-29 08:39:33 -05:00
Lioncash 0d9c723df4 engines: Remove unnecessary casts
In a few cases we have some casts that can be trivially removed.
2022-11-29 08:38:46 -05:00
liamwhite fa8bf5fb43 Merge pull request #9340 from lioncash/nvdrv
nvdrv: Simplify builder declarations
2022-11-29 08:27:13 -05:00
liamwhite 1f7c0310e2 Merge pull request #9347 from lioncash/vcast
video_core/surface: Eliminate casts in GetFormatType()
2022-11-29 08:26:39 -05:00
liamwhite 049c6ca248 Merge pull request #9346 from lioncash/vtable
producer_listener: Add virtual destructor to IProducerListener
2022-11-29 08:26:32 -05:00
liamwhite 6197033d88 Merge pull request #9345 from lioncash/fence
consumer_base: Pass std::shared_ptr by const reference
2022-11-29 08:26:25 -05:00
liamwhite 9e9e28c281 Merge pull request #9343 from lioncash/bounds
syncpoint_manager: Reduce redundant bounds checks
2022-11-29 08:26:16 -05:00
lat9nq 868c5ca1cb CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
Morph 7ba644dc5d service: nifm: Update stubs for Submit/GetRequestState/GetResult 2022-11-28 22:58:10 -05:00
Lioncash 789c33dc48 video_core/surface: Eliminate casts in GetFormatType()
We can just compare directly and get rid of verbose casting.
2022-11-28 20:25:44 -05:00
Liam acc4a150ef video_core: add null backend 2022-11-28 19:49:09 -05:00
Lioncash ccec899cd8 producer_listener: Add virtual destructor to IProducerListener
Several member variables are shared_ptr's to this base class. Even
though producer listeners are still unimplemented, this ensures we
always have consistent deletion behavior once this ends up being used
polymorphically.
2022-11-28 19:39:13 -05:00
ameerj 76a58e741a configure_input_player: Fix profile saving when using handheld controller type 2022-11-28 19:22:18 -05:00
ameerj 736a034af8 config: Custom profile detection fixes
Also only reads/writes applicable configs for the custom profiles.
2022-11-28 19:22:18 -05:00
ameerj 8a1c99d57b configure_input_per_game: Allow configuring all 8 players 2022-11-28 19:22:18 -05:00
Lioncash 93f287c79b buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer()
This isn't directly modified.

Also allows rvalues to be used with it.
2022-11-28 19:16:20 -05:00
Lioncash 7d9d432ff4 buffer_queue_consumer: std::move std::shared_ptr in Connect()
Avoids an unnecessary reference count increment and decrement
2022-11-28 19:12:26 -05:00
Lioncash f5def4b9c5 consumer_base: Pass shared_ptr by const reference
Avoids churning atomic reference count increments and decrements.
2022-11-28 19:09:44 -05:00
Lioncash bde42f6767 consumer_base: Remove redundant virtual
override already serves this purpose
2022-11-28 19:06:34 -05:00
Lioncash eb1bdc5ed4 syncpoint_manager: Mark IsSyncpointAllocated() as const
This doesn't modify class state at all.
2022-11-28 16:08:21 -05:00
Lioncash 8409b91f2e syncpoint_manager: Reduce number of bounds checks
The only time we need to check bounds is on the first access.
2022-11-28 16:06:01 -05:00
Morph 2c5073f375 Merge pull request #9339 from lioncash/cacheheader
common/cache_management: Amend header includes
2022-11-28 13:12:20 -05:00
Morph 65b9694ec7 Merge pull request #9338 from lioncash/properties
input_common/helpers: Mark analog property structs members as static constexpr
2022-11-28 13:12:14 -05:00
Morph ca79f2ed10 Merge pull request #9337 from lioncash/pbr
common/input: Add helper functions for constructing input and output devices
2022-11-28 13:12:08 -05:00
Lioncash e621ee9ec6 nvdrv: Simplify builder declarations
We can just use auto here. If one of these ever happens to not be
derived from nvdevice, then this will cause a compilation error.

We can also move the devices into the collection to get rid of an
unnecessary atomic reference count increment and decrement.
2022-11-28 10:43:48 -05:00
Lioncash 7c051067f6 common/cache_management: Amend header includes
Narrows the include in the header to <cstddef>, since that's what houses
size_t's definition, meanwhile the <cstdint> include can be moved into
the cpp file.
2022-11-28 10:19:53 -05:00
Lioncash 23e85d2d85 input_common/helpers: Mark analog property structs members as static constexpr
These are const with no dependency on any other data members, so we can
make these static constexpr to reduce the overall object size.
2022-11-28 10:10:37 -05:00
Lioncash a9892677ed core/hid/emulated_controller: Use ranges version of transform
Makes the transform calls much nicer to read.
2022-11-28 10:00:42 -05:00
Lioncash 0862aabdc6 common/input: Add helpers functions for creating input and output devices
Avoids the redundancy of needing to explictly specify the common
namespace and the type.
2022-11-28 10:00:37 -05:00
Lioncash c005d24e1e common/input: Pass ParamPackage by const reference in CreateDevice
This was previously being passed by value, which was unnecessary and
created more allocations than necessary.
2022-11-28 09:11:58 -05:00
Lioncash 72cfd9cb9b yuzu/main: Merge variable declaration into ifdef
This is only used in the non-Windows path.
2022-11-28 08:40:41 -05:00
liamwhite 755e1e93c7 Merge pull request #9325 from german77/default_by_default
yuzu-cmd: Fix default config value
2022-11-28 08:14:32 -05:00
german77 3075c5ec5c yuzu-cmd: Fix default config value 2022-11-27 20:43:34 -06:00
liamwhite 48b545354a Merge pull request #8829 from Docteh/qt6_0002
CMake: rework for Qt6 support
2022-11-27 17:56:22 -05:00
liamwhite d31bb0b36b Merge pull request #9317 from german77/input-crash
yuzu-cmd: Fix input callback crash on close
2022-11-27 15:39:24 -05:00
Liam 0a077cb467 Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
liamwhite 7daf70feec Merge pull request #9323 from german77/intructions
yuzu-cmd: Update configuration file description
2022-11-27 12:54:01 -05:00
german77 cddbfe5e67 input_common: Pump sdl events from main thread 2022-11-27 11:09:40 -06:00
german77 23d7d8b9df yuzu-cmd: Fix input callback crash on close 2022-11-27 10:53:22 -06:00
bunnei 0e8043fc24 Merge pull request #9276 from goldenx86/fsrSlider
FSR Sharpening Slider
2022-11-27 00:13:15 -08:00
Valeri e9fb4a65b9 crypto: use user-provided keys whenever possible
Solves an issue where autogenerated title keys would take precedence over those provided by user.
2022-11-27 05:08:25 +03:00
german77 8e2afd4e42 yuzu-cmd: Update configuration file description 2022-11-26 19:48:22 -06:00
bunnei 94ee753735 core: Use atomic instead of a lock to protect is_paused.
- This allows us to call IsPaused() elsewhere if we are holding the suspend lock.
2022-11-26 13:46:38 -08:00
Matías Locatti 71055c8e90 Oops 2022-11-26 17:39:43 -03:00
Matías Locatti 492fabc9b2 Replace GLSL as the default OpenGL shader backend
GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
2022-11-26 17:27:04 -03:00
liamwhite 0f9aee1f8a Merge pull request #9288 from vonchenplus/deferred_draw
video_core: Fine tune maxwell drawing trigger mechanism
2022-11-26 09:35:45 -05:00
liamwhite 8ee07be628 Merge pull request #9307 from Morph1984/not-used-correctly
maxwell_to_vk: Fix format usage bits and add R16_SINT
2022-11-26 09:08:55 -05:00
Matías Locatti b4211c8a46 Sharpness instead of Sharpening 2022-11-26 02:14:10 -03:00
lat9nq cedec65403 configure_graphics: Implement custom FSR Sharpening setting 2022-11-25 22:42:54 -05:00
lat9nq 1c5379fef9 settings: Reset FSR sharpening global state with the others 2022-11-25 22:42:24 -05:00
liamwhite ad0cb5a8bc Merge pull request #9297 from Kelebek1/sink_oob
[audio_core] Fix an OoB with sample sinking
2022-11-25 12:53:29 -05:00
bunnei 0465fd322a Merge pull request #9304 from liamwhite/menu-roll
Qt: assign menuRole properties for actions
2022-11-25 00:38:50 -08:00
bunnei d62f8bbcc4 Merge pull request #9305 from lioncash/request
hle_ipc: Add helper function for determining element counts
2022-11-25 00:38:17 -08:00
liamwhite ac7ceced88 Merge pull request #9194 from FernandoS27/yfc-fermi2d
YFC - Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 21:48:41 -05:00
Fernando Sahmkow 984c30bc52 Fermi2D: Cleanup and address feedback. 2022-11-24 21:00:48 +01:00
Fernando Sahmkow b3708b0a5b GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation. 2022-11-24 20:57:16 +01:00
Fernando Sahmkow a87ff9181b GPU: Implement additional render target formats. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow e3b3fcb1fc MaxwellDMA: Implement BlockLinear to BlockLinear copies. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow 41b3ddbbae Fermi2D: Implement Bilinear software filtering and address feedback. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow f4291e4576 Fermi2D: Rework blit engine and add a software blitter. 2022-11-24 20:35:44 +01:00
Kyle Kienapfel 84063074a5 CMake: rework for Qt6 support
This PR rearranges things in the CMake system to make compiling with Qt6 possible

1. Camera API has changed in Qt6, so the camera feature is disabled
2. A previous fix involving QLocale is now version gated.
3. QRegExp replaced with QRegularExpression, see #5343
4. Qt6_LOCATION option added to specify a location to search for Qt6
  (see examples below)
5. windeployqt is used to copy Qt6 files into the build directory on Windows

Notes for Arch Linux
Arch install happened to have qt6-base qt6-declarative qt6-translations installed

mkdir build && cd build
cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DENABLE_QT6=YES -DYUZU_USE_BUNDLED_QT=NO

Windows (MSVC)
Qt wants users to download precompiled libraries via an online installer,
it is worth noting that the GPL/LGPL takes precendence over any ...

In the Qt Maintenance tool, under a version, such as 6.3.1
Select "MSVC 2019 64-bit"
Under Additional Libraries Qt Multimedia may be of use for Camera support

For the Web Applet I had to select the following:
PDF Positioning WebChannel WebEngine

mkdir build && cd build
cmake -G "Visual Studio 16 2019" -DQt6_LOCATION=C:/Qt/6.4.0/msvc2019_64/ \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=YES -DYUZU_USE_BUNDLED_QT=NO \
-DENABLE_QT_TRANSLATION=YES -DENABLE_QT6=YES ..

Some numbers for reference (msvc2019_64)
Qt5 (slimmed down) 508 MB
Qt5.15.2 all in    929 MB
Qt6.3.1           1.71 GB
Qt6.3.2           1.73 GB
Qt6.4.0-beta3     1.83 GB
Qt6.4.0           1.67 GB
2022-11-24 06:28:42 -08:00
Matías Locatti 8e19421f84 FSR Sharpening Slider part 1 - only a global slider 2022-11-24 04:22:13 -05:00
lat9nq 350ea4888b startup_checks: Use fmt::print, fix exec error handling
Uses fmt::print opposed to std::fprintf for error printing.

Call exit instead of returning to caller to prevent a like issue the
previous commit was trying to solve.

Removes unneeded comment.

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-11-23 21:59:24 -05:00
lat9nq b9046e89de startup_checks: Use Windows flow for *nix
Spawns a child using fork and exec as opposed to fork alone. Workaround
for the macos file manager complaining about not supporting fork without
exec.

Control flow for *nix is now roughly the same as for Windows.
2022-11-23 21:35:47 -05:00
Morph 79d76606f2 maxwell_to_vk: Add R16_SINT
This was somehow missed when the format was added to GL
2022-11-23 21:30:58 -05:00
Morph 44ef6e38cb maxwell_to_vk: Fix format usage bits
- VK_FORMAT_B8G8R8A8_UNORM supports the STORAGE_IMAGE_BIT
- VK_FORMAT_R4G4B4A4_UNORM_PACK16 does not support the COLOR_ATTACHMENT_BIT
2022-11-23 21:29:43 -05:00
Lioncash 8c35c8c4a6 service: Make use of buffer element count helpers 2022-11-23 13:43:20 -05:00
Lioncash ff19204dc6 hle_ipc: Add helper functions for getting number of buffer elements 2022-11-23 13:15:19 -05:00
Lioncash ce329764a2 hle_ipc: Mark relevant member functions as [[nodiscard]]
Will allow the compiler to complain about cases where ignoring the
return value would be a bug.
2022-11-23 13:08:52 -05:00
Liam fa845b681b Qt: assign menuRole properties for actions 2022-11-23 12:41:56 -05:00
Liam 5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
liamwhite 1cc95c4d53 Merge pull request #9299 from lioncash/cast
k_handle_table: Remove cast to void* in GetObjectForIpc
2022-11-22 17:47:53 -05:00
Lioncash 71d5db9354 k_handle_table: Remove cast to void* in GetObjectForIpc
This was used to get around the KProcess class being incomplete. We can
just move this to the cpp file and eliminate the cast entirely, letting
the compiler do its work.
2022-11-22 13:58:42 -05:00
bunnei 8484ed0cf6 Merge pull request #9219 from german77/nfc_impl
service: nfc: Implement NFC IUser service
2022-11-22 10:28:38 -08:00
Kelebek1 59c4dc2f32 Use the maximum input index for samples buffer span size, not just the input count 2022-11-22 15:32:11 +00:00
FengChen 607a965c57 video_core: Optimize maxwell drawing trigger mechanism 2022-11-22 17:53:26 +08:00
Morph e1a681378e qt_amiibo_settings: Use WebClient only if ENABLE_WEB_SERVICE is enabled
Resolves compilation errors when ENABLE_WEB_SERVICE is disabled in CMake configuration
2022-11-21 15:22:17 -05:00
ameerj 19ca666e9f Configuration: Add per-game input profiles 2022-11-20 14:06:31 -05:00
Morph 8c78a8f003 Merge pull request #9279 from liamwhite/this-would-have-never-happened-in-rust
dmnt:cht: fix copy-paste error
2022-11-20 13:30:35 -05:00
liamwhite cebe63ee08 Merge pull request #9216 from vonchenplus/reimp_inline_index_buffer
video_core: Reimplement inline index buffer binding
2022-11-20 12:08:08 -05:00
Narr the Reg 06d54056d6 Merge branch 'master' into nfc_impl 2022-11-20 09:31:20 -06:00
Liam 9c69743686 dmnt:cht: fix copy-paste error 2022-11-20 10:14:22 -05:00
bunnei 914f824b1f Merge pull request #9238 from german77/cabinet_applet
service: am: Implement cabinet applet
2022-11-20 00:48:39 -08:00
Morph 2d185b2c44 Merge pull request #9249 from goldenx86/available-vram
Add available Vulkan VRAM to log files
2022-11-20 00:21:29 -05:00
bunnei 66235689d2 Merge pull request #9254 from FernandoS27/auto-cpu-fix
Dynarmic: Remove inaccurate NaN from Auto CPU settings.
2022-11-19 12:52:41 -08:00
liamwhite e118cc09bd Merge pull request #9191 from german77/touching_souls
core: hid: Implement true multitouch support
2022-11-19 13:21:01 -05:00
Fernando S ea0dcb71d5 Merge pull request #9260 from liamwhite/youre-in-big-trouble-now
spirv_emit_context: add missing flat decoration
2022-11-19 16:40:14 +01:00
Narr the Reg 5c134b62bd service: nfc: Implement nfc user 2022-11-19 08:51:59 -06:00
german77 1cf625b6c6 service: hid: Only overclock npad controllers 2022-11-19 08:44:42 -06:00
Narr the Reg 8e0e45dcb9 core: hid: Implement true multitouch support 2022-11-19 08:44:33 -06:00
bunnei 09a93caeb8 Merge pull request #9252 from liamwhite/radv-superiority
maxwell3d: HLE multi-layer clear macro
2022-11-19 01:46:48 -08:00
Liam 4b905e9680 spirv_emit_context: add missing flat decoration 2022-11-18 22:05:28 -05:00
liamwhite d96606b091 Merge pull request #9253 from vonchenplus/attr_layer
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
bunnei a6b1bc0ded Merge pull request #9234 from liamwhite/data-cash-money
kernel: implement data cache management operations
2022-11-18 13:18:36 -08:00
Kyle Kienapfel 11903d9b88 qt: Add Qt version to LogRuntimes 2022-11-17 19:14:14 -08:00
Kyle Kienapfel 6269560358 Qt6: Disable IR Sensor when compiling with Qt6
Gating the IR Sensor code behind a macro like so
`#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && YUZU_USE_QT_MULTIMEDIA`

The YUZU_USE_QT_MULTIMEDIA flag is implemented in later commit

Also the locale fix in src/yuzu/main.cpp is now gated against Qt6,
as it causes compilation error
2022-11-17 19:14:14 -08:00
bunnei ca033e8d94 Merge pull request #9244 from liamwhite/lost-wakeup
nvnflinger: fix lost wakeup
2022-11-17 17:15:47 -08:00
Morph ab4c53a3e6 Merge pull request #9229 from Docteh/achy_breaky_heart
Add break for default cases
2022-11-17 19:20:18 -05:00
liamwhite 5ec3607731 Merge pull request #9228 from HidroSaphire/patch-1
Add break statement in default case
2022-11-17 18:53:59 -05:00
Fernando Sahmkow ee4b6380b9 Dynarmic: Remove inaccurate NaN from Auto CPU settings. 2022-11-17 16:59:41 +01:00
FengChen 12f2ab01bb shader: Implement miss attribute layer 2022-11-17 22:45:14 +08:00
Liam e219606128 maxwell3d: full HLE for multi-layer clears 2022-11-17 08:31:43 -05:00
Liam bc9a3c2033 maxwell3d: HLE multi-layer clear macro 2022-11-16 22:28:58 -05:00
Matías Locatti dad4e68530 Update renderer_vulkan.cpp 2022-11-16 05:53:42 -03:00
lat9nq 348447abbb configure_profile_manager: Cleanup reference/pointer usage
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
Co-authored-by: Mai M. <mathew1800@gmail.com>
2022-11-15 19:25:09 -05:00
lat9nq 0feb3c195c configure_profile_manager: Remove profile picture border
The border adds its own width at least on Linux which causes the icon to
be offset by 1px, and cropped by 2px on the bottom and right sides.
2022-11-15 18:11:58 -05:00
lat9nq 0d4da0b260 configure_profile_manager: Use a custom dialog for deletion
A hopefully more informative dialog that most importantly notifies the
user that their saves will be deleted with the user profile.

cpm: Only keep track of UI elements that we need

cpm: Remove unused forward declarations

cpm: Add missing include
2022-11-15 18:11:56 -05:00
bunnei 295ac1cfe9 Merge pull request #9243 from german77/result
core: Update result module
2022-11-14 20:36:38 -08:00
Feng Chen e32414b94b video_core: Reimplement inline index buffer binding 2022-11-15 12:10:44 +08:00
Liam 14292b4067 nvnflinger: fix lost wakeup 2022-11-14 21:18:52 -05:00
Narr the Reg da3b7ba4ed core: Update result module 2022-11-14 20:08:47 -06:00
Kyle Kienapfel d886438754 Add break for default cases
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.

I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw

R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
german77 9639d49ec6 general: Address review comments 2022-11-13 17:13:43 -06:00
german77 7fdca4ffab service: am: Fix cabinet applet result 2022-11-13 14:25:00 -06:00
german77 f75ae68d6e yuzu: Implement cabinet applet frontend 2022-11-13 13:58:19 -06:00
german77 23cda93390 service: am: Implement cabinet applet backend 2022-11-13 11:07:48 -06:00
german77 7328e78385 input_common: Add amiibo applet functions 2022-11-13 10:56:54 -06:00
german77 de02ec2357 service: nfc: fix tagprotocol and implement GetApplicationAreaId 2022-11-13 10:52:48 -06:00
liamwhite fafa91c354 Merge pull request #9225 from liamwhite/debugger-instance
Debugger improvements
2022-11-12 21:04:00 -05:00
Matías Locatti 1a419f73c3 Ignore ARM for core count 2022-11-12 15:31:54 -03:00
Liam e313e4f1ae kernel: implement FlushProcessDataCache 2022-11-12 11:27:04 -05:00
Liam 10751ff536 common: add cache management functions 2022-11-12 11:26:56 -05:00
bunnei dcbcbcb9d4 Merge pull request #9226 from Kelebek1/regs_regression
[video_core] Fix a couple regs regressions
2022-11-12 02:27:06 -08:00
bunnei d942e886f5 Merge pull request #9224 from liamwhite/services-arent-processes
service_thread: remove explicit KProcess
2022-11-11 22:37:04 -08:00
Mai 28aaaaf02e Merge pull request #9231 from goldenx86/corecount
Add CPU core count to log files
2022-11-12 03:19:26 +00:00
Matías Locatti 6b465c859b Add CPU core count to log files 2022-11-11 23:50:48 -03:00
bunnei 2df2dcd945 hle: service: audio: Use default service thread.
- This was arbitrarily added by me, and does not appear to be helpful.
2022-11-11 17:34:39 -08:00
liamwhite 77885a5cb6 Merge pull request #9204 from vonchenplus/dma_copy_1d_random_crash
video_core: Fix dma copy 1D random crash
2022-11-11 17:56:41 -05:00
liamwhite 2cfc91d164 Merge pull request #9133 from FearlessTobi/compat-improvements
yuzu/compatdb: Improve compatibility submission system
2022-11-11 16:15:36 -05:00
Tobias ed864a551f yuzu/main: Change to 8_GiB instead of magic number
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2022-11-11 19:15:52 +01:00
liamwhite c4d9b65e0c Merge pull request #9167 from vonchenplus/tess
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
Enrico Mancuso 444c5ed6d9 Add break statement in default case
According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement
2022-11-11 10:16:58 +01:00
bunnei 04af9d91d6 Merge pull request #9223 from goldenx86/threadcount
Add CPU thread count to log files
2022-11-10 23:12:39 -08:00
Kelebek1 a5b76126e1 Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg 2022-11-11 04:04:36 +00:00
Morph fc301cf777 ir/texture_pass: Use host_info instead of querying Settings::values (#9176) 2022-11-11 03:32:53 +01:00
bunnei 4e4c74cbe7 Merge pull request #9198 from liamwhite/arm64
Initial ARM64 support
2022-11-10 17:11:27 -08:00
Mai 09093559ae Merge pull request #9180 from Docteh/remove_stuff
UI: split up strings relating to content removal
2022-11-11 00:42:40 +00:00
Mai 88bc773b13 Merge pull request #9217 from HidroSaphire/patch-1
Add break statement in default cases
2022-11-11 00:42:04 +00:00
Liam 9f12c3e22f gdbstub: add ams monitor commands 2022-11-10 19:20:57 -05:00
Liam a19fabfe0c debugger: allow more than one connection attempt per session 2022-11-10 17:39:04 -05:00
bunnei e8be7a744f Merge pull request #9192 from german77/i_had_to_copy_each_one_again
yuzu: Change QtKeyToSwitchKey switch case to array
2022-11-10 13:44:41 -08:00
Matías Locatti bb60d4106d Me likes
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2022-11-10 18:36:39 -03:00
Liam 47ce2e44d9 service_thread: remove explicit KProcess 2022-11-10 16:14:03 -05:00
FearlessTobi 8c677c24a5 yuzu/compatdb: Rework compatibility submission system
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-11-10 21:36:22 +01:00
Matías Locatti ff7f1c1c6a Add CPU thread count to log files 2022-11-10 15:46:08 -03:00
FengChen 751f16bf66 video_core: Fix dma copy 1D random crash 2022-11-11 00:23:45 +08:00
Liam affd5c32f9 kernel/svc_types: refresh 2022-11-09 19:05:08 -05:00
bunnei 829acd963c Merge pull request #9182 from liamwhite/services-are-processes
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
Liam 9509fb30a4 Initial ARM64 support 2022-11-09 16:58:49 -05:00
Enrico Mancuso 3efb76498a Add break statement in default cases
According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement

default:
        // Yes, even break for the last case
        break;
2022-11-09 15:34:26 +01:00
Fernando S 728eca47a1 Merge pull request #9215 from liamwhite/swordfight
Ensure correctness of atomic store ordering
2022-11-09 14:50:49 +01:00
Liam 683a0a1a71 Ensure correctness of atomic store ordering 2022-11-09 08:09:50 -05:00
FengChen 348c6e5b28 video_core: Fix few issues in Tess stage 2022-11-07 15:42:42 +08:00
Liam 0fc08006e5 service_thread: fix deletion 2022-11-06 19:50:51 -05:00
german77 b7bf882f2e yuzu: Change QtKeyToSwitchKey switch case to array 2022-11-06 18:08:31 -06:00
FengChen 9d1c9f1f58 video_core:Fix vmm kinds size error 2022-11-06 22:31:22 +08:00
Fernando S e12153f58f Merge pull request #9163 from vonchenplus/draw_error
video_core: Fix drawing trigger mechanism regression
2022-11-06 01:13:59 +01:00
liamwhite c14f27ee5f Merge pull request #9173 from bunnei/kern-update-15
Kernel: Various updates for FW 15.0.x
2022-11-05 13:25:29 -04:00
Liam f31c2e7f79 core: hle: kernel: Address review comments. 2022-11-05 12:23:47 -04:00
Morph 8aa03d550a Merge pull request #9189 from vonchenplus/stupid
video_core: Fix scaling graphical regressions for multiple games
2022-11-05 11:57:52 -04:00
FengChen d1ae6c4092 video_core: Fix scaling graphical regressions for multiple games 2022-11-05 17:21:02 +08:00
Kyle Kienapfel 86438994cb UI: split up strings relating to content removal
Requested by Italian translator (Fs00 in Discord)

"Remove Installed Game %1?"
"Error Removing %1"

I didn't press for translated strings, so have a taste direct from deepl

Rimuovere il contenuto del gioco installato?
Rimuovere l'aggiornamento del gioco installato?
Rimuovere il DLC del gioco installato?
2022-11-04 20:25:38 -07:00
Mai fad55204fb Merge pull request #9181 from jbeich/freebsd-qt-parity
Qt: enable recent Linux features on BSDs
2022-11-04 17:54:17 +00:00
Mai 7ff44a2454 Merge pull request #9178 from jbeich/freebsd-include
network: unbreak on BSDs due to missing include
2022-11-04 17:52:01 +00:00
Liam c835c254a3 service_thread: register service threads to the logical owner process 2022-11-04 09:18:57 -04:00
Liam ae2bfd082b kernel: avoid racy behavior in global suspension 2022-11-04 09:18:57 -04:00
Jan Beich 3366421919 Qt: enable recent Linux features on more Unices
- Prevent sleep via xdg-desktop-portal after 68901da65f
- Pause on suspend after 700bd12480
- Exit on SIGINT/SIGTERM after 7372295eb2
- Improve dark themes after 6af8034f3e
2022-11-04 13:01:17 +00:00
Jan Beich e05870489a network: add missing header for SO_* on Unix after ce5b9d370d
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::Initialize(Network::Domain, Network::Type, Network::Protocol)':
src/core/internal_network/socket_proxy.cpp:51:20: error: 'SO_TYPE' was not declared in this scope
   51 |     SetSockOpt(fd, SO_TYPE, type);
      |                    ^~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetLinger(bool, u32)':
src/core/internal_network/socket_proxy.cpp:253:27: error: 'SO_LINGER' was not declared in this scope
  253 |     return SetSockOpt(fd, SO_LINGER, values);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetReuseAddr(bool)':
src/core/internal_network/socket_proxy.cpp:257:32: error: 'SO_REUSEADDR' was not declared in this scope
  257 |     return SetSockOpt<u32>(fd, SO_REUSEADDR, enable ? 1 : 0);
      |                                ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetBroadcast(bool)':
src/core/internal_network/socket_proxy.cpp:262:32: error: 'SO_BROADCAST' was not declared in this scope
  262 |     return SetSockOpt<u32>(fd, SO_BROADCAST, enable ? 1 : 0);
      |                                ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndBuf(u32)':
src/core/internal_network/socket_proxy.cpp:266:27: error: 'SO_SNDBUF' was not declared in this scope
  266 |     return SetSockOpt(fd, SO_SNDBUF, value);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvBuf(u32)':
src/core/internal_network/socket_proxy.cpp:274:27: error: 'SO_RCVBUF' was not declared in this scope
  274 |     return SetSockOpt(fd, SO_RCVBUF, value);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:279:27: error: 'SO_SNDTIMEO' was not declared in this scope
  279 |     return SetSockOpt(fd, SO_SNDTIMEO, static_cast<int>(value));
      |                           ^~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:284:27: error: 'SO_RCVTIMEO' was not declared in this scope
  284 |     return SetSockOpt(fd, SO_RCVTIMEO, static_cast<int>(value));
      |                           ^~~~~~~~~~~
2022-11-04 07:28:46 +00:00
gidoly 4dad66ac4b Update shader cache version. (#9175) 2022-11-04 03:16:01 -04:00
Feng Chen bcf6a7c0dd video_core: Fix SNORM texture buffer emulating error (#9001) 2022-11-04 02:39:42 -04:00
Piplup 210d5d29ed UI: Add options to hide extra columns (#9093)
UI change that allows the user to hide the size and or file types columns
2022-11-04 02:30:39 -04:00
bunnei 7c3bee5601 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
bunnei 900d89f2b9 Merge pull request #9135 from liamwhite/service-thread-event
kernel: invert session request handling flow
2022-11-03 21:45:56 -07:00
bunnei 0335904d60 core: hle: kernel: k_page_table: Remove unnecessary casts. 2022-11-03 21:17:08 -07:00
bunnei 0b18b1426a core: hle: kernel: k_page_table: Manually open/close pages for IPC methods. 2022-11-03 21:17:08 -07:00
bunnei 9bde36cb85 core: hle: kernel: k_page_table: Implement IPC memory methods. 2022-11-03 21:17:07 -07:00
bunnei e88395e6cd core: hle: kernel: k_memory_manager: Refresh. 2022-11-03 21:17:07 -07:00
bunnei e81fcf5795 core: hle: kernel: Integrate system KSystemResource. 2022-11-03 21:17:07 -07:00
bunnei d28e5d7e49 core: hle: kernel: k_dynamic_page_manager: Refresh. 2022-11-03 21:17:07 -07:00
bunnei 57796fc36e core: hle: kernel: Add KSystemResource. 2022-11-03 21:17:07 -07:00
bunnei 512ddcd3d4 core: hle: kernel: k_handle_table: Refresh. 2022-11-03 21:17:07 -07:00
bunnei a6e1e61bd6 core: hle: kernel: k_memory_layout: Refresh. 2022-11-03 21:17:07 -07:00
bunnei acb9386c80 core: hle: kernel: k_memory_region_type: Refresh. 2022-11-03 21:17:07 -07:00
bunnei 992e678f4a core: hle: kernel: slab_helpers: Add KAutoObjectWithSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei d3b3eb1d6d core: hle: kernel: k_dynamic_resource_manager: Add KBlockInfoManager, KBlockInfoSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 3196057319 core: hle: kernel: k_page_bitmap: Refresh. 2022-11-03 21:17:06 -07:00
bunnei 46425afc3e core: hle: kernel: k_memory_block: Refresh. 2022-11-03 21:17:06 -07:00
bunnei 5a46757171 core: hle: kernel: k_page_heap: Refresh. 2022-11-03 21:17:06 -07:00
bunnei ddf0fbd8e9 core: hle: kernel: k_page_group: Add KPageBufferSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 53e40c01e7 core: hle: kernel: k_system_control: Add SecureAppletMemorySize. 2022-11-03 21:17:06 -07:00
bunnei 8973237f87 core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 6e069b7ee5 core: hle: kernel: Add KPageTableManager. 2022-11-03 21:17:06 -07:00
bunnei 315292275e core: hle: kernel: Add KPageTableSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 019e425377 core: hle: kernel: Add KEventInfo. 2022-11-03 21:17:06 -07:00
bunnei 0146d20e51 core: hle: kernel: Add KDebug. 2022-11-03 21:17:06 -07:00
bunnei a91e38694a core: hle: result: Fix code for compilers. 2022-11-03 21:17:06 -07:00
Fernando S 5b0b321b41 Merge pull request #9154 from liamwhite/new-fb
vk_blit_screen: recreate swapchain images on guest format change
2022-11-04 01:25:34 +01:00
Morph c2875cf69a Merge pull request #9097 from liamwhite/intel-spv-compiler
video_core: don't build ASTC decoder shader unless requested
2022-11-03 19:29:33 -04:00
bunnei 6a447fd764 core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.
- These APIs are used to capture the opened users and allow that state to be persisted across processes.
- They are not intended to just return the system opened users, that is what ListOpenUsers is for.
- Fixes the launch hang with Bayonetta 3.
2022-11-02 16:09:30 -07:00
Ludovic 7db0379386 remove unnecessary sepator in file menu (main.ui) 2022-11-02 17:33:53 +01:00
liamwhite 8ae1589bcd Merge pull request #9143 from K0bin/scheduler-empty
vk_scheduler: Remove recorded_counts
2022-10-31 21:37:46 -04:00
Liam 710220601f sm:: avoid excessive port recreation 2022-10-31 17:47:39 -04:00
Liam 2a4a371112 kernel: fix single core for service threads 2022-10-31 17:45:46 -04:00
Liam 8f65df7619 kernel: fix port tracking 2022-10-31 17:45:46 -04:00
Liam 57e5211eb6 k_server_session: add SendReplyHLE 2022-10-31 17:45:45 -04:00
Liam b5a9e6f989 service_thread: convert to map for session management 2022-10-31 17:44:07 -04:00
Liam 2e56a382a9 kernel: invert session request handling flow 2022-10-31 17:44:06 -04:00
bunnei 305d8ede21 Merge pull request #9159 from liamwhite/kbork
kernel: more complete fix for KPort reference counting
2022-10-31 11:18:17 -07:00
FengChen 3e0cc4fd75 video_core: Fix drawing trigger mechanism regression 2022-10-31 21:57:38 +08:00
Liam e86cadc4c4 kernel: more complete fix for KPort reference counting 2022-10-31 08:23:29 -04:00
bunnei 3b0a19f749 Merge pull request #9155 from FernandoS27/goosfraba
Vulkan: Fix regression caused by limiting render area to width/height of render targets.
2022-10-30 17:34:28 -07:00
Liam e9589c859d k_thread: fix single core 2022-10-30 18:44:29 -04:00
Fernando Sahmkow ed7af8f0d9 Vulkan: Fix regression caused by limiting render area to width/height of rendef targets. 2022-10-30 21:24:28 +01:00
Liam 3d52adefa1 vk_blit_screen: recreate swapchain images on guest format change 2022-10-30 15:04:16 -04:00
Morph c6b58636b2 Merge pull request #9151 from liamwhite/dram-size
kernel: reinitialize after dram layout change
2022-10-30 13:23:57 -04:00
Liam a0ed2571c7 kernel: reinitialize after dram layout change 2022-10-30 11:01:22 -04:00
liamwhite c412018f0a Merge pull request #9091 from Docteh/what_compat_list
UI: Add option to hide the compatibility list
2022-10-30 09:17:16 -04:00
bunnei fb64d41b6f Merge pull request #9149 from german77/volum
service: am: Stub SetRecordVolumeMuted
2022-10-29 23:36:15 -07:00
german77 4d66c180ac service: am: Stub SetRecordVolumeMuted
Used by bayonetta 3
2022-10-30 00:34:33 -05:00
Liam 8988c3dea9 k_server_session: fix crashes 2022-10-29 23:05:56 -04:00
bunnei 8e31038129 Merge pull request #9137 from liamwhite/hbmenu
Improved support for nx-hbmenu
2022-10-29 16:11:26 -07:00
bunnei 2129b4ea58 Merge pull request #9140 from vonchenplus/darw_index_bufferx_first_error
video_core: Fix drawing trigger mechanism regression
2022-10-29 16:10:53 -07:00
bunnei e6fe6e8411 Merge pull request #9127 from vonchenplus/vulkan_clear
video_core: Catch vulkan clear op not all channel need clear
2022-10-27 19:19:40 -07:00
Robin Kertels 1f55ab85ab vk_scheduler: Remove recorded_counts 2022-10-28 03:42:43 +02:00
liamwhite b5dc28edea Merge pull request #9138 from liamwhite/hbl-stacktrace
arm_interface: curb infinite recursion in stacktrace generation
2022-10-27 20:07:48 -04:00
Liam 8544af06f5 arm_interface: curb infinite recursion in stacktrace generation 2022-10-27 16:01:05 -04:00
bunnei 9bbb12f37b Merge pull request #9115 from vonchenplus/game_name_by_language
file_sys: Priority display of game titles in the current language
2022-10-27 11:33:02 -07:00
bunnei 71470841bc Merge pull request #9126 from vonchenplus/revert-8068-shader-if-false
Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass"
2022-10-27 10:11:02 -07:00
Liam a71c698323 nvnflinger: release queued handles immediately on disconnection 2022-10-27 08:28:02 -04:00
Liam 4351ab1ff1 vi: implement CloseDisplay 2022-10-27 08:27:38 -04:00
liamwhite d342210927 Merge pull request #9134 from lioncash/init
audio_in/out_system: Pass Initialize members by value where applicable
2022-10-27 08:10:24 -04:00
FengChen 2636c9f876 video_core: Fix drawing trigger mechanism regression 2022-10-27 13:26:52 +08:00
bunnei fadd316c24 Merge pull request #9125 from liamwhite/dummy-scheduler
kernel: refactor dummy thread wakeups
2022-10-26 09:51:44 -07:00
Lioncash a8b7993c88 audio_in/out_system: Pass Initialize members by value where applicable
applet_resource_user_id isn't actually modified and is just assigned to
a member variable, so this doesn't need to be a mutable reference.

Similarly, the device name itself isn't modified and is only moved. We
pass by value here, since we can still perform the move, but eliminate a
sneaky set of calls that can unintentionally destroy the original
string. Given how nested the calls are, it's good to get rid of this
potential vector for a use-after-move bug.
2022-10-26 11:21:48 -04:00
Morph 89ace6c367 concepts: Use the std::contiguous_iterator concept
This also covers std::span, which does not have a const iterator.

Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-26 00:41:54 -04:00
liamwhite 22acf5cddb Merge pull request #9128 from abouvier/patch-1
tests: fix for -Wall
2022-10-25 12:36:25 -04:00
liamwhite 1910dce4a4 Merge pull request #9113 from german77/peer_pressure
service: nfp: Allow amiibos without keys
2022-10-25 12:13:31 -04:00
liamwhite f25243fd9d Merge pull request #9107 from german77/gidoly_rules
input_common: cache vibration tests
2022-10-25 12:13:18 -04:00
Alexandre Bouvier 8dbd9adb4a tests: fix for -Wall
Fix #9123
2022-10-25 15:20:23 +00:00
FengChen 072fde772d video_core: Catch vulkan clear op not all channel need clear 2022-10-25 22:39:29 +08:00
liamwhite d8c264af1e Merge pull request #9112 from vonchenplus/deferred_draw
video_core: Reimplementing the maxwell drawing trigger mechanism
2022-10-25 09:42:59 -04:00
liamwhite 252ae177ff Merge pull request #9119 from liamwhite/shutdown-barrier
core: barrier service thread shutdown
2022-10-25 06:45:51 -04:00
Feng Chen 33514a0d94 Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" 2022-10-25 12:57:25 +08:00
Liam 3980952ab8 kernel: refactor dummy thread wakeups 2022-10-24 19:52:01 -04:00
bunnei d12a088a98 Merge pull request #8873 from vonchenplus/fix_legacy_location_error
video_core: Fix legacy to generic location unpaired
2022-10-24 10:50:24 -07:00
FengChen f5ee1a756a file_sys: Priority display of game titles in the current language 2022-10-24 21:55:25 +08:00
Fernando S 6e7788c26f Merge pull request #9122 from liamwhite/burnt-chicken
nvdrv: fix container destruction order
2022-10-24 12:41:46 +02:00
Liam e9da7b43d5 nvdrv: fix container destruction order 2022-10-23 19:25:57 -04:00
Liam ee969900ae core: barrier service thread shutdown 2022-10-23 05:45:45 -04:00
german77 06555ad6c0 core: hid: Add handheld to nfc devices 2022-10-22 14:05:00 -05:00
Morph c7e799edb0 CMakeLists: Disable -Wbraced-scalar-init on Clang
Clang erroneously emits this warning when using designated initializers.
2022-10-22 15:02:04 -04:00
Morph a60391fbe7 yuzu: Resolve -Wpessimizing-move 2022-10-22 15:02:04 -04:00
Morph 72d7f4f4ff startup_checks: Resolve -Wstringop-truncation
Copies up to sizeof(p_name) - 1 in strncpy and null terminates it at p_name[254]
2022-10-22 15:02:04 -04:00
Morph 5441b3ec2d startup_checks: Resolve -Wformat 2022-10-22 15:02:04 -04:00
Morph afea768e8d general: Resolve -Wunused-but-set-variable 2022-10-22 15:02:04 -04:00
Morph c6c56d3e9c general: Resolve -Wunused-lambda-capture and C5233 2022-10-22 15:02:04 -04:00
Morph 3dd414f844 general: Resolve -Wclass-memaccess 2022-10-22 15:02:04 -04:00
Morph 5c4c90385f ipc_helpers: Ignore GCC compiler warnings only on GCC
Clang and ICC for whatever reason also defines __GNUC__. Exclude them from this check.
2022-10-22 15:02:04 -04:00
Morph ef7ec7ffa1 CMakeLists: Enforce C5233 on MSVC
This is similar to Clang's -Wunused-lambda-capture
2022-10-22 15:02:04 -04:00
Morph 9a8db147b2 CMakeLists: Disable C4100 and C4324
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
Morph dc61af8eb1 CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
Morph e9aa1821e8 decoders: Use 2's complement instead of unary -
Resolves C4146 on MSVC
2022-10-22 15:02:04 -04:00
Morph ea5b59b539 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
Morph 9fba74d245 general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
Morph 4bad20dc5f CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
Morph 4531c0fb72 CMakeLists: Consolidate all unused warnings into -Wunused 2022-10-22 15:02:04 -04:00
Morph 4cc8c4beab CMakeLists: Treat -Wall and -Wextra as errors 2022-10-22 15:02:04 -04:00
Fernando S 99cefb62fd Merge pull request #9095 from FernandoS27/meat-good-vegetable-bad
Maxwell3D/Puller: Fix regressions and syncing issues.
2022-10-22 13:06:03 +02:00
FengChen f9f995c56a video_core: Implement maxwell inline_index method 2022-10-22 16:58:23 +08:00
Narr the Reg d444a2ffab service: nfp: Allow amiibos without keys 2022-10-21 23:08:07 -05:00
Narr the Reg ea7f4aed98 service: nfp: remove unnecessary include 2022-10-21 21:54:31 -05:00
FengChen 8eed4e7ee5 video_coare: Reimplementing the maxwell drawing trigger mechanism 2022-10-21 17:09:22 +08:00
liamwhite 2ca7effbfd Merge pull request #9106 from lioncash/copy-err
hid/npad: Fix copy size in GetSupportedNpadIdTypes
2022-10-21 03:47:02 -04:00
liamwhite f7ffcb41aa Merge pull request #9108 from Morph1984/r32-b24g8
format_lookup_table: Implement R32_B24G8 with D32_FLOAT_S8_UINT
2022-10-21 03:45:49 -04:00
Lioncash 47160b51fb k_session_request: Add missing override specifier 2022-10-21 01:56:14 -04:00
Morph d481ac5a0c format_lookup_table: Implement R32_B24G8 with D32_FLOAT_S8_UINT
This format is similar to Z32_FLOAT_X24S8_UINT, which is implemented with D32_FLOAT_S8_UINT.

Used in Persona 5 Royal
2022-10-21 01:54:57 -04:00
Lioncash 4432989177 k_session_request: Turn C-style array into std::array
Makes for stronger typing and allows tooling bounds checks provided by
the standard library for debugging purposes.
2022-10-21 01:54:34 -04:00
Lioncash 6057b801cf k_session_request: Simplify constructor initialization 2022-10-21 01:53:10 -04:00
german77 96881efdc3 input_common: cache vibration tests 2022-10-21 00:24:08 -05:00
Lioncash 32ce4a4821 hid/npad: Fix copy size in GetSupportedNpadIdTypes
Previously this was passing the size of the vector into memcpy rather
than the size in bytes to copy, which would result in a partial read.

Thankfully, this function isn't used yet, so this gets rid of a bug
before it's able to do anything.
2022-10-21 00:09:22 -04:00
liamwhite 69832aa1f6 Merge pull request #9078 from liamwhite/session-request
kernel: Session request cleanup
2022-10-20 18:07:30 -04:00
liamwhite 655f849484 Merge pull request #9099 from Docteh/undocked
Controller Applet had instance of Undocked, make Handheld
2022-10-20 18:05:05 -04:00
bunnei 12ed547269 Merge pull request #9096 from Kelebek1/audio_15
[audio_core] Update for firmware 15.0.0
2022-10-20 13:17:26 -07:00
Kyle Kienapfel a59d4972af Controller Applet had instance of Undocked, make Handheld
Remember that time we renamed the Undocked option to Handheld in the
status bar, and then later remembered the Controller Configuration?

Scrolling through Transifex I noticed that we still have one instance of
"Undocked" in the text.
2022-10-20 06:55:23 -07:00
liamwhite e22dab31d7 Merge pull request #9094 from lioncash/fixed
common/fixed_point: Minor interface improvements
2022-10-19 19:00:59 -04:00
Liam b3c972a500 video_core: don't build ASTC decoder shader unless requested 2022-10-19 18:52:42 -04:00
Liam c0ae56548e kernel: remove most SessionRequestManager handling from KServerSession 2022-10-19 16:31:12 -04:00
Liam 7103b8dde3 kernel: add KSessionRequest 2022-10-19 16:31:12 -04:00
liamwhite 6b065e8d73 Merge pull request #9082 from Morph1984/future
savedata_factory: Detect future save data paths
2022-10-19 16:28:42 -04:00
liamwhite 4dce02aa8f Merge pull request #9083 from liamwhite/take-a-chance-on-me
kernel: fix slab heap ABA
2022-10-19 16:27:59 -04:00
liamwhite 6291423f8b Merge pull request #9071 from bunnei/mp-mm
Kernel Multiprocess (Part 1) - Persist memory & core timing
2022-10-19 16:27:43 -04:00
bunnei 8b2cadd4e2 core: hle: kernel: Migrate ProcessState to enum class. 2022-10-19 14:03:50 -04:00
Kyle Kienapfel 2c4f84ee2a UI: Add option to hide the compatibility list
Option is added directly below the option for the addons column

Defaulting to hide compatibility list. Changing default works properly.

Co-authored-by: Piplup <piplup55@users.noreply.github.com>
2022-10-19 03:51:51 -07:00
Kelebek1 2da6a39c19 Update audio_core for firmware 15.0.0 2022-10-19 06:16:15 +01:00
Fernando S 8698e12596 Merge pull request #9084 from vonchenplus/dma_copy
video_core: implement 1D copies based on VMM 'kind'
2022-10-19 06:56:00 +02:00
Fernando Sahmkow 6118d0d042 Maxwell3D/Puller: Fix regressions and syncing issues. 2022-10-19 06:21:51 +02:00
bunnei e3cb70d8df core: Initialize: Add missing braces. 2022-10-18 19:13:35 -07:00
bunnei 438c1b5c18 core: core_timing: Re-initialize if single/multicore state changes. 2022-10-18 19:13:35 -07:00
bunnei f357ddf644 core: core_timing: Remove unused IsHostTiming. 2022-10-18 19:13:35 -07:00
bunnei 4c2274b2c1 core: hle: kernel: Use result macros for new/changed code. 2022-10-18 19:13:35 -07:00
bunnei a35c884097 core: Partially persist emulation state across game boots. 2022-10-18 19:13:35 -07:00
bunnei 3785e8d1c7 core: hle: kernel: Fix InitializePreemption order. 2022-10-18 19:13:35 -07:00
bunnei 55ed04af34 core: hle: kernel: k_process: Improve management of page table & cleanup. 2022-10-18 19:13:35 -07:00
bunnei 7dd7b440cc core: hle: kernel: k_interrupt_manager: HandleInterrupt should not depend on current process. 2022-10-18 19:13:35 -07:00
bunnei c164affbcb core: hle: kernel: Remove junk. 2022-10-18 19:13:35 -07:00
bunnei 15eebff127 core: hle: kernel: k_page_table: Impl. LockForUn/MapDeviceAddressSpace, cleanup. 2022-10-18 19:13:35 -07:00
bunnei 2a909989ee video_core: renderer_vulkan: vk_query_cache: Avoid shutdown crash in QueryPool::Reserve. 2022-10-18 19:13:35 -07:00
bunnei 0eeef46015 core: hle: kernel: Integration application memory block slab manager. 2022-10-18 19:13:34 -07:00
bunnei 98a3854393 core: hle: kernel: k_page_table: Update, and integrate with new KMemoryBlockManager/SlabManager. 2022-10-18 19:13:34 -07:00
bunnei ddd0ca5f83 core: hle: kernel: k_memory_block: Update. 2022-10-18 19:13:34 -07:00
bunnei 3b1a2fd7db core: hle: kernel: k_memory_block_manager: Update. 2022-10-18 19:13:34 -07:00
bunnei 97e4cd1c8f core: hle: kernel: k_thread: Implement thread termination DPC. 2022-10-18 19:13:34 -07:00
bunnei 0592bf30c1 core: hle: kernel: Add KDynamicResourceManager. 2022-10-18 19:13:34 -07:00