Commit graph

19535 commits

Author SHA1 Message Date
FearlessTobi d92826963a core/bsd: Correctly unbind methods in destructor
Prevents yuzu from crashing when the BSD service is created a second time.
2022-08-27 03:12:12 +02:00
FearlessTobi e431cb8d16 core/acc: Make CheckAvailability use LOG_DEBUG
Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
2022-08-27 03:08:21 +02:00
FearlessTobi b904652d69 yuzu_room: Remove dependency on core 2022-08-27 03:02:21 +02:00
bunnei d1ef4b2b86
Merge pull request #8566 from german77/galaxy
core: hid: Add fallback for dualjoycon and pro controllers
2022-08-26 16:23:41 -07:00
Liam db3eb168cd video_core: add option for pessimistic flushing 2022-08-25 12:32:14 -04:00
FengChen b2a6dde438 video_code: support rectangle texture 2022-08-25 12:45:58 +08:00
bunnei a07502a638
Merge pull request #8812 from Kelebek1/auto
[Audio] Implement AudRenU:RequestUpdateAuto
2022-08-24 11:45:56 -07:00
Kelebek1 56f1dc8dad Implement AudRenU:RequestUpdateAuto, and use C descriptors when B reports as empty. 2022-08-24 18:14:21 +01:00
Narr the Reg 0c8aeb09d2 video_core: vulkan: rasterizer: Workaround on viewport swizzle on AMD 2022-08-23 18:38:34 -05:00
bunnei 3e1426c9a3
Merge pull request #8804 from vonchenplus/speed_up_idirectory_services
core:filesystem: speed up IDirectory service
2022-08-23 13:56:05 -07:00
Narr the Reg db2335e2f8
yuzu: Force camera output to be saved on a buffer (#8805) 2022-08-22 23:54:48 -05:00
vonchenplus bd018e0123 core:filesystem: speed up IDirectory service 2022-08-23 09:05:59 +08:00
german77 825ac7b9f4 hid: core: Add missing function table names 2022-08-21 23:31:53 -05:00
liamwhite 7fab7b829c
Merge pull request #8799 from liamwhite/where-did-the-padding-go
core/file_sys: fix alignment of BuildId
2022-08-21 14:06:06 -04:00
liamwhite b99596e312
Merge pull request #8660 from Tachi107/findmodules-pkg-config
build: simplify find modules
2022-08-21 13:42:42 -04:00
liamwhite 064f836d1c
Merge pull request #8784 from Docteh/nosnek
code: dodge PAGE_SIZE #define
2022-08-21 12:59:01 -04:00
Liam 518317b717 core/file_sys: fix alignment of BuildId 2022-08-21 12:28:36 -04:00
bunnei e37e3d3634
Merge pull request #8790 from liamwhite/too-many-ways-to-name-a-byte-string
core/file_sys: fix BuildId padding in patch loading
2022-08-20 22:26:02 -07:00
liamwhite 1088e8ce5c
Merge pull request #8783 from german77/looong
yuzu: Allow longer controller profile names
2022-08-20 18:31:46 -04:00
liamwhite 7a3e5fe927
Merge pull request #8797 from Docteh/filtering
Qt: Retranslate GameList header and Filter line
2022-08-20 18:31:39 -04:00
liamwhite 776bcec3e1
Merge pull request #8795 from vonchenplus/support_framebuffer_crop_rect_top_not_zero
video_core: support framebuffer crop rect top not zero
2022-08-20 18:31:31 -04:00
Kyle Kienapfel 5863f16b4c Qt: Retranslate GameList header and Filter line
Didn't notice this until I was trying to change the default font
to Comic Sans MS when language is set to English in yuzu.
2022-08-20 07:49:29 -07:00
vonchenplus 0a8c5c8622 video_core: support framebuffer crop rect top not zero 2022-08-20 21:41:40 +08:00
vonchenplus 4bab0d07a6 core: implement clkrst service 2022-08-20 14:08:59 +08:00
Kyle Kienapfel 14e9de6678 code: dodge PAGE_SIZE #define
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable

Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`

PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix

Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive

Core::Memory   12 bits (4096)
QueryCacheBase 12 bits
ShaderCache    14 bits (16384)
TextureCache   20 bits (1048576, or 1MB)

Fixes #8779
2022-08-19 16:08:40 -07:00
Liam c5c425914f video_core: implement R16G16B16X16 texture format 2022-08-19 17:17:38 -04:00
Liam 39cf6abd94 core/file_sys: fix BuildId padding 2022-08-19 17:16:33 -04:00
Narr the Reg bfbee62340
yuzu: Allow longer controller profile names 2022-08-18 17:46:39 -05:00
liushuyu b00df08145
common: remove unneeded x86-specific header 2022-08-16 15:19:57 -06:00
FearlessTobi 4976d14009 core/socket_proxy: Final nits 2022-08-15 23:50:19 +02:00
german77 72b90a5bbf core: network: Address review comments 2022-08-15 20:25:42 +02:00
FearlessTobi 72ff5cd445 yuzu: Fix crash on shutdown
Previously, accessing the room_network when it was already freed would crash the emulator on shutdown.

Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-08-15 20:25:42 +02:00
FearlessTobi 5cd95fa949 internal_network: Fix mingw compilation
Apparently, "interface" is a reserved keyword on this compiler.
2022-08-15 20:25:42 +02:00
FearlessTobi 6d41088153 core, yuzu: Address first part of review comments 2022-08-15 20:25:42 +02:00
FearlessTobi a5cd639cb6 core/socket_proxy: Fix compilation 2022-08-15 20:25:42 +02:00
FearlessTobi bb84f53539 Make copyright headers SPDX-compliant 2022-08-15 20:25:42 +02:00
FearlessTobi f80c7c4cd5 core, network: Add ability to proxy socket packets 2022-08-15 20:25:42 +02:00
FearlessTobi 035ca99b02 web_service: Correct jwt issuer string 2022-08-15 20:25:41 +02:00
FearlessTobi 9fc03d4b91 dedicated_room: Initial implementation 2022-08-15 20:25:41 +02:00
bunnei d04bc95934
Merge pull request #8739 from merryhime/swizzle_table
video_core/textures/decoders: Avoid SWIZZLE_TABLE
2022-08-13 22:03:32 -07:00
bunnei 411e58de28
Merge pull request #8756 from Kelebek1/vol
Allow audio volume up to 200%
2022-08-12 15:40:15 -07:00
bunnei cba3b05c94
Merge pull request #8755 from Morph1984/delimit-ips
ips_layer: Delimit parsed hex value string
2022-08-12 14:12:10 -07:00
Mai ce42465638
Merge pull request #8741 from Docteh/aboot
Qt: tweak ui files
2022-08-12 15:19:37 -04:00
Kelebek1 85c9e31791 Do some log memes to help perceived volume 2022-08-12 19:59:09 +01:00
liamwhite 5a6a26449c
Merge pull request #8745 from merryhime/null-fastmem-arena
arm_dynarmic: Fix nullptr fastmem arenas
2022-08-12 14:57:32 -04:00
Kelebek1 b25090d960 Allow audio volume up to 200% 2022-08-12 16:57:29 +01:00
Morph a44da3c14d ips_layer: Delimit parsed hex value string
Delimits the hex value string on spaces, slashes, carriage returns or newlines, allowing for comments to be added in-line.
2022-08-12 10:19:44 -04:00
liamwhite e8a59a6931
Merge pull request #8647 from Docteh/default_dark
Linux: handle dark system themes nicely
2022-08-12 10:05:06 -04:00
Kyle Kienapfel d4b1095173 review pass on CheckDarkMode function 2022-08-12 06:13:12 -07:00
liamwhite 536626fdd6
Merge pull request #8731 from FearlessTobi/better-ldn
ldn: Add better stubs and more data types
2022-08-12 08:40:30 -04:00
german77 56115f7732 core: ldn: Address review comments part 2 2022-08-11 23:12:32 -05:00
liamwhite 253e1e6941
Merge pull request #8735 from djrobx/add_vsync
Make vsync setting work for Vulkan
2022-08-09 20:43:55 -04:00
bunnei 2338503241
Merge pull request #8722 from german77/ds4_goes_brrr
hid: core: Delay the stop vibration command when testing
2022-08-09 16:22:33 -07:00
bunnei 0069b5e118
Merge pull request #8724 from german77/no_alpha
hid: core: Properly emulate controller color and battery level
2022-08-09 16:21:23 -07:00
bunnei 4bd8adfe42
Merge pull request #8729 from merryhime/cp15-barriers
arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB
2022-08-09 16:12:53 -07:00
bunnei 15df026d04
Merge pull request #8499 from Docteh/plurals
Translate english plurals
2022-08-09 16:09:14 -07:00
Merry 9bdef7428a arm_dynarmic: Fix nullptr fastmem arenas
Unable to enable fastmem of exclusive access without a valid fastmem arena.
2022-08-09 20:48:19 +01:00
bunnei ada667060a
Merge pull request #8715 from Docteh/suzhou
Qt5 work around for suzhou numerals
2022-08-09 10:05:47 -07:00
Kyle K af9c3e9340 Qt: tweak ui files
make about dialog a bit taller for full message on more systems

for direct_connect.ui hedging bets here, there is a text field for port
number that possibly shouldn't be translated, marking as such, but also
adding a translation note for the event that it makes sense to translate
the placeholder text to something other than the default multiplayer
direct connect port.
2022-08-09 05:00:37 -07:00
Merry f2fbf6d910 video_core/textures/decoders: Avoid SWIZZLE_TABLE 2022-08-09 00:27:26 +01:00
Narr the Reg 301702e548 hid: core: Properly emulate controller color and battery level 2022-08-08 13:12:02 -05:00
Narr the Reg 8eb2c73381 core: ldn: Address review comments 2022-08-08 12:49:48 -05:00
DJRobX d8b160c883 Make vsync setting work for Vulkan 2022-08-07 20:57:47 -07:00
Liam aae208d07f core/arm: fix build error 2022-08-07 21:39:54 -04:00
bunnei 01bb5d5c4d
Merge pull request #8637 from liamwhite/bad-interrupts
kernel: unlayer CPU interrupt handling
2022-08-07 17:48:55 -07:00
Morph 30515b3b27
Merge pull request #8240 from liamwhite/count-cycles
core/arm: re-enable cycle counting
2022-08-07 20:30:57 -04:00
FearlessTobi 12dc05032b ldn: Add better stubs and more data types
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>
2022-08-07 23:54:51 +02:00
Merry 50cda3bd7b arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB 2022-08-07 22:16:49 +01:00
lat9nq e2123b27e8 yuzu: Fix fmt 9.0.0 issues 2022-08-07 17:02:06 -04:00
bunnei 9dc8d02acc
Merge pull request #8658 from liamwhite/plgp
video_core: differentiate between tiled and untiled framebuffer sizes for unaccelerated blits
2022-08-06 23:00:46 -07:00
bunnei 0f2fc6335e
Merge pull request #8700 from liamwhite/xc3-vk-crash
vk_texture_cache: return VK_NULL_HANDLE for views of null images
2022-08-06 13:11:34 -07:00
liamwhite ee5b244cdf
Merge pull request #8667 from Kelebek1/xc3
[SPIRV] Add missed shader defines
2022-08-06 16:08:32 -04:00
Narr the Reg 80b462e553 hid: core: Delay the stop vibration command when testing 2022-08-05 17:20:05 -05:00
Steve cd5bbf0f04
Controller bugfixes in profile select (#8716)
* Controller bugfixes in profile select, closes #8265

2 fixes for using a controller in profile select dialog.

Pressing 'B' cancels the launch of the game
Using controller to select a profile now correctly sets the index to use for the launch

* Added brackets to if statements as requested.
2022-08-05 10:02:04 -05:00
Kyle K b51db12567 Linux: handle dark system themes nicely
yuzu's default theme doesn't specify everything, which is fine for
windows, but in linux anything unspecified is set to the users theme.

Symptoms of this are that a linux user with a dark theme won't think
to change the theme to a dark theme when first using yuzu

Idea here is to try and support arbitrary themes on linux.

preliminary work on a "default_dark" theme, used only as overlay
for any themes that are measured to be dark mode.

Other work done:

FreeDesktop standard icon names:
plus -> list-add
delete refresh, we use view-refresh

remove duplicated icons for qdarkstyle_midnight_blue
referencing icon aliases in the qrc files is the way to go

Note:
Dynamic style changing doesn't appear to work with AppImage
2022-08-05 05:22:27 -07:00
Kyle Kienapfel 63673dcf98 Qt5 work around for suzhou numerals
When windows is told to display Standard digits as suzhou, it is showing
incorrect information in yuzu, file sizes and the CPU speed limiter are
effected by this. See #8698 for some screenshots.

Setting number format to Chinese (Simplified, Hong Kong SAR) is one
way to see this issue in action.

Fixes #8698
2022-08-03 21:49:23 -07:00
Liam c40cec5e58 renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, R16G16B16_SSCALED, R8G8B8_SSCALED 2022-08-02 18:39:33 -04:00
Liam 1d364adf3e vk_texture_cache: return VK_NULL_HANDLE for views of null images 2022-08-02 13:31:42 -04:00
Morph 606cdb17d3 core_timing: Sleep in discrete intervals, yield during spin 2022-08-02 01:01:54 -04:00
Kelebek1 658e1ee426 Add missing looping event schedule signal 2022-08-02 01:01:54 -04:00
Kelebek1 83a24ad638 Make coretiming waiting more accurate 2022-08-02 01:01:54 -04:00
Kelebek1 9d3b190465 Rework multi-core vsync 2022-08-01 23:51:53 -04:00
lat9nq 260430c849 common: Use PROJECT_SOURCE_DIR to find CMakeModules
Fixes CMake configuration when yuzu is a submodule of another project.
2022-08-01 23:18:56 -04:00
Liam 00299479ab core/loader: remove ELF loader 2022-08-01 17:19:23 -04:00
Andrea Pappacoda adc8c03fe4
build(externals): rename Findopus to FindOpus
This better matches upstream's FindOpus.cmake file, and it will make
using upstream's FindOpus.cmake file easier.
2022-08-01 12:31:31 +02:00
bunnei 5ae0e5ba67
Merge pull request #8678 from liamwhite/stop-waiting
video_core: stop waiting for shader compilation on user cancel
2022-07-31 14:47:43 -07:00
bunnei 3bbc1cf64c
Merge pull request #8622 from liamwhite/progress
qt: reset progress bar after shader compilation
2022-07-31 14:46:38 -07:00
Nikita Strygin 1cf6f5c623 Properly write out the command buffer when serving close request 2022-07-31 23:17:45 +03:00
Morph 9dcfef744c
Merge pull request #8684 from liamwhite/delete-shader
renderer_opengl: delete shader source after linking
2022-07-30 21:36:26 -04:00
Liam b9360681df renderer_opengl: delete shader source after linking 2022-07-30 13:21:26 -04:00
Kyle Kienapfel 7e0afc641c Translate english plurals
Turns out that for Qt to properly handle plurals in English a
translation needs to be provided, otherwise the user is left with
messages such as "Building: 2 shader(s)"

Plurals for other all other languages are handled on transifex.
I wrote the README.md to just refer to it as a translation
collaboration site just in case we ever switch.

These translations being out of date won't pose any technical problems
so I believe it is fine to handle them manually on a "best effort"
basis.

The files are generated into the source directory so that the
relative filenames are correct. The generated file is added to
.gitignore
2022-07-30 01:40:33 -07:00
Morph f8a005e26e
Merge pull request #8664 from liamwhite/monkey-compiler-v12-1
common: move forwarded value into SPSCQueue
2022-07-30 03:24:23 -04:00
Liam fc013d88cb video_core: stop waiting for shader compilation on user cancel 2022-07-29 23:33:40 -04:00
Liam 73a87edc45 audio_core: fix -Wuninitialized when compiling with ASan 2022-07-29 23:30:01 -04:00
Liam ec64a94954 common: move forwarded value into SPSCQueue 2022-07-29 15:41:57 -04:00
Kelebek1 f580946b0d Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan. 2022-07-29 06:12:39 +01:00
bunnei 880006c5ca
Merge pull request #8656 from german77/audio-step
yuzu: Add incremental steps to volume hotkeys
2022-07-28 15:41:37 -07:00
liamwhite e5615c4704
Merge pull request #8657 from Kelebek1/depop
[Audio] Avoid an out-of-bounds span write in depop prepare
2022-07-28 11:02:41 -04:00
Liam cbe5b8a13e video_core: differentiate between tiled and untiled framebuffer sizes for unaccelerated copies 2022-07-27 21:52:06 -04:00
Maide 2e46110379
Revert Coretiming PRs 8531 and 7454 (#8591) 2022-07-27 19:47:06 -04:00
snek b7642cff36
implement pause on system suspend (#8585) 2022-07-27 19:46:03 -04:00
Kelebek1 6c47b43a60 Avoid depop out of bounds 2022-07-27 23:17:18 +01:00
liamwhite ea861cc1c4
Merge pull request #8542 from Morph1984/gpu-use-old-q
gpu_thread: Use the previous MPSCQueue implementation
2022-07-27 15:55:28 -04:00
liamwhite 64fd9f41a7
Merge pull request #8636 from german77/irs_cluster_release
service: irs: Implement clustering processor
2022-07-27 15:54:28 -04:00
liamwhite a761d020c6
Merge pull request #8633 from Morph1984/optional-keys
applet/swkbd: Implement optional symbol keys
2022-07-27 15:53:32 -04:00
snek 9479940a1f
Merge pull request #8592 from devsnek/sig-handlers
exit gracefully on sigint/sigterm
2022-07-27 15:51:26 -04:00
Narr the Reg 2fdefd7064 yuzu: Add incremental steps to volume hotkeys 2022-07-27 11:34:46 -05:00
Andrea Pappacoda cdb240f3d4
chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to 01cf05bc75
2022-07-27 12:53:49 +02:00
FearlessTobi a41baaa181 network: Address review comments 2022-07-25 21:59:31 +02:00
FearlessTobi 61ce57b524 network, yuzu: Make copyright headers SPDX-compliant 2022-07-25 21:59:31 +02:00
FearlessTobi 6a2dcc8b3d network, yuzu: Improve variable naming and style consistency 2022-07-25 21:59:31 +02:00
FearlessTobi 6b5667dfa5 yuzu_cmd: Fix compilation 2022-07-25 21:59:31 +02:00
FearlessTobi 7d82e57b91 network: Move global state into a seperate class
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-07-25 21:59:31 +02:00
german77 899c8bb330 common: multiplayer: Use GameInfo type 2022-07-25 21:59:31 +02:00
FearlessTobi 4b404191cf Address second part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi 6c8e456185 Address first part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi ec407bd3f1 Fix compilation on linux gcc 2022-07-25 21:59:30 +02:00
FearlessTobi ee5cb9c7b9 web_service: Fix -Wmissing-field-initializers 2022-07-25 21:59:30 +02:00
FearlessTobi 7fbd2916a1 core: Fix -Wunused-variable 2022-07-25 21:59:30 +02:00
FearlessTobi 7c3d241f0d common, core: fix -Wmissing-field-initializers 2022-07-25 21:59:30 +02:00
FearlessTobi 1b36542be2 yuzu: Hide multiplayer button and room status 2022-07-25 21:59:30 +02:00
FearlessTobi 705f7db84d yuzu: Add ui files for multiplayer rooms 2022-07-25 21:59:28 +02:00
FearlessTobi dcfe0a5feb network: Add initial files and enet dependency 2022-07-25 21:57:14 +02:00
bunnei 1bcde9dd98
Merge pull request #8564 from lat9nq/dinner-fork
yuzu: Streamline broken Vulkan handling
2022-07-25 12:12:41 -07:00
Narr the Reg ceb70b2139 Address comments 2022-07-25 11:17:48 -05:00
Liam 6523854dd6 kernel: unlayer CPU interrupt handling 2022-07-25 12:14:15 -04:00
Morph 591d1f1b09
Merge pull request #8549 from liamwhite/kscheduler-sc
kernel: use KScheduler from Mesosphere
2022-07-25 12:00:31 -04:00
german77 21b1e9c21a fix compiler errors 2022-07-24 16:39:32 -05:00
german77 3ac4f3a252 service: irs: Implement clustering processor 2022-07-24 15:01:43 -05:00
Liam 862142213f qt: reset progress bar after shader compilation 2022-07-24 13:35:44 -04:00
Morph d7d09355e7 qt_software_keyboard: Fix infinite loop when moving between buttons
There was a bug where, when using the numeric keyboard, moving between buttons resulted in an infinite loop, resulting in a stuck state.
This was due to prev_button being the only one enabled in that row or column, causing the condition in the while loop to always be true.
To fix this, detect whether we have returned to that initial row/column and break out of the loop.
2022-07-24 07:27:41 -04:00
Morph bee823db3a applet/swkbd: Implement optional symbol keys
These are only used in the numeric keyboard, and correspond to the keys to the left and right of the "0" key on the numeric keyboard.
2022-07-24 07:21:02 -04:00
Narr the Reg 403bdc4daf yuzu: Add webcam support and rebase to latest master 2022-07-23 19:40:25 -05:00
german77 097785e19e service: irs: Move to IRS namespace and minor fixes 2022-07-23 19:40:25 -05:00
german77 4539700595 service: irs: Split processors and implement ImageTransferProcessor 2022-07-23 19:40:25 -05:00
german77 57311b2c8b core: hid: Add cammera support 2022-07-23 19:40:25 -05:00
german77 cc83e0a600 yuzu: Hook qt camera to camera driver 2022-07-23 19:40:21 -05:00
german77 f19e7be6e8 input_common: Add camera driver 2022-07-23 19:38:42 -05:00
liamwhite 97729fd8e9
Merge pull request #8545 from Kelebek1/Audio
Project Andio
2022-07-23 15:20:39 -04:00
bunnei d60b0e8655
Merge pull request #8611 from liamwhite/fix-flatpak-crash
video_core: use correct byte size for framebuffer
2022-07-22 18:04:17 -07:00
lat9nq 4b93ea59db ci,CMake: Drop Conan support for vcpkg
Between packages breaking, Conan always being a moving target for
minimum required CMake support, and now their moves to Conan 2.0 causing
existing packages to break, I suppose this was a long time coming. vcpkg
isn't without its drawbacks, but at the moment it seems easier on the
project to use for external packages.

Mostly removes the logic for Conan from the root CMakeLists file,
leaving basic find_package()'s in its place. Sets only the
find_package()'s that require CONFIG mode as necessary. clang and linux
CI now use the vcpkg toolchain file configured in the Docker container
when possible.

mingw CI turns off YUZU_TESTS because there's no way on the container to
run Windows executables on a Linux host anyway, and it's not easy to get
Catch2 there.
2022-07-22 20:54:00 -04:00
Kelebek1 458da8a948 Project Andio 2022-07-22 01:11:32 +01:00
bunnei 6e36f4d230
Merge pull request #8598 from Link4565/recv-dontwait
Enable the use of MSG_DONTWAIT flag on RecvImpl
2022-07-21 15:43:55 -07:00
Liam 382b41b18f video_core: use correct byte size for framebuffer 2022-07-19 17:46:26 -04:00
Matías Locatti 6f9bfb10d3
Update configure_input.ui 2022-07-19 16:20:16 -03:00
Gus Caplan 742f67908c
implement resume message 2022-07-17 22:35:07 -07:00
merry 09300abe92
Merge pull request #8569 from merryhime/watchpoints
dynarmic: Abort watchpoints ASAP
2022-07-17 22:41:28 +01:00
bunnei ba8ea95624
Merge pull request #8508 from yuzu-emu/mc-speed-limit
hle: service: nvflinger: Factor speed limit into frame time calculation.
2022-07-17 13:59:52 -07:00
bunnei a5bdf824e6
Merge pull request #8544 from german77/14dot0
service: Update some services to 14.0.0+
2022-07-17 12:30:52 -07:00
bunnei 8ca8281f4f
Merge pull request #8543 from BreadFish64/use_tsc_from_caps
common/x64: Use TSC clock rate from CPUID when available
2022-07-16 23:14:38 -07:00
bunnei 6d160873c4 hle: service: nvflinger: Fix implicit conversion. 2022-07-16 23:11:42 -07:00
bunnei 02282477e7 yuzu: settings: Remove framerate cap and merge unlocked framerate setting.
- These were all somewhat redundant.
2022-07-16 23:11:39 -07:00
bunnei f8aaa59990 hle: service: nvflinger: Factor speed limit into frame time calculation.
- This allows the %-based "Limit Speed Percent" setting to work with MC emulation.
- This is already supported for SC emulation.
2022-07-16 23:10:45 -07:00
bunnei 7d66f8339e
Merge pull request #8593 from merryhime/ranged-setting-T
common/setting: Make ranged a property of the type
2022-07-16 15:32:52 -07:00
bunnei b8813edc51
Merge pull request #8594 from liamwhite/skip-wp
core/arm: skip watchpoint checks when reading instructions
2022-07-16 13:28:20 -07:00
bunnei 87bb44830b
Merge pull request #8511 from german77/hbmenu
service: ptm: Add TS, nifm: Stub GetInternetConnectionStatus
2022-07-16 11:30:56 -07:00
Link4565 912cae21b0 Enable the use of MSG_DONTWAIT flag on RecvImpl 2022-07-16 18:30:28 +01:00
bunnei 93a4ca11fa
Merge pull request #8560 from liamwhite/bitfield-may-alias
common: fix bitfield aliasing on GCC/Clang
2022-07-15 22:16:52 -07:00
Liam a9a9999efd core/arm: skip watchpoint checks when reading instructions 2022-07-15 19:47:28 -04:00
merry 99fbdaf75b common/setting: Make ranged a property of the type
- Avoids new GCC 12 warnings when Type is of form std::optional<T>
- Makes more sense this way, because ranged is not a property which would change over time
2022-07-15 18:45:55 +01:00
Morph d2c0b45bca
Merge pull request #8587 from merryhime/padding-unused
common_funcs: Mark padding as [[maybe_unused]]
2022-07-15 06:02:48 -04:00
Morph 8266f63130
Merge pull request #8588 from merryhime/IBinder-vdestruct
nvflinger: Polymorphic destructor requried for abstract class IBinder
2022-07-15 06:02:31 -04:00
Merry a1d2fb314e KCodeMemory: Mark virtual methods as override 2022-07-15 10:39:58 +01:00
Merry 914ead075e common_funcs: Mark padding as [[maybe_unused]] 2022-07-15 10:34:38 +01:00
Merry 30b23fb7b8 nvflinger: Polymorphic destructor requried for abstract class IBinder 2022-07-15 10:28:54 +01:00
Merry 40e39ddd46 dynarmic: Abort watchpoints ASAP 2022-07-15 10:03:30 +01:00
Liam a9a83fa726 kernel: Ensure all uses of disable_count are balanced 2022-07-14 22:47:18 -04:00
Liam 77137583cd kernel: be more careful about initialization path for HLE threads 2022-07-14 22:47:18 -04:00
Liam da07e13e07 kernel: fix single-core preemption points 2022-07-14 22:47:18 -04:00
Liam 21945ae127 kernel: fix issues with single core mode 2022-07-14 22:47:18 -04:00
Liam 0624c880bd kernel: use KScheduler from mesosphere 2022-07-14 22:47:18 -04:00
liamwhite 2fed6dd7e1
Merge pull request #8536 from Morph1984/fix-webapplet-input
qt_web_browser: Fix button inputs with QtWebEngine
2022-07-14 20:41:41 -04:00
liamwhite 9627c550a0
Merge pull request #8510 from german77/vibration
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-07-14 20:41:29 -04:00
german77 1584de951a service: fatal: Add function table 2022-07-14 16:33:09 -05:00
german77 2535e9d1ec service: btdrv,bcat,btm: Update service tables to 14.0.0 2022-07-14 16:33:09 -05:00
german77 8e0e2e95e6 service am: Update service tables to 14.0.0 2022-07-14 16:33:08 -05:00
german77 32b522b1fd service: ac: Replace intances of ProfileData with UserData 2022-07-14 16:33:07 -05:00
lat9nq 7d9369d15e startup_checks: Use WaitForSingleObject and more cleanup 2022-07-12 14:23:50 -04:00
bunnei 802bbb2263
Merge pull request #8559 from liamwhite/waiter-list
kernel: fix usage of waiter_list in Finalize
2022-07-11 12:10:01 -07:00
german77 18550b165b core: hid: Add fallback for dualjoycon and pro controllers 2022-07-10 20:27:40 -05:00
lat9nq 2d2a69ab5b startup_checks: Use GetEnvironmentVariableA
Solves MSVC compile error. Also drops need string use for comparison.
2022-07-10 20:24:37 -04:00
lat9nq d57cd8bcdd startup_checks: Clean up
Adds some comments, removes unused includes, and removes last bits of
logging since this is before the logging backend starts up.
2022-07-10 17:18:31 -04:00
lat9nq fd4e48f96e startup_checks: Implement unix side code
Wow fork() is nice, isn't it?
2022-07-10 17:01:37 -04:00
lat9nq 33abdfff9b yuzu: Simplify broken Vulkan handling 2022-07-10 16:52:00 -04:00
lat9nq 4f15d9ed6f yuzu: Check Vulkan on startup with a child 2022-07-10 14:08:20 -04:00
lat9nq 568a0ac397 yuzu: Rename check_vulkan to startup_checks 2022-07-10 12:34:34 -04:00
Fernando S 6c72b7f011
Merge pull request #8528 from Morph1984/astc10x6
renderer_(gl/vk): Implement ASTC_10x6_UNORM
2022-07-10 13:16:23 +02:00
Kelebek1 b23c6b456c PR 2022-07-10 08:29:37 +01:00
Kelebek1 240650f6a6 Rework CoreTiming 2022-07-10 06:59:40 +01:00
liamwhite c765d5be0b
Merge pull request #8531 from FernandoS27/core-timing-fix-reg
Core timing: use only one thread.
2022-07-10 00:47:05 -04:00
Liam a1c1ad096d common: fix bitfield aliasing on GCC/Clang 2022-07-09 22:43:45 -04:00
Liam 1611c53c12 kernel: fix usage of waiter_list in Finalize 2022-07-09 18:54:54 -04:00
Mai 313f047f97
Merge pull request #8501 from liamwhite/backtrace-again
core/arm: better support for backtrace generation
2022-07-07 23:49:54 -04:00
liamwhite 7e75593c20
Merge pull request #8502 from liamwhite/end-wait
kernel: clean up waiting implementation
2022-07-07 17:31:49 -04:00
Fernando S d244677df9
Merge pull request #8492 from german77/no_more_errors
service: hid: Correct some mistakes and add more validations
2022-07-07 08:29:34 +02:00
Morph ec4cba9de8
Merge pull request #8522 from lat9nq/consolidate-settings
settings: Consolidate RangedSetting's with regular ones
2022-07-07 01:22:01 -04:00
Marshall Mohror e71d457af9 guard against div-by-zero 2022-07-06 13:00:00 -05:00
Marshall Mohror b2ad4dd189 common/x64: Use TSC clock rate from CPUID when available
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
2022-07-06 12:42:01 -05:00
Morph fa09f7aa6c gpu_thread: Use the previous MPSCQueue implementation
The bounded MPSCQueue implementation causes crashes in Fire Emblem Three Houses, use the previous implementation for now.
2022-07-06 01:33:17 -04:00
Morph cbef6b1fca qt_web_browser: Fix button inputs with QtWebEngine
Button inputs were broken as button was assumed to be the bit position of NpadButton prior to the input rewrite. Since this was changed to use NpadButton directly, we should count the number of trailing zeros to determine the bit position.
2022-07-05 20:34:10 -04:00
Morph aec129c1ab renderer_(gl/vk): Implement ASTC_10x6_UNORM
- Used by Monster Hunter Rise Update 10.0.2
2022-07-05 20:33:43 -04:00
Morph 770611fdf3
Merge pull request #8486 from liushuyu/github-actions-verify
CI: Use GitHub Actions to validate pull requests
2022-07-05 20:30:38 -04:00
liamwhite 07e3c56f0d
Merge pull request #8532 from liamwhite/fiber-supplements
common/fiber: make fibers easier to use
2022-07-05 18:20:39 -04:00
Morph eb4ce48b65
Merge pull request #8477 from Docteh/less_global
tweak API usage in qt_web_browser.cpp
2022-07-05 05:57:26 -04:00
liushuyu 40493231ed CI: fix caching 2022-07-04 21:21:56 -06:00
Morph 908c79881b
Merge pull request #8521 from lat9nq/gdbstub-in-bounds
gdbstub_arch: Directly access SP register
2022-07-04 21:27:12 -04:00
Fernando Sahmkow d3cb9201f1 Core timing: use only one thread. 2022-07-02 23:02:16 +02:00
Liam ed0319cfed common/fiber: make fibers easier to use 2022-07-02 12:33:49 -04:00
Fernando S 3f3c2dc20f
Merge pull request #8523 from liamwhite/sc-oopsie
cpu_manager: properly check idle on return from preemption
2022-07-01 22:40:02 +02:00
Morph 78ce053b4d
Merge pull request #8490 from liamwhite/read-code-stop
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-30 20:57:39 -07:00
Liam 2c1e2c63c3 cpu_manager: properly check idle on return from preemption 2022-06-30 16:54:05 -04:00
lat9nq 7b0affb6e0 gdbstub_arch: Directly access SP register
Currently to access the SP register, RegRead and RegWrite rely on a
out-of-bounds array access to reach the next element in a struct. As
of writing only git versions of GCC catch this error.

Specify the SP register when we want to access it in these functions.
2022-06-30 12:47:40 -04:00
lat9nq ca36722a54 settings: Consolidate RangedSetting's with regular ones
The latest git version of GCC has issues with my diamond inheritance
shenanigans. Since that's now two compilers that don't like it I thought
it'd be best to just axe all of it and just have the two templates like
before.

This rolls the features of BasicRangedSetting into BasicSetting, and
likewise RangedSetting into Setting. It also renames them from
BasicSetting and Setting to Setting and SwitchableSetting respectively.
Now longer name corresponds to more complex thing.
2022-06-30 12:39:48 -04:00
Fernando S 603952bc27
Merge pull request #7454 from FernandoS27/new-core-timing
Core: Remake Core Timing
2022-06-30 12:38:50 +02:00
Fernando Sahmkow 3196d957b0 Adress Feedback. 2022-06-30 10:18:56 +02:00
lat9nq d41ffb592c
Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor" 2022-06-29 16:35:06 -04:00
german77 b38509b030 service: nifm: Stub GetInternetConnectionStatus 2022-06-28 19:22:46 -05:00
german77 c0264d2121 service: ptm: Rewrite PSM and add TS 2022-06-28 19:22:46 -05:00
german77 5e7e55b98a input_common: sdl: lower vibration frequency and use it's own unique thread 2022-06-28 19:22:16 -05:00
Narr the Reg 36148fe7f6 service: hid: Correct some mistakes and add more validations 2022-06-28 19:14:55 -05:00
Morph 01bc0c84f0
Merge pull request #8512 from german77/nnResult
Replace multiple names with a better name
2022-06-28 16:59:33 -07:00
Fernando Sahmkow 2575a93dc6 Native clock: Use atomic ops as before. 2022-06-28 22:42:00 +02:00
Fernando Sahmkow f5c1d7b8c8 Native Clock: remove inaccuracy mask. 2022-06-28 01:47:00 +02:00
Fernando Sahmkow 86ccce3721 Address feedback. 2022-06-28 01:19:30 +02:00
Fernando Sahmkow 38e4a144a1 Core: Protect each event from race conditions within it. 2022-06-28 01:10:55 +02:00
Fernando Sahmkow 9cafb0d912 Core: Fix tests. 2022-06-28 01:10:55 +02:00
Fernando Sahmkow 00b09de3d9 Core: add missing include. 2022-06-28 01:10:55 +02:00
Fernando Sahmkow a2d29412cb Core/Common: Corrections to core timing and add critical priority. 2022-06-28 01:10:55 +02:00
Fernando Sahmkow 846c994cc9 Core: Reimplement Core Timing. 2022-06-28 01:10:50 +02:00
Fernando Sahmkow 096366ead5 Common: improve native clock. 2022-06-28 01:06:48 +02:00
bunnei c78f6d4f20
Merge pull request #8504 from comex/mesosphere-current-process
Support `InfoType_MesosphereCurrentProcess`
2022-06-27 13:05:07 -07:00
german77 c34a95fa25 video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueue 2022-06-26 20:21:45 -05:00
german77 b5d6194f6d video_core: Replace VKSwapchain with Swapchain 2022-06-26 20:21:45 -05:00
german77 a5e419535f video_core: Replace VKQueryCache with QueryCache 2022-06-26 20:21:45 -05:00
german77 9775fae4eb video_core: Replace VKScheduler with Scheduler 2022-06-26 20:21:45 -05:00
german77 a262dc02b5 video_core: Replace VKBlitScreen with BlitScreen 2022-06-26 20:21:45 -05:00
german77 fca5752690 video_core: Replace VKFenceManager with FenceManager 2022-06-26 20:21:45 -05:00
german77 7b48e7b363 core: kernel: Replace instances of KPageLinkedList with KPageGroup 2022-06-26 20:21:45 -05:00
german77 a7d9be1384 core: Replace all instances of ResultCode with Result 2022-06-26 20:21:37 -05:00
bunnei abfd690601
Merge pull request #8475 from liamwhite/x18
kernel: make current thread pointer thread local
2022-06-26 11:38:48 -07:00
comex bf7e78795f Re-add missing case and braces, and trim whitespace 2022-06-25 18:01:56 -07:00
comex a14438d013
Update src/core/hle/kernel/svc.cpp
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2022-06-25 18:00:29 -07:00
comex 48737a4bb2 Support InfoType_MesosphereCurrentProcess 2022-06-25 16:23:23 -07:00
Liam 075155022e kernel: clean up waiting implementation 2022-06-25 13:36:14 -04:00
Liam 8f8c0b69dc core/arm: better support for backtrace generation 2022-06-25 12:54:24 -04:00
Liam 19f475fd70 gdbstub: fix register pokes 2022-06-25 12:07:20 -04:00
Liam 2c56e94702 kernel: make current thread pointer thread local 2022-06-23 00:28:00 -04:00
bunnei 95b844dbae
Merge pull request #8491 from Morph1984/extra-assert
KPageTable: Remove extraneous assert
2022-06-22 14:47:07 -07:00
bunnei 9da4e62573
Merge pull request #8483 from liamwhite/fire-emblem-three-semaphores
kernel: wait for threads to stop on pause
2022-06-22 14:46:33 -07:00
Morph 1c8f6ba18f KPageTable: Remove extraneous assert
Since start is always 0 and VAddr is unsigned, we can safely remove this assert.
2022-06-21 21:28:54 -04:00