Commit graph

24089 commits

Author SHA1 Message Date
Exverge
138d67b307
Refactor android to dev.suyu.suyu_emu 2024-04-18 11:46:07 +08:00
flodavid
323ea0cdfd
WIP: fix macOS style when OS dark mode is active 2024-04-18 11:46:07 +08:00
flodavid
b28acaf7c9
Fix qdarkstyle and midnight blue sliders being cropped
- Allow Threshold sliders in control configuration to be up to 40px tall, instead of 15
2024-04-18 11:46:07 +08:00
flodavid
c00c425b48
Add dark mode configuration setting in UI tab
- Allows to choose "Auto", "Always On" or "Always Off"
  - Dark mode options are only shown if the style does not support theme
- If Auto is chosen, value is retrieved from OS
  - On Windows, the application needs a restart to apply the settings
- Use the default dark palette for Windows, like on Linux
2024-04-18 11:46:07 +08:00
flodavid
104e6c3ff7
Rework themes to easily use light/dark palette, using only different icons
- Renamed themes:
  - "colorful" to "default" and "colorful_dark" to "default_dark"
  - "default" to "monochrome" and "default_dark" to "monochrome_dark"
  - "colorful_midnight_blue" to "qdarkstyle_midnight_blue"
  - "qdarkstyle_midnight_blue" to "qdarkstyle_midnight_blue_monochrome"
  - qdarkstyle is renamed from "Dark" to "Mine Shaft" in the UI
- default and monochrome themes all use the same qss stylesheet
- Remove the ability to select "default_dark" directly
    - Default has better support for light and dark
    - Controller and Keyboard applets icons and style adapt to dark mode
- Add "qdarkstyle_monochrome" theme
- Remove duplicated icon files
2024-04-18 11:46:06 +08:00
flodavid
f01d7305c0
Automatic dark theme switching for Windows and Linux
- Windows dark theme uses "fusion" style, which is better suited, but has minor differences
- Improve OS theme detection
  - Linux:
    - Listen for OS color schemes changes on D-Bus
    - Read OS scheme for D-Bus. Fallback with gsettings, reading org.gnome.desktop.interface.
      First "color-scheme" key, then "gtk-theme". Finally, fallback to checking window palette
  - Windows (dark mode detection was not implemented before):
    - Force dark palette when OS uses dark mode by setting QT_QPA_PLATFORM to "windows:darkmode=2"
    - This enables to detect dark mode by checking the window palette
- Improve theming capabilites:
  - Linux uses custom palette when dark mode is detected.
    By using palette(xxx) in .qss files, there is no need to create a dark stylesheet
  - Allow themes to have stylesheet variants, dark.qss and light.qss
  - If current mode is dark, use dark icons for controller and keyboard applets
  - Add "dark" property to RendererStatusBarButton and GPUStatusBarButton, set to true when dark mode is used.
    Allows to have distinct colors for GPU API and accuracy buttons depending on dark mode or not
  - Enable all themes to have dark icon alternatives, not just "default" and "colorful"
    - If dark mode, icons are loaded from the directory "THEME-NAME_dark/icons"
  - If current mode is dark, use dark icons for controller and keyboard applets
  - Only qdarkstyle, qdarkstyle_midnight_blue, colorful_dark and
    colorful_midnight_blue used elements specific to dark themes
2024-04-18 11:46:06 +08:00
flodavid
97814d3e59
Load custom Qt themes from yuzu data directory
- Directory is qt_themes, each theme must be in one folder
    - It should contain a file "style.qss"
    - It may contain an "icons" sub-directory, to override included icons
      (with files like mytheme/icons/colorful/48x48/star.png for example)
    - Directories ending by "_dark" are reserved for dark variant icons.
      They are not listed as themes in the UI.
