Commit graph

934 commits

Author SHA1 Message Date
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
Liam
c68577384a general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05: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
Morph
030b6f5a5b main: Re-add QtWebEngine zoom factor
For some reason, I had removed this in https://github.com/yuzu-emu/yuzu/pull/4949/commits/2a75968ff46292f5eec4e17476338debcbb169b0

This should fix any improperly scaled web applets.
2023-02-09 22:57:37 -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
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
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
Wollnashorn
6b840142b3 video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01: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
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
EBADBEEF
674fb618a5 qt: add option to disable controller applet
- add checkbox to disable the controller applet UI
- when controller applet is disabled, use the yuzu-cmd fallback
  controller applet that applies controller config based on rules
- See https://github.com/yuzu-emu/yuzu/issues/8552 for some discussion
2023-01-22 23:36:40 -08:00
Jonas Gutenschwager
306d95802a add volume quicksetting with volume slider 2023-01-19 15:13:23 +01: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
MonsterDruide1
a1bec20a60 TAS: Show all script lengths for multiplayer 2023-01-07 21:15:37 +01:00
Liam
76c4ba3ee5 qt: additional fixes for reentrant shutdown 2023-01-06 18:50:01 -05: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
Liam
935f192fd7 qt: prevent reentrant shutdown 2022-12-24 17:31:34 -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
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
german77
a96b380b09 yuzu: Remember last selected directory 2022-12-18 00:37:06 -06: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
Mai
b1eb17011e Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2022-12-17 21:05:46 +00: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
Liam
d0f8fff4e2 qt: handle wayland-egl platform name 2022-12-16 08:47:22 -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
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
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
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
Narr the Reg
d68ca768b5 yuzu: Make unlimited frame rate non persistent between game boots 2022-12-12 19:21:30 -06: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
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
bunnei
d3e229ee9d Merge pull request #9344 from liamwhite/null
video_core: add null backend
2022-12-03 11:23:25 -08: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
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
Liam
acc4a150ef video_core: add null backend 2022-11-28 19:49:09 -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
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
48b545354a Merge pull request #8829 from Docteh/qt6_0002
CMake: rework for Qt6 support
2022-11-27 17:56:22 -05:00
german77
cddbfe5e67 input_common: Pump sdl events from main thread 2022-11-27 11:09:40 -06:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00