Commit graph

27542 commits

Author SHA1 Message Date
Samuliak
844eff564e Don't include objective C in the list of languages 2024-04-06 20:37:31 +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
Crimson Hawk
77205848af
Add requested changes
Commited by Exverge <exverge@exverge.xyz>
2024-04-06 13:34:23 -04:00
Exverge
74c1c77973
fix: check if apple before enabling objc
Some compilers either only compile to an objc v1 or don't compile it at all, while it most likely wouldn't cause issues I added this just in case we stay on objc
2024-04-06 12:22:43 -04: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
Fijxu
be31d5f56c
Enable Windows MinGW artifacts. 2024-04-04 15:40:26 -03:00
flodavid
3cdd76b23d 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-03 23:09:17 +02:00
flodavid
7c9545c82a 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-03 23:09:17 +02:00
flodavid
9bba778d15 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-03 21:06:48 +02:00
flodavid
0b2409d1bd 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-03 21:06:48 +02:00
flodavid
c889f1bd36 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-03 21:06:48 +02:00
zqpvr01
b911ac8516 Update README.md 2024-04-02 15:29:13 +02:00
zqpvr01
715a3fc83b Update README.md 2024-04-02 15:28:16 +02:00
zqpvr01
8032d67619 Upload files to "img" 2024-04-02 15:25:23 +02:00
zqpvr01
1d4f0a78f6 revert 242114d862
revert Upload files to "/"
2024-04-02 15:25:09 +02:00
zqpvr01
242114d862 Upload files to "/" 2024-04-02 15:24:51 +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
BoomMicrophone
5a92429b8c Merge branch 'dev' into dev 2024-04-01 15:09:57 +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
BoomMicrophone
d09ab05c1b remove comment
gotta coooooommit :D
2024-03-31 21:42:11 +02:00
BoomMicrophone
db9035cc35 remove comment
gpg timeout so i gotta coooooommit :D
2024-03-31 21:41:43 +02:00
BoomMicrophone
dcd2890af6 Merge branch 'dev' into dev 2024-03-31 17:55:38 +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
48e86d6e84 Fixes issue #94: setting Vulkan::Headers before Qt6 can do it 2024-03-30 15:13:23 +00:00
Fijxu
ba3539c517
Use CC0-1.0 for images under ./img 2024-03-29 21:31:40 -03:00
Hustler One
66cf0c1b0c
Clarify that we indeed have builds
Cherry-picked from #65
2024-03-29 18:00:41 -04:00
zqpvr01
444a200eef Upload files to "img" 2024-03-29 19:19:28 +01:00
zqpvr01
2a672fac30 revert 9e223759e0
revert Add img
2024-03-29 19:19:11 +01:00
zqpvr01
9e223759e0 Add img 2024-03-29 19:18:38 +01:00
zqpvr01
b5c02fe14a Update README.md 2024-03-29 17:31:07 +01:00