- If theme directory contains "dark" or "midnight", theme will be considered dark
2024-04-18 11:46:06 +08:00
Samuliak
8ff1ce68c3
metal: flip y texture coordinate 2024-04-10 19:55:56 +02:00
Samuliak
e3ab4c6349
metal: minimalize texture hardcoding 2024-04-10 17:41:45 +02:00
Samuliak
98c4ff461f
metal: don't bind resources that are already bound 2024-04-10 17:20:24 +02:00
Samuliak
4771cd1602
fix(metal): fix incorrect size in buffer to image copy 2024-04-10 17:03:55 +02:00
Samuliak
2f9fd5d69c
metal: set texture usage flags 2024-04-09 19:59:27 +02:00
Samuliak
f5830983be
metal: bind sampler to shader 2024-04-09 18:52:25 +02:00
lol
70c52a1914 fix qlaunch on firmware 18 2024-04-09 18:05:24 +02:00
Samuliak
1a284e4bb7
metal: translate pixel formats 2024-04-09 17:30:55 +02:00
Samuliak
efda44779f
fix(metal): fix buffer to texture copy 2024-04-09 16:31:04 +02:00
Samuliak
786cd8a708
metal: implement buffer to texture copy 2024-04-09 15:49:12 +02:00
Samuliak
0a2227d1f8
metal: bind and sample from texture 2024-04-09 15:23:44 +02:00
Samuliak
a00d9a9027
metal: translate shaders to spirv 2024-04-08 18:52:31 +02:00
Samuliak
67dab8b8d8
metal: do not release null mtl textures 2024-04-08 18:30:04 +02:00
Samuliak
40eca20e12
metal: implement buffer to buffer copy 2024-04-08 17:03:25 +02:00
Samuliak
3fa495840a
metal: configure pipeline before drawing 2024-04-08 16:47:08 +02:00
Samuliak
22ec7e72f0
metal: do not begin render pass if already active 2024-04-08 16:36:29 +02:00
Samuliak
2c38fa1a35
metal: add render pass interruption notice 2024-04-08 16:27:28 +02:00
Exverge
641ef1b887
Map methods in firmware 18.0.0 2024-04-07 18:23:38 -04:00
Exverge
4ea55a855a
fix: clang format 2024-04-07 14:03:32 -04:00
Samuliak
90b8671ddb
metal: bind pipeline and draw for the first time 2024-04-07 18:46:01 +02:00
Samuliak
4d700ac01c
metal: create pipeline cache at startup 2024-04-07 17:58:30 +02:00
Samuliak
58ac31e2be
metal: support buffer to buffer copy 2024-04-07 16:03:20 +02:00
Samuliak
081ad83490
metal: add basic compute pipeline 2024-04-07 15:51:11 +02:00
Samuliak
a5e7672de5
metal: blit rendering result to drawable 2024-04-07 13:08:14 +02:00
Samuliak
c8a717651c
metal: create basic graphics pipeline 2024-04-07 11:58:35 +02:00
Samuliak
bc25c8831d
metal: test buffer creation 2024-04-07 09:25:03 +02:00
Samuliak
b3e8d8d11f
metal: create buffer cache on startup 2024-04-07 09:06:15 +02:00
AMA2581
d33d50780e
adding swiftUI notice 2024-04-07 08:12:08 +03:30
Exverge
0feb0aa7a1
metal: todo a fix for NULL images 2024-04-06 23:15:48 -04:00
Exverge
32c49173ad
fix: clang format 2024-04-06 22:00:34 -04:00
Exverge
c3584e6c39
metal: make metal-cpp a proper external 2024-04-06 21:55:33 -04:00
Exverge
3f76e5b8d7
metal: logging 2024-04-06 20:51:23 -04:00
Samuliak
75386a5de7
metal: add missing copyright and license information 2024-04-06 20:42:17 +02:00
Samuliak
897e0dfdc0 metal: use metal cpp 2024-04-06 20:33:10 +02:00
Samuliak
cc0cde9c3f Add metal-cpp to externals 2024-04-06 20:33:10 +02:00
Samuliak
3c82b81899
metal: change license identifiers to GPL-2.0-or-later 2024-04-06 17:50:45 +02:00
Samuliak
e947a06441
fix: include metal renderer in ALL_LOG_CLASSES 2024-04-06 17:46:31 +02:00
Samuliak
ef8b77c9a3
metal: do not release not existing buffers 2024-04-06 17:35:12 +02:00
Samuliak
e87893ec42 metal: add basic buffer cache 2024-04-06 17:28:56 +02:00
Samuliak
19503fd643 metal: print debug messages 2024-04-06 17:28:56 +02:00
Exverge
e4d2bcaaeb
Add Metal as a Logging class
Signed-off-by: Exverge <exverge@exverge.xyz>
2024-04-06 11:17:49 -04:00
Samuliak
789bc69281 metal: add info about command recorder memory leaks 2024-04-06 12:42:19 +02:00
Samuliak
863842948b metal: use texture cache to create textures render passes 2024-04-06 12:39:24 +02:00
Samuliak
88154b6c6d metal: add file copyright text to new files 2024-04-06 10:21:35 +02:00
Samuliak
c740bf21d2 metal: update license identifiers 2024-04-06 10:13:35 +02:00
Samuliak
3df0977948 Merge branch 'macOSbranch-ama25' into metal-dev
initial metal backend
2024-04-06 09:58:40 +02:00
Samuliak
82b3fcca18 metal: create texture cache in rasterizer 2024-04-06 09:55:26 +02:00
Samuliak
ea5dc91b9d metal: add basic staging buffer pool and texture cache 2024-04-06 08:55:11 +02:00
Samuliak
35b751de1b metal: add command recorder for command management 2024-04-05 17:10:21 +02:00
Samuliak
79ff60356d metal: create swap chain to manage metal layer 2024-04-05 16:21:39 +02:00
Samuliak
380af618d3 metal: draw to on-screen qwidget 2024-04-05 14:19:07 +02:00
Samuliak
7ea460a800 metal: initial support 2024-04-05 06:35:06 +02:00
Nikilite
a3c8b29607
Updated the links for the Info Popup 2024-04-01 16:56:07 -04:00
Lucas Clemente Vella
4015b1d397 Solves warning about GuestMemory having internal linkage.
It is very hard to explain why this public interface class was defined
in an anonymous namespace inside a header file.
2024-04-01 16:02:12 +02:00
voidanix
d3f67d1e9c Fix GCC builds with Debug build type
When compiling with -DCMAKE_BUILD_TYPE=Debug, GCC would (correctly) fail to
compile intrinsics in stb and host1x due to lack of optimizations.

Sadly, the compilation error given is bogus and Clang completing the builds
without issues does raise some eyebrows.

Therefore, force optimizations for the offending files under GCC when
creating Debug builds.

Signed-off-by: voidanix <voidanix@keyedlimepie.org>
2024-04-01 01:31:43 +02:00
Crimson-Hawk
c25bcb6083 Merge branch 'dev' into dev 2024-03-31 00:45:46 +01:00
Belal Ashraf
7215ac9543 Fix NROs crashing and loading infinitely 2024-03-31 00:43:18 +01:00
Exverge
39eea71e62
fix: resume application when library applets are closed 2024-03-30 15:54:36 -04:00
Lucas Clemente Vella
36ede797f3 Vulkan validation error fix.
Different image usage flags between image creation and image view
creation.
2024-03-29 16:35:21 +01:00
Fijxu
ce8f3e802e
Use proper SPDX-FileCopyrightText for Sudachi. Corrects db647d915d 2024-03-29 01:05:07 -03:00
ilonachan
040893da00 formatting 2024-03-28 20:12:04 +01:00
Kelebek1
876d7f90b6 Add option to log synchronously, add tooltip to log filter. 2024-03-28 20:12:04 +01:00
Lucas Clemente Vella
db647d915d Including sudachi Emulator Project as a copyright owner.
To the files where sudachi changes were ported into in the parent
commit.
2024-03-28 11:12:03 +00:00
Jarrod Norwell
b3e989343d Added support for Princess Peach: Showtime! 2024-03-28 11:11:57 +00:00
ivchodev
09578d522b revert 925ce2fad3
Reverting potentially plagiarized code. The developer team did not sign off on this commit.
2024-03-26 18:38:52 +01:00
ivchodev
9b77efe2b4 revert eb306775c6
revert fix clong format
2024-03-26 18:37:54 +01:00
ivchodev
224cac988e revert fd1ec51496
revert try 2 fix clang
2024-03-26 18:37:35 +01:00
ivchodev
43c1a4c643 revert 77e9b7b59b
revert try 3 fixing clang omfg its just a space
2024-03-26 18:36:29 +01:00
Crimson-Hawk
77e9b7b59b
try 3 fixing clang omfg its just a space 2024-03-26 16:51:43 +08:00
Crimson-Hawk
fd1ec51496
try 2 fix clang 2024-03-26 16:49:03 +08:00
Crimson-Hawk
eb306775c6
fix clong format 2024-03-26 16:46:05 +08:00
Crimson-Hawk
925ce2fad3
preliminary fix to the peach game 2024-03-26 16:39:56 +08:00
XForYouX
1f2bbfdf6d Increase Limit ( FSR Sharp , AUDIO ) Android
Increase Limit FSR Sharp 
( 0 - 200 )
Increase Limit Audio ( 0-120 )
2024-03-25 12:50:04 +01:00
XForYouX
9b3fa0d3da Add 32:9 Android
Fix Issue Aspec Ratio For Android
2024-03-25 12:45:48 +01:00
XForYouX
77042ae6f7 Add 32:9 Android
This Fix Issue Aspec Ratio For Android
2024-03-25 12:42:41 +01:00
Exverge
f033d7e1e9 Merge branch 'dev' into dev-fork 2024-03-25 01:27:14 +01:00
zqpvr01
ba411a17e0 change application id
when we enable discord rpc for use this will change the yuzu icon to suyu.
2024-03-25 01:14:35 +01:00
Fijxu
201bff1731
Add missing REUSE files and directories 2024-03-24 20:27:11 -03:00
suyudontsueme
907f9aa6f2
Rewrite missing keys dialog to be more descriptive
Closes #30
2024-03-24 18:59:04 -03:00
Exverge
77813b232e We (don’t) own gradle. 2024-03-24 15:27:00 +01:00
RadsammyT
2857540817
resolve merge conflict in .forgejo/workflows/verify.yml
i hope to fucking god this works
2024-03-24 00:23:29 -04:00
SylverDiscord51
1648d189d3
license-fix (#31)
Co-authored-by: palfaiate <syl.paulo.alfaiate@gmail.com>
Co-authored-by: SylverDiscord51 <p71468162@gmail.com>
Co-committed-by: SylverDiscord51 <p71468162@gmail.com>
2024-03-23 22:58:07 -03:00
Exverge
c1a1731324
Revert "Add suyu copyright notice in files with modifications" 2024-03-23 19:11:30 -04:00
Exverge
4106a59d8f
Add suyu copyright notice in files with modifications
Would've been nice to know [skip ci] was on Forgejo >1.21 only
2024-03-23 19:09:45 -04:00
Exverge
82e47a196e
Fix GPL copyright notice in Android [skip ci]
I'll add the relevant "2024 suyu Emulator" notices soon
2024-03-23 18:47:31 -04:00
RadsammyT
ede4f2d8f4
PR#3 review: remove <filename> from --help + formatting changes
ran clang-format on suyu_cmd/suyu.cpp
and removed one blank line on library_applet_accessor.cpp so formatting CI doesn't complain
2024-03-23 16:40:29 -04:00
Fijxu
cb9f9da7b6 Merge branch 'dev' into dev-fork 2024-03-23 20:41:24 +01:00
Fijxu
649a90ff40
ci: Use different runner label for Codespell and Format Verification 2024-03-23 16:39:17 -03:00
RadsammyT
bce23c24e0
PR#3 review: fix -l arg breaking
because optarg goes NULL when encountering an optional argument, so I have to do this instead to get the argument. See case 'p'.
2024-03-23 14:51:33 -04:00
Exverge
c6d34f6d77
fix: compile errors from #11 2024-03-23 12:23:00 -04:00
nullequal
15ca12c0ec Allow NRO files to skip FW and keys' presence checks (#11)
doing an old suggestion from the now-deleted "emulator-suggestions" channel on the discord
Co-authored-by: nullequal <nullequal@noreply.localhost>
Co-committed-by: nullequal <nullequal@noreply.localhost>
2024-03-23 16:31:28 +01:00
Crimson-Hawk
18ba0f1345
Revert "Merge branch 'XForYouX-dev' into dev"
this broke android build

This reverts commit 16841915fd, reversing
changes made to c7d2f08de8.
2024-03-23 19:20:40 +08:00
RadsammyT
caa93cda48
PR#3 review: (hopefully) unfuck formatting changes
squash: re-deanonymize AppletIdToProgramId()
2024-03-23 00:52:56 -04:00