bunnei
44af2e32a4
Merge pull request #10964 from bunnei/gpu-remove-qcom-check
...
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-07-03 16:59:29 -07:00
bunnei
3c88547c74
Merge pull request #10943 from t895/stick-modifiers
...
android: Input overlay updates
2023-07-03 14:44:15 -07:00
bunnei
cef7aaa8ec
video_core: vulkan_device: Change to driver version check.
2023-07-03 14:25:06 -07:00
german77
b41006004b
android: Reintroduce launch mode as single top
2023-07-03 09:31:02 -06:00
gidoly
408a9cd50d
oops re open
2023-07-03 20:25:23 +09:00
zeltermann
d2b62ae401
Use toUtf8()
for string passed to DBus
2023-07-03 14:46:17 +07:00
german77
9cd698e8ad
service: nfc: Ensure controller is in the correct mode
2023-07-02 19:21:16 -06:00
Charles Lombardo
68f6f2671b
android: Version the input overlay
...
Now within the Input Overlay file, there is a version that will determine when the overlay will be reset. This is intended for breaking changes like the ones we had with the additions of percentage based layouts or the addition of foldable/portrait layouts. This also includes versions for each individual layout so we don't have to reset every layout if only one is broken.
Additionally, this includes new L3/R3 buttons.
2023-07-02 20:19:01 -04:00
Kelebek1
6f7cb69c94
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
liamwhite
95ceae40e6
Merge pull request #10998 from Morph1984/qt-stop-messing-with-me
...
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
2023-07-02 17:38:28 -04:00
liamwhite
5e3695ecaa
Merge pull request #10479 from GPUCode/format-list
...
Add support for VK_KHR_image_format_list
2023-07-02 17:38:21 -04:00
liamwhite
daaf03942f
Merge pull request #10969 from Morph1984/k-synchronize
...
kernel: Synchronize
2023-07-02 17:38:14 -04:00
Morph
c3fbc8d2fe
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
...
Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
2023-07-02 15:08:04 -04:00
liamwhite
657ab0287d
Merge pull request #10949 from t895/memory-requirements
...
android: Rework MemoryUtil
2023-07-02 11:29:08 -04:00
liamwhite
eaa62aee98
Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--
...
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2023-07-02 11:29:01 -04:00
liamwhite
87080e71c5
Merge pull request #10710 from liamwhite/romfs2
...
fsmitm_romfsbuild: avoid full path lookups
2023-07-02 11:28:55 -04:00
comex
644c3ce609
Rename variables to avoid -Wshadow warnings under GCC
2023-07-01 22:03:21 -07:00
Liam
ad1946b893
vulkan_common: use device local preferred for image memory
2023-07-01 23:44:57 -04:00
Liam
34c448bad4
Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
...
This reverts commit 1fc47361a1
.
2023-07-01 23:37:50 -04:00
liamwhite
146769f44e
Merge pull request #10984 from comex/cob
...
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2023-07-01 22:38:33 -04:00
liamwhite
ae7e9b5469
Merge pull request #10974 from Steveice10/macos_vk
...
vulkan: Improvements to macOS surface creation
2023-07-01 22:38:26 -04:00
liamwhite
971b89b979
Merge pull request #10970 from Morph1984/thing
...
general: Misc changes that did not deserve their own PRs
2023-07-01 22:38:18 -04:00
liamwhite
7f5ccd0151
Merge pull request #10966 from Morph1984/heap-corruption
...
sink_stream: Resolve heap buffer corruption due to out of bounds write
2023-07-01 22:38:10 -04:00
liamwhite
595d55d485
Merge pull request #10950 from german77/mouse_tune
...
input_common: Tune mouse controls
2023-07-01 22:38:01 -04:00
comex
0ed1cb7266
...actually add the SecureTransport backend to Git.
2023-07-01 17:48:36 -07:00
comex
0e191c2711
Updates:
...
- Address PR feedback.
- Add SecureTransport backend for macOS.
2023-07-01 17:27:35 -07:00
comex
98685d48e3
Merge remote-tracking branch 'origin/master' into ssl
2023-07-01 15:01:11 -07:00
Steveice10
aa89ec9214
yuzu: Use test window with VulkanSurface to check for present modes.
...
It is probably not correct to create a surface on a non-VulkanSurface window.
On macOS this causes a preferences crash due to missing CAMetalLayer.
2023-07-01 14:15:26 -07:00
Morph
b94e576653
kernel: Synchronize
2023-07-01 16:21:22 -04:00
comex
1e3b2328a6
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
...
As far as I can tell, there is no reason to OR this bit in separately.
2023-07-01 12:00:25 -07:00
GPUCode
272916eeaf
renderer_vulkan: Fix some missing view formats
...
* Many times the format itself wouldn't have been added to the list causing device losses for nvidia GPUs
* Also account for ASTC acceleration storage views
2023-07-01 16:03:35 +03:00
GPUCode
95cefaf993
renderer_vulkan: Add support for VK_KHR_image_format_list
2023-07-01 16:03:29 +03:00
Steveice10
e146a00345
vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK.
2023-06-30 23:46:03 -07:00
Morph
1a46823ec5
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
Morph
5a09fa5012
maxwell_dma: Specify dst_operand.pitch instead of a temp var
2023-06-30 21:49:59 -04:00
Morph
310b6cf4af
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
german77
da8df6488d
yuzu: Ensure mouse panning can't be enabled with real mouse emulation
2023-06-30 18:59:39 -06:00
Fernando S
a10bdaf934
Merge pull request #10953 from FernandoS27/oh-oopsies-yfc
...
Texture cache: Fix YFC regression due to code testing
2023-06-30 20:25:09 +02:00
Charles Lombardo
ff6d35f2c7
android: Show memory warning once
2023-06-30 13:46:35 -04:00
Morph
fbd85417ff
ring_buffer: Fix const usage on std::span
2023-06-30 13:33:14 -04:00
Morph
b8c906f9d1
scratch_buffer: Add member types to ScratchBuffer
...
Allows for implicit conversion to std::span<T>.
2023-06-30 13:33:13 -04:00
Fernando S
9252ad4e10
Merge pull request #10956 from FernandoS27/pikmin-another-game-ill-hate
...
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-30 09:37:07 +02:00
Charles Lombardo
11991fbd7f
android: Rework MemoryUtil
...
Uses string templates and rounds up memory amount for potentially inaccurate checks now
2023-06-30 01:00:19 -04:00
Morph
ea8d5ef5e8
sink_stream: Resolve heap buffer corruption due to out of bounds write
...
Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
2023-06-30 00:54:23 -04:00
bunnei
ddcd89afd4
video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm.
2023-06-29 18:41:38 -07:00
bunnei
dfa040502a
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-06-29 17:37:42 -07:00
Fernando Sahmkow
596a6132b9
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-29 17:23:29 +02:00
Charles Lombardo
45be4c3214
Merge pull request #10955 from 8bitDream/gradle
...
android: Suppress a known incompatibility
2023-06-29 11:07:00 -04:00
liamwhite
5e70db0d43
Merge pull request #10935 from Morph1984/mwaitx
...
x64: Make use of monitorx instructions for power efficient sleeps (AMD)
2023-06-29 10:01:26 -04:00
liamwhite
4c705db73e
Merge pull request #10937 from german77/ring
...
input_common: Remove duplicated enum and fix ring detection
2023-06-29 10:01:19 -04:00
liamwhite
7de778ad39
Merge pull request #10946 from goldenx86/amdBlending
...
Blacklist EDS3 blending from new AMD drivers
2023-06-29 10:01:11 -04:00
Abandoned Cart
13506e7782
android: Suppress a known incompatibility
...
Android Gradle plugin 8.0.2 is designed for API 33, but a newer plugin hasn't been released yet. The warning message is rather extravagant, but also suggests adding this property if you are aware of the risks.
2023-06-29 07:32:12 -04:00
Fernando Sahmkow
0e6b559c98
Memory Tracker: Use 64 bit atomics instead of 128 bits
2023-06-29 12:25:12 +02:00
Fernando Sahmkow
b62121fd60
Texture cache: Fix YFC regression due to code testing
2023-06-29 11:58:45 +02:00
german77
ac755476cd
input_common: Allow timeouts to happen while scanning for a ring
2023-06-29 01:07:39 -06:00
Narr the Reg
3f407417c1
input_common: Tune mouse controls
2023-06-28 21:04:33 -06:00
Charles Lombardo
a1dd5dfba5
android: Make MemoryUtil an object
2023-06-28 20:00:25 -04:00
Matías Locatti
ed93cbd462
Blacklist EDS3 blending from new AMD drivers
2023-06-28 20:10:27 -03:00
Charles Lombardo
b76b698c17
android: Android 14 support
...
Specifies the permissions needed for the changes to foreground services in Android 14.
2023-06-28 16:15:18 -04:00
Fernando Sahmkow
da440da9f5
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
2023-06-28 21:32:45 +02:00
Fernando Sahmkow
47d0d292d5
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
german77
df9685a21c
input_common: Remove duplicated DriverResult enum
2023-06-28 09:49:47 -06:00
Morph
295fc7d0f8
x64: cpu_wait: Implement MWAITX for non-MSVC compilers
2023-06-28 01:39:15 -04:00
Morph
2b68a3cbbf
x64: cpu_wait: Remove magic values
2023-06-28 01:39:06 -04:00
Morph
3d868baaa4
x64: cpu_wait: Make use of MWAITX in MicroSleep
...
MWAITX is equivalent to UMWAIT on Intel's Alder Lake CPUs.
We can emulate TPAUSE by using MONITORX in conjunction with MWAITX to wait for 100K cycles.
2023-06-28 01:38:55 -04:00
Morph
4303ed614d
x64: Add detection of monitorx instructions
...
monitorx introduces 2 instructions: MONITORX and MWAITX.
2023-06-28 01:36:06 -04:00
Liam
edd54abee4
fsmitm_romfsbuild: avoid full path lookups
2023-06-27 23:25:47 -04:00
GPUCode
ddcc958336
renderer_vulkan: Prevent crashes when blitting depth stencil
2023-06-27 18:00:09 -07:00
GPUCode
eac46ad7ce
video_core: Add BCn decoding support
2023-06-27 18:00:09 -07:00
GPUCode
b8c96cee5f
renderer_vulkan: Add more feature checking
2023-06-27 18:00:09 -07:00
GPUCode
220a42896d
renderer_vulkan: Don't assume debug tool with debug renderer
...
* Causes crashes because mali drivers don't support debug utils
2023-06-27 18:00:09 -07:00
GPUCode
1522b95658
renderer_vulkan: Bump minimum SPIRV version
...
* 1.3 is guaranteed on all 1.1 drivers
2023-06-27 18:00:09 -07:00
GPUCode
c339af37a7
renderer_vulkan: Respect viewport limit
2023-06-27 18:00:09 -07:00
GPUCode
a9b44d37e1
renderer_vulkan: Don't add transform feedback flag if unsupported
2023-06-27 18:00:09 -07:00
GPUCode
72e7f5b4dd
renderer_vulkan: Add suport for debug report callback
2023-06-27 18:00:09 -07:00
liamwhite
0fe44071f8
Merge pull request #10933 from merryhime/dunno
...
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 20:50:24 -04:00
lat9nq
21675c9b68
settings: Clean up includes
...
Adds <version> since we are looking at C++ implementation version
details. Also moves exception header includes into the if preprocessor
command since we only use it there.
2023-06-27 19:13:54 -04:00
Merry
e3c548d081
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 23:51:49 +01:00
lat9nq
32475efbc4
settings: Catch runtime_error, fallback time zone
...
Windows will let you select time zones that will fail in their
own C++ implementation library. Evidently from the stack trace, we get a
runtime error to work with, so catch it and use the fallback.
2023-06-27 18:12:26 -04:00
german77
30544fbfa5
yuzu: Fix clang format
2023-06-27 15:55:23 -06:00
Narr the Reg
112b660456
Merge pull request #9663 from EBADBEEF/disable-controller-applet
...
qt: add option to disable controller applet
2023-06-27 10:32:51 -06:00
liamwhite
2b3bfafb9e
Merge pull request #10867 from Kelebek1/dma_safe
...
Use safe reads in DMA engine
2023-06-27 11:21:47 -04:00
liamwhite
c6959449d1
Merge pull request #10473 from GPUCode/vma
...
Use vulkan memory allocator
2023-06-27 11:21:36 -04:00
liamwhite
20111c86b6
Merge pull request #10495 from bm01/master
...
input_common: Redesign mouse panning
2023-06-27 11:21:28 -04:00
liamwhite
f254ce2c60
Merge pull request #10679 from zeltermann/wakelock-reason
...
Only use SDL wakelock on Linux
2023-06-27 11:21:20 -04:00
liamwhite
dafbc86366
Merge pull request #10916 from ameerj/lolmem
...
OpenGL: Add Local Memory warmup shader for Nvidia
2023-06-27 11:21:10 -04:00
Charles Lombardo
9074a70b01
android: Fix size check for content uris
...
Fix for checking file size for android content uris
2023-06-26 22:24:18 -04:00
liamwhite
2ed8b3cbb9
Merge pull request #10908 from kiri11/clarify-ring-ui
...
Clarify Ring-Con configuration message in UI
2023-06-26 14:31:30 -04:00
liamwhite
b82c649b0f
Merge pull request #10903 from german77/nfc_state
...
input_common: Improve nfc state handling and 3rd party support
2023-06-26 14:31:23 -04:00
liamwhite
ce990adae5
Merge pull request #10901 from german77/sdl_fix
...
input_common: Make use of new SDL features
2023-06-26 14:31:14 -04:00
liamwhite
28df6ac0aa
Merge pull request #10888 from 8bitDream/native
...
android: (native) Parameter types from Android Studio
2023-06-26 14:31:00 -04:00
liamwhite
0030fa9721
Merge pull request #10865 from t895/extension-meme
...
android: Clean up file extension checks
2023-06-26 14:30:49 -04:00
Charles Lombardo
0f31039831
android: Clean up file extension checks
2023-06-26 13:25:56 -04:00
GPUCode
b6c6dcc576
externals: Use cmake subdirectory
2023-06-26 18:59:24 +03:00
Kelebek1
ffbaf574ca
Use safe reads in DMA engine
2023-06-26 11:34:02 +01:00
comex
d885dd5b64
PR feedback + constification
2023-06-25 19:24:49 -07:00
comex
b9f9d0a642
network.cpp: include expected.h
2023-06-25 18:51:39 -07:00
comex
cd4b8f037c
re-format
2023-06-25 17:09:54 -07:00
comex
ac939f08a4
Fix more Windows build errors
...
I did test this beforehand, but not on MinGW, and the error that showed
up on the msvc builder didn't happen for me...
2023-06-25 17:06:57 -07:00
comex
42015de49b
ssl: fix compatibility with OpenSSL 1.1.1
...
Turns out changes were needed after all.
2023-06-25 16:09:16 -07:00
ameerj
4f160633d3
OpenGL: Limit lmem warmup to NVIDIA
...
🐸
2023-06-25 19:06:51 -04:00
ameerj
405eae3734
shaders: Track local memory usage
2023-06-25 18:59:33 -04:00
ameerj
b198339580
emit_glasm: Fix lmem size computation
2023-06-25 18:43:52 -04:00
ameerj
82107b33a2
OpenGL: Add Local Memory warmup shader
2023-06-25 18:43:23 -04:00
comex
4a35569921
Fixes:
...
- Add missing virtual destructor on `SSLBackend`.
- On Windows, filter out `POLLWRBAND` (one of the new flags added) when
calling `WSAPoll`, because despite the constant being defined on
Windows, passing it calls `WSAPoll` to yield `EINVAL`.
- Reduce OpenSSL version requirement to satisfy CI; I haven't tested
whether it actually builds (or runs) against 1.1.1, but if not, I'll
figure it out.
- Change an instance of memcpy to memmove, even though the arguments
cannot overlap, to avoid a [strange GCC
error](https://github.com/yuzu-emu/yuzu/pull/10912#issuecomment-1606283351 ).
2023-06-25 15:06:52 -07:00
comex
8905142f43
ssl: rename argument to avoid false positive codespell warning
...
The original name `larg` was copied from the OpenSSL documentation and
is not a typo of 'large' but rather an abbreviation of '`long`
argument'. But whatever, no harm in adding an underscore.
2023-06-25 13:10:41 -07:00
comex
7cc428ddf6
socket_types: Improve comment
2023-06-25 13:10:15 -07:00
comex
8e703e08df
Implement SSL service
...
This implements some missing network APIs including a large chunk of the SSL
service, enough for Mario Maker (with an appropriate mod applied) to connect to
the fan server [Open Course World](https://opencourse.world/ ).
Connecting to first-party servers is out of scope of this PR and is a
minefield I'd rather not step into.
## TLS
TLS is implemented with multiple backends depending on the system's 'native'
TLS library. Currently there are two backends: Schannel for Windows, and
OpenSSL for Linux. (In reality Linux is a bit of a free-for-all where there's
no one 'native' library, but OpenSSL is the closest it gets.) On macOS the
'native' library is SecureTransport but that isn't implemented in this PR.
(Instead, all non-Windows OSes will use OpenSSL unless disabled with
`-DENABLE_OPENSSL=OFF`.)
Why have multiple backends instead of just using a single library, especially
given that Yuzu already embeds mbedtls for cryptographic algorithms? Well, I
tried implementing this on mbedtls first, but the problem is TLS policies -
mainly trusted certificate policies, and to a lesser extent trusted algorithms,
SSL versions, etc.
...In practice, the chance that someone is going to conduct a man-in-the-middle
attack on a third-party game server is pretty low, but I'm a security nerd so I
like to do the right security things.
My base assumption is that we want to use the host system's TLS policies. An
alternative would be to more closely emulate the Switch's TLS implementation
(which is based on NSS). But for one thing, I don't feel like reverse
engineering it. And I'd argue that for third-party servers such as Open Course
World, it's theoretically preferable to use the system's policies rather than
the Switch's, for two reasons
1. Someday the Switch will stop being updated, and the trusted cert list,
algorithms, etc. will start to go stale, but users will still want to
connect to third-party servers, and there's no reason they shouldn't have
up-to-date security when doing so. At that point, homebrew users on actual
hardware may patch the TLS implementation, but for emulators it's simpler to
just use the host's stack.
2. Also, it's good to respect any custom certificate policies the user may have
added systemwide. For example, they may have added custom trusted CAs in
order to use TLS debugging tools or pass through corporate MitM middleboxes.
Or they may have removed some CAs that are normally trusted out of paranoia.
Note that this policy wouldn't work as-is for connecting to first-party
servers, because some of them serve certificates based on Nintendo's own CA
rather than a publicly trusted one. However, this could probably be solved
easily by using appropriate APIs to adding Nintendo's CA as an alternate
trusted cert for Yuzu's connections. That is not implemented in this PR
because, again, first-party servers are out of scope.
(If anything I'd rather have an option to _block_ connections to Nintendo
servers, but that's not implemented here.)
To use the host's TLS policies, there are three theoretical options:
a) Import the host's trusted certificate list into a cross-platform TLS
library (presumably mbedtls).
b) Use the native TLS library to verify certificates but use a cross-platform
TLS library for everything else.
c) Use the native TLS library for everything.
Two problems with option a). First, importing the trusted certificate list at
minimum requires a bunch of platform-specific code, which mbedtls does not have
built in. Interestingly, OpenSSL recently gained the ability to import the
Windows certificate trust store... but that leads to the second problem, which
is that a list of trusted certificates is [not expressive
enough](https://bugs.archlinux.org/task/41909 ) to express a modern certificate
trust policy. For example, Windows has the concept of [explicitly distrusted
certificates](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn265983(v=ws.11) ),
and macOS requires Certificate Transparency validation for some certificates
with complex rules for when it's required.
Option b) (using native library just to verify certs) is probably feasible, but
it would miss aspects of TLS policy other than trusted certs (like allowed
algorithms), and in any case it might well require writing more code, not less,
compared to using the native library for everything.
So I ended up at option c), using the native library for everything.
What I'd *really* prefer would be to use a third-party library that does option
c) for me. Rust has a good library for this,
[native-tls](https://docs.rs/native-tls/latest/native_tls/ ). I did search, but
I couldn't find a good option in the C or C++ ecosystem, at least not any that
wasn't part of some much larger framework. I was surprised - isn't this a
pretty common use case? Well, many applications only need TLS for HTTPS, and they can
use libcurl, which has a TLS abstraction layer internally but doesn't expose
it. Other applications only support a single TLS library, or use one of the
aforementioned larger frameworks, or are platform-specific to begin with, or of
course are written in a non-C/C++ language, most of which have some canonical
choice for TLS. But there are also many applications that have a set of TLS
backends just like this; it's just that nobody has gone ahead and abstracted
the pattern into a library, at least not a widespread one.
Amusingly, there is one TLS abstraction layer that Yuzu already bundles: the
one in ffmpeg. But it is missing some features that would be needed to use it
here (like reusing an existing socket rather than managing the socket itself).
Though, that does mean that the wiki's build instructions for Linux (and macOS
for some reason?) already recommend installing OpenSSL, so no need to update
those.
## Other APIs implemented
- Sockets:
- GetSockOpt(`SO_ERROR`)
- SetSockOpt(`SO_NOSIGPIPE`) (stub, I have no idea what this does on Switch)
- `DuplicateSocket` (because the SSL sysmodule calls it internally)
- More `PollEvents` values
- NSD:
- `Resolve` and `ResolveEx` (stub, good enough for Open Course World and
probably most third-party servers, but not first-party)
- SFDNSRES:
- `GetHostByNameRequest` and `GetHostByNameRequestWithOptions`
- `ResolverSetOptionRequest` (stub)
## Fixes
- Parts of the socket code were previously allocating a `sockaddr` object on
the stack when calling functions that take a `sockaddr*` (e.g. `accept`).
This might seem like the right thing to do to avoid illegal aliasing, but in
fact `sockaddr` is not guaranteed to be large enough to hold any particular
type of address, only the header. This worked in practice because in
practice `sockaddr` is the same size as `sockaddr_in`, but it's not how the
API is meant to be used. I changed this to allocate an `sockaddr_in` on the
stack and `reinterpret_cast` it. I could try to do something cleverer with
`aligned_storage`, but casting is the idiomatic way to use these particular
APIs, so it's really the system's responsibility to avoid any aliasing
issues.
- I rewrote most of the `GetAddrInfoRequest[WithOptions]` implementation. The
old implementation invoked the host's getaddrinfo directly from sfdnsres.cpp,
and directly passed through the host's socket type, protocol, etc. values
rather than looking up the corresponding constants on the Switch. To be
fair, these constants don't tend to actually vary across systems, but
still... I added a wrapper for `getaddrinfo` in
`internal_network/network.cpp` similar to the ones for other socket APIs, and
changed the `GetAddrInfoRequest` implementation to use it. While I was at
it, I rewrote the serialization to use the same approach I used to implement
`GetHostByNameRequest`, because it reduces the number of size calculations.
While doing so I removed `AF_INET6` support because the Switch doesn't
support IPv6; it might be nice to support IPv6 anyway, but that would have to
apply to all of the socket APIs.
I also corrected the IPC wrappers for `GetAddrInfoRequest` and
`GetAddrInfoRequestWithOptions` based on reverse engineering and hardware
testing. Every call to `GetAddrInfoRequestWithOptions` returns *four*
different error codes (IPC status, getaddrinfo error code, netdb error code,
and errno), and `GetAddrInfoRequest` returns three of those but in a
different order, and it doesn't really matter but the existing implementation
was a bit off, as I discovered while testing `GetHostByNameRequest`.
- The new serialization code is based on two simple helper functions:
```cpp
template <typename T> static void Append(std::vector<u8>& vec, T t);
void AppendNulTerminated(std::vector<u8>& vec, std::string_view str);
```
I was thinking there must be existing functions somewhere that assist with
serialization/deserialization of binary data, but all I could find was the
helper methods in `IOFile` and `HLERequestContext`, not anything that could
be used with a generic byte buffer. If I'm not missing something, then
maybe I should move the above functions to a new header in `common`...
right now they're just sitting in `sfdnsres.cpp` where they're used.
- Not a fix, but `SocketBase::Recv`/`Send` is changed to use `std::span<u8>`
rather than `std::vector<u8>&` to avoid needing to copy the data to/from a
vector when those methods are called from the TLS implementation.
2023-06-25 12:53:31 -07:00
Kirill Ignatev
b6e89bdf2c
Hyphenate Joy-Con and clarify further
2023-06-25 12:51:16 -04:00
Kirill Ignatev
b6025cf62f
Clarify Ring-Con configuration message in UI
...
Not obvious how left controller should be set up
Mention that it should be left physical dual emulated
2023-06-25 11:52:15 -04:00
german77
bf641e2964
core: hid: Allow to read bin files while switch controller is available
2023-06-24 18:59:55 -06:00
german77
5aa208e264
input_common: Dont try to read/write data from 3rd party controllers
2023-06-24 18:59:55 -06:00
german77
474fa13a1a
input_common: Make use of new SDL features
2023-06-24 17:42:56 -06:00
zeltermann
482fbded9b
Only use SDL wakelock on Linux
...
SDL has internally fixed shenanigans related to wakelocking through DBus
from inside sandboxes from around August 2022, so we can now remove the
workaround we used since 2021.
2023-06-24 14:51:41 +07:00
Abandoned Cart
b53945a99f
android: define [[maybe_unused]] (const) auto
2023-06-23 14:05:14 -04:00
Abandoned Cart
a58a1403ba
android: Parameter types from Android Studio
...
Android Studio marked these parameters as errors because it is an instance, not a class, that is being passed from Java.
2023-06-23 10:36:30 -04:00
liamwhite
5ab4aa1edb
Merge pull request #10811 from 8bitDream/pip_mute
...
android: Add a PiP interface to mute / unmute
2023-06-23 09:27:28 -04:00
liamwhite
a674022434
Merge pull request #10859 from liamwhite/no-more-atomic-wait
...
general: remove atomic signal and wait
2023-06-23 09:27:14 -04:00
liamwhite
87b9b5d10f
Merge pull request #10842 from german77/native_mifare
...
input_common: Implement native mifare/skylander support for joycons/pro controller
2023-06-23 09:27:00 -04:00
Liam
1dd166f766
vfs_real: lock concurrent accesses
2023-06-23 00:57:24 -04:00
bunnei
2fc5dedf69
Merge pull request #10457 from Kelebek1/optimise
...
Remove memory allocations in some hot paths
2023-06-22 21:53:07 -07:00
bunnei
3f3e4efb30
Merge pull request #10806 from liamwhite/worst-fs-implementation-ever
...
vfs_real: misc optimizations
2023-06-22 21:46:50 -07:00
bunnei
5558fc4aa5
Merge pull request #10794 from 8bitDream/multiples
...
android: Add support for multiple installs
2023-06-22 14:26:24 -07:00
Morph
7f12c6159f
Merge pull request #10878 from GPUCode/log-droid
...
android: Log settings
2023-06-22 16:16:20 -04:00
bunnei
dfa0e9479d
Merge pull request #10869 from 8bitDream/memory
...
android: Add a notice when RAM inadequate
2023-06-22 10:26:32 -07:00
GPUCode
c133509368
android: Log settings
2023-06-22 20:17:52 +03:00
GPUCode
75fb29e08e
vulkan_common: Remove required flags
...
* Allows VMA to fallback to system RAM instead of crashing
2023-06-22 20:03:12 +03:00
Liam
1586f1c0b1
general: remove atomic signal and wait
2023-06-22 09:25:23 -04:00
Kelebek1
5da70f7197
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
bunnei
e3122c5b46
Merge pull request #10086 from Morph1984/coretiming-ng-1
...
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
bunnei
7eb7d56b1b
Merge pull request #10777 from liamwhite/no-barrier
...
video_core: optionally skip barriers on feedback loops
2023-06-21 21:10:08 -07:00
bunnei
8cb6b33809
Merge pull request #10841 from liamwhite/math-is-hard
...
vfs_concat: fix offset calculation when not aligned to file boundary
2023-06-21 21:07:08 -07:00
bunnei
8ad64bc253
Merge pull request #10863 from lat9nq/tz-end-of-string
...
time_zone_manager: Stop on comma
2023-06-21 21:05:03 -07:00
Narr the Reg
84d43489c5
input_common: Implement native mifare support
2023-06-21 17:54:58 -06:00
Abandoned Cart
1a85d8804a
android: Generalize string message dialog
2023-06-21 18:25:15 -04:00
Abandoned Cart
6c7e284f64
android: Add support for concurrent installs
2023-06-21 18:25:15 -04:00
Abandoned Cart
8b841aa7ba
android: Convert memory sizes to resource
2023-06-21 18:24:49 -04:00
Abandoned Cart
699e78c666
android: Add a notice when RAM inadequate
2023-06-21 18:24:49 -04:00
Abandoned Cart
cfc6ef42d9
android: Refactor native and corresponding variables
2023-06-21 18:23:13 -04:00
Abandoned Cart
e35371e50c
Fix JNI and expose mute settings to Android
2023-06-21 18:23:13 -04:00
Abandoned Cart
e31152ee34
android: Add a PiP interface to mute / unmute
2023-06-21 17:21:36 -04:00
Charles Lombardo
e684515578
android: Don't show custom driver button on mali and x86
2023-06-20 20:06:36 -04:00
lat9nq
ae1a8a7dc7
time_zone_manager: Add null terminator
...
We aren't null-terminating this string after the copy, and we need to.
2023-06-20 15:54:28 -04:00
lat9nq
fd5d7947f6
time_zone_manager: Stop on comma
...
This is a deviation from the reference time zone implementation. The
actual code will set a pointer to the time zone name here, but for us we
have a limited number of characters to work with, and the name of the
time zone here could be larger than 8 characters.
We can make the assumption that time zone names greater than five
characters in length include a comma that denotes more data. Nintendo
just truncates that data for the name, so we can do the same.
time_zone_manager: Check for length of array
Just to be double sure that we never break past the array length,
directly compare against it.
2023-06-20 15:54:05 -04:00
liamwhite
f1e12e3b08
Merge pull request #10818 from vonchenplus/render_target_samples
...
video_core: add samples check when find render target
2023-06-20 09:55:23 -04:00
liamwhite
93061d1ea1
Merge pull request #10835 from lat9nq/intel-restrict-compute-disable
...
vulkan_device: Restrict compute disable only to affected Intel drivers
2023-06-20 09:55:14 -04:00
liamwhite
6d12e7320b
Merge pull request #10840 from Kelebek1/unbug_blinks_brain
...
Use current GPU address when unmapping GPU pages, not the base
2023-06-20 09:55:01 -04:00
toast2903
78ff2862f6
vulkan_device: Remove brace initializer
...
Co-authored-by: Tobias <thm.frey@gmail.com>
2023-06-19 17:35:12 -04:00
lat9nq
197e13d93d
video_core: Check broken compute earlier
...
Checks it as the system is determining what settings to enable. Reduces
the need to check settings while the system is running.
2023-06-19 17:33:30 -04:00
Liam
e5f1b22e16
vfs_concat: verify short read
2023-06-19 09:47:05 -04:00
Liam
b0beca52a3
vfs_concat: fix offset calculation when not aligned to file boundary
2023-06-18 22:21:29 -04:00
Kelebek1
711190bb67
Use current GPU address when unmapping GPU pages, not the base
2023-06-19 00:19:50 +01:00
lat9nq
b9a86b040b
vk_device_info: Check only affected Intel drivers
...
Renames is_intel_proprietary to has_broken_compute for accuracy.
vk_device_info: Use vulkan::device to check compute
2023-06-18 16:15:51 -04:00
lat9nq
346c253cd2
video_core: Formalize HasBrokenCompute
...
Also limits it to only affected Intel proprietrary driver versions.
vulkan_device: Move broken compute determination
vk_device: Remove errant back quote
2023-06-18 16:15:47 -04:00
liamwhite
23371fa187
Merge pull request #10829 from lat9nq/remove-external-mem
...
vulkan_device: Remove external memory extension
2023-06-18 09:43:03 -04:00
liamwhite
af7f3f078c
Merge pull request #10486 from lat9nq/vk-device-find-once
...
yuzu-qt: Load Vulkan device info at startup
2023-06-18 09:42:55 -04:00
liamwhite
66b8042b59
Merge pull request #10798 from vonchenplus/draw_texture_scale
...
video_core: drawtexture support upscale
2023-06-18 09:42:41 -04:00
liamwhite
8acf728d5d
Merge pull request #10809 from Kelebek1/reduce_vertex_bindings
...
Synchronize vertex buffer even when it doesn't require binding
2023-06-18 09:42:32 -04:00
GPUCode
ee0d68300e
renderer_vulkan: Add missing initializers
2023-06-18 14:14:03 +03:00
GPUCode
7b2f680468
renderer_vulkan: Use VMA for buffers
2023-06-18 12:45:18 +03:00
GPUCode
48e39756f1
renderer_vulkan: Use VMA for images
2023-06-18 12:45:18 +03:00
GPUCode
c60eed36b7
memory_allocator: Remove OpenGL interop
...
* Appears to be unused atm
2023-06-18 12:45:18 +03:00
lat9nq
6448eade2e
externals: Add vma and initialize it
...
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
bunnei
6e293be20b
Merge pull request #10797 from lat9nq/tzdb-patch
...
time: Various time zone fixes
2023-06-17 23:47:16 -07:00
lat9nq
8a526b2c26
vulkan_device: Remove external memory extension
...
Unused in yuzu. Enables yuzu to boot games in Wine using Vulkan.
2023-06-18 01:20:08 -04:00
Liam
565a1226d7
renderer_vulkan: add missing include
2023-06-17 23:57:47 -04:00
lat9nq
b99c4dd568
time_zone_service: Always write time zone rule data
...
Switch firmware will initialize this data even if the given parameters
are invalid. We should do the same.
2023-06-17 20:53:39 -04:00
Morph
c0fd793ef6
Merge pull request #10813 from lat9nq/no-atomic-bool
...
k_thread: Use a mutex and cond_var to sync bool
2023-06-17 20:29:57 -04:00
Fernando S
27a36cd51b
Merge pull request #10744 from Wollnashorn/af-for-all
...
video_core: Improved anisotropic filtering heuristics
2023-06-18 00:02:05 +02:00
Kelebek1
e681f5678c
Synchronize vertex buffer even when it doesn't require binding
2023-06-17 17:47:00 -04:00
lat9nq
e34e1b1c95
k_thread: Use a mutex and cond_var to sync bool
...
std::atomic<bool> is broken on MinGW and causes deadlocks there.
Use a normal cond var in its stead.
2023-06-17 15:25:36 -04:00
FengChen
76a676883a
video_core: add samples check when find render target
2023-06-17 23:48:51 +08:00
Wollnashorn
3e47ebe2e9
video_core: Only apply AF to 2D (array) image types
2023-06-17 14:20:44 +02:00
Wollnashorn
c309a1c69b
video_core: Removed AF for all mip modes option as it's default now
2023-06-17 11:19:39 +02:00
bunnei
ec423c6919
Merge pull request #10783 from liamwhite/memory
...
video_core: preallocate fewer IR blocks
2023-06-16 16:53:25 -07:00
bunnei
24e1e4dcee
Merge pull request #10808 from t895/settings-stuffs
...
android: Expose settings
2023-06-16 16:52:54 -07:00
bunnei
975122f4bb
Merge pull request #10807 from t895/ktlint-fixes
...
android: Ktlint fixes
2023-06-16 16:47:14 -07:00
liamwhite
a1adcc31d3
Merge pull request #10731 from german77/misc_fixes
...
service: nfc: Accuracy fixes
2023-06-16 18:18:24 -04:00
Liam
94e7cb05da
vfs_real: ensure size cache is reset on write
2023-06-16 16:43:14 -04:00
Charles Lombardo
9f92104f3e
android: Expose audio output engine setting
2023-06-16 16:42:56 -04:00
Charles Lombardo
330358cd16
android: Bump ktlint version to 0.47.1
2023-06-16 16:32:08 -04:00
Charles Lombardo
fc6a2fe779
android: Disable import-ordering ktlint check
2023-06-16 16:31:49 -04:00
Liam
bf47f777b1
patch_manager: remove unnecessary GetSize calls
2023-06-16 16:29:10 -04:00
Liam
734242c5bc
vfs_real: misc optimizations
2023-06-16 16:29:06 -04:00
Charles Lombardo
13a4de647d
android: Expose CPU debugging option
2023-06-16 16:25:06 -04:00
Charles Lombardo
3ac2c74e85
android: Expose fastmem option
2023-06-16 16:24:40 -04:00
Charles Lombardo
5aca03d0ff
android: Support changing multiple settings at once
2023-06-16 15:49:49 -04:00
Abandoned Cart
c89be0dfab
android: Fix aspect ratio when rotating screen
2023-06-16 10:11:18 -04:00
Feng Chen
b77a247e8c
video_core: drawtexture support upscale
2023-06-16 20:51:15 +08:00
Wollnashorn
2dc0ff79ec
video_core: Use sampler IDs instead pointers in the pipeline config
...
The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers
2023-06-16 13:45:14 +02:00
liamwhite
41295ff8fe
Merge pull request #10795 from german77/foomiibo
...
input_common: Add foomiibo support
2023-06-16 00:08:30 -04:00
lat9nq
8d8f850bd6
time_zone_manager: Compare to the correct boolean
...
Reference implementation does not compare the booleans as we had them.
Use the correct ones as in the reference.
Also adds an assert. I have been made aware of a crash here and am
not able to reproduce currently.
2023-06-15 23:05:41 -04:00
lat9nq
03e8d9aca7
nx_tzdb: Correct Antarctica spelling
2023-06-15 23:03:54 -04:00
Charles Lombardo
d0be850f25
android: Apply ktlint codestyle
2023-06-15 22:36:54 -04:00
Charles Lombardo
d85129aa17
Android: Use ktlint for Kotlin code style
2023-06-15 22:22:49 -04:00
Charles Lombardo
a29fa119e0
android: Enable android linting
2023-06-15 22:19:58 -04:00
bunnei
9a04793ae8
Merge pull request #10796 from bunnei/fix-saf
...
android: fs: Fix Exists / IsFile for SAF.
2023-06-15 18:39:14 -07:00
bunnei
0114abad9a
Merge pull request #10790 from liamwhite/arm-driver-moment
...
vulkan_device: disable extended_dynamic_state2 on ARM drivers
2023-06-15 18:34:31 -07:00
bunnei
ca1cb9fd19
Merge pull request #10775 from liamwhite/cb2
...
renderer_vulkan: propagate conditional barrier support
2023-06-15 17:37:03 -07:00
Narr the Reg
0c90a0926f
input_common: Add amiibo with originality signature support
2023-06-15 18:22:13 -06:00
bunnei
5384fa4998
android: fs: Fix Exists / IsFile for SAF.
2023-06-15 17:20:56 -07:00
bunnei
3c217a5574
Merge pull request #10639 from 8bitDream/pictureinpicture
...
android: Support for Picture in Picture / Portrait
2023-06-15 16:40:13 -07:00
Wollnashorn
a3b7b5b22a
video_core: Fallback to default anisotropy instead to 1x anisotropy
2023-06-15 23:16:26 +02:00
Wollnashorn
745d16132b
video_core: Disable AF for non-color image formats
2023-06-15 20:59:33 +02:00
Wollnashorn
3e8cd91d54
video_core: Fixed compilation errors because of name shadowing
2023-06-15 18:46:40 +02:00
Liam
3304d58edb
vulkan_device: disable extended_dynamic_state2 on ARM drivers
2023-06-15 12:29:54 -04:00
Wollnashorn
42c944b250
video_core: Add per-image anisotropy heuristics (format & mip count)
2023-06-15 18:19:32 +02:00
Liam
2c01669046
video_core: preallocate fewer IR blocks
2023-06-14 21:37:57 -04:00
bunnei
ce0510913a
Merge pull request #10729 from liamwhite/windows-is-a-meme
...
vfs_real: add file LRU cache for open file limits
2023-06-14 18:32:25 -07:00
Narr the Reg
61b4588517
service: nfc: Read tag protocol only for nfc backend
2023-06-14 18:16:23 -06:00
Narr the Reg
b1b13ddc6b
service: nfc: Accuracy fixes
2023-06-14 18:08:35 -06:00
Morph
702a2ac631
Merge pull request #10749 from Morph1984/strong-typing
...
buffer_cache_base: Specify buffer type in HostBindings
2023-06-14 18:03:11 -04:00
Abandoned Cart
0e957c2e35
android: Move overlays to their own layout
2023-06-14 16:43:24 -04:00
Abandoned Cart
e20c4fbbd4
android: Initialize defaults for each orientations
2023-06-14 16:35:58 -04:00
Abandoned Cart
f34535f362
android: Display FPS with emulation on hinge
2023-06-14 16:35:57 -04:00
Abandoned Cart
724823c193
android: Remove PiP reliance on fragment
2023-06-14 16:35:56 -04:00
Abandoned Cart
0b442b6dd2
android: Set layout by fragment, not view
2023-06-14 16:35:54 -04:00
Abandoned Cart
2b5dde162a
android: Add a separate foldable layout set
2023-06-14 16:34:23 -04:00
Abandoned Cart
fb28f9fd96
android: Set portrait default control params
2023-06-14 16:34:22 -04:00
Abandoned Cart
eb4026e3db
android: Actually implement portrait controls
2023-06-14 16:34:19 -04:00
Abandoned Cart
0ef93541b4
android: Enable automated portrait controls
2023-06-14 16:34:16 -04:00
Abandoned Cart
de9100ea81
android: Add Picture in Picture / Orientation
2023-06-14 16:34:14 -04:00
Charles Lombardo
b79c993328
android: Adapt EmulationActivity to navigation component
2023-06-14 14:55:25 -04:00
Liam
8d6aefdcc4
video_core: optionally skip barriers on feedback loops
2023-06-14 14:11:46 -04:00
Liam
cc4334870b
renderer_vulkan: propagate conditional barrier support
2023-06-14 10:49:40 -04:00
Wollnashorn
0de6b9e3f5
video_core: Apply AF only to samplers with normal LOD range [0, 1+x]
2023-06-14 13:27:27 +02:00
Wollnashorn
a9e4dddad5
video_core: Fix default anisotropic heuristic
2023-06-14 11:21:22 +02:00
Wollnashorn
44f616edb9
video_core: Never apply AF to None mipmap mode
...
Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option
2023-06-14 03:57:39 +02:00
Liam
ed7c4af915
vfs_real: require file existence on open
2023-06-13 17:22:47 -04:00
Liam
dbbe237668
vfs_real: add simplified open file cache
2023-06-13 17:16:14 -04:00
bunnei
698a3eda50
Merge pull request #10603 from lat9nq/tz-more-complete
...
core,common: Implement missing time zone data/computations
2023-06-13 13:28:45 -07:00
Charles Lombardo
190eed8199
Merge pull request #10760 from FearlessTobi/translations
...
android: Declare languages in locales_config.xml
2023-06-13 15:48:45 -04:00
Wollnashorn
b9bba3ac89
video_core: Disable anisotropic filtering for samplers with depth compare
2023-06-13 21:32:32 +02:00
FearlessTobi
00fe302e60
android: Declare languages in locales_config.xml
...
This is required to make per-app language swithcing possible on Android 13.
2023-06-13 20:26:45 +02:00
Charles Lombardo
0644c9d6cb
Merge pull request #10751 from german77/touch
...
android: Fix touch input
2023-06-13 14:01:02 -04:00
bunnei
14d25e2c75
Merge pull request #10747 from liamwhite/arm-interface-decouple
...
core: decouple ARM interface from Dynarmic
2023-06-13 09:45:09 -07:00
Liam
0e7eaaba5a
vfs_real: lazily open files
2023-06-13 10:37:34 -04:00
Liam
f25236a4d6
vfs_real: add file LRU cache for open file limits
2023-06-13 10:37:34 -04:00
german77
322ac1c20c
android: Fix touch input
2023-06-13 00:17:10 -06:00
Morph
925586f97b
buffer_cache_base: Specify buffer type in HostBindings
...
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2023-06-13 00:59:42 -04:00
bunnei
e2f6199225
Merge pull request #10746 from bunnei/update-android-settings
...
android: Update settings, remove unused translations
2023-06-12 21:15:26 -07:00
Liam
8506915208
core: decouple ARM interface from Dynarmic
2023-06-12 22:11:51 -04:00
Wollnashorn
0eacf547c0
video_core: Option to apply anisotropic filtering for all mipmap modes
2023-06-13 03:21:01 +02:00
liamwhite
e0de6dd63f
Merge pull request #10675 from liamwhite/scaler
...
image_info: adjust rescale thresholds and refactor constant use
2023-06-12 21:16:36 -04:00
bunnei
bcdd35e8be
android: settings: Disable force_max_clock by default.
2023-06-12 17:57:48 -07:00
bunnei
f8a33f85ef
android: settings: Add reactive flushing as a default-disabled setting.
2023-06-12 17:56:44 -07:00
bunnei
306ad012c8
android: res: Remove translated strings that no longer exist.
2023-06-12 17:45:02 -07:00
bunnei
f9197f4dae
Merge pull request #10743 from FearlessTobi/translations
...
android: Add translation files manually
2023-06-12 17:20:27 -07:00
bunnei
9bee930045
Merge pull request #10705 from german77/updates
...
android: Add update and DLC support
2023-06-12 17:03:44 -07:00
FearlessTobi
26cdd7d980
android: Add translation files manually
2023-06-13 01:00:23 +02:00
bunnei
5144ca8bb6
Merge pull request #10728 from t895/game-hash
...
android: Use autogenerated hash code function for Game class
2023-06-12 14:45:18 -07:00
bunnei
5a2e0d5b76
Merge pull request #10724 from t895/auto-version-property
...
android: Use autoVersion when gradle property is set
2023-06-12 13:12:32 -07:00
Matías Locatti
42b2bc204f
Merge pull request #10699 from liamwhite/conditional-barrier
...
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-12 16:50:59 -03:00
bunnei
ad8f122ab1
Merge pull request #10693 from liamwhite/f64-to-f32
...
shader_recompiler: translate f64 to f32 when unsupported on host
2023-06-12 12:46:54 -07:00
Narr the Reg
a338de7850
android: Add update support
2023-06-11 23:33:50 -06:00
Morph
333f792e10
Merge pull request #10718 from liamwhite/buffered-io
...
qt: use larger buffer for update install
2023-06-12 00:58:34 -04:00
Charles Lombardo
eb7ccf5249
android: Use autogenerated hash code function for Game class
2023-06-11 21:15:13 -04:00
Charles Lombardo
5751822e31
android: Use autoVersion when gradle property is set
2023-06-11 20:04:08 -04:00
Baptiste Marie
8e3d4e3396
input_common: Redesign mouse panning
2023-06-12 00:47:52 +02:00
bunnei
569f8d3b44
Merge pull request #10668 from Kelebek1/reduce_vertex_bindings
...
Combine vertex/transform feedback buffer binding into a single call
2023-06-11 11:33:48 -07:00
bunnei
f4c383392d
Merge pull request #10713 from t895/gradle-updates
...
android: Gradle updates
2023-06-11 11:31:03 -07:00
Liam
b1081329b9
qt: use larger buffer for update install
2023-06-11 11:43:04 -04:00
Charles Lombardo
92d49ad652
android: Update dependencies
2023-06-11 02:17:29 -04:00
Charles Lombardo
f23a2b514b
android: Differentiate build types with new names
...
Change the applicationIdSuffix and app launcher title based on build type
2023-06-11 02:16:45 -04:00
Charles Lombardo
37e135d74d
Android: Remove unused relWithVersionCode build type
2023-06-11 02:15:28 -04:00
Charles Lombardo
16fe64ad0c
android: Use ContentResolver to get file extension
...
Fixes an issue where we try to resolve file extension from URIs. Sometimes the URI will not contain the file name at all and instead a string of numbers. Here we query the content resolver and guarantee that we get a file name every time.
2023-06-11 01:41:58 -04:00
bunnei
ea716eb5cc
android: Fix screen orientation & blurriness.
2023-06-10 15:13:06 -07:00
bunnei
6b898c6d69
Merge pull request #10670 from liamwhite/fxaa2
...
vk_blit_screen: use higher bit depth for fxaa
2023-06-10 14:35:23 -07:00
Liam
2f1e87dd83
shader_recompiler: translate f64 to f32 when unsupported on host
2023-06-10 12:38:49 -04:00
Liam
2bb7ea436d
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-10 12:30:39 -04:00
Morph
fa5dfcb712
Merge pull request #10685 from liamwhite/serialization-is-hard
...
qt: persist framerate sync option
2023-06-10 12:28:00 -04:00
bunnei
f759ff3a5c
Merge pull request #10691 from t895/nro-check
...
android: Add proper homebrew check
2023-06-09 23:59:51 -07:00
Charles Lombardo
72d9dc9a3f
android: Add proper homebrew check
2023-06-09 20:17:51 -04:00
Charles Lombardo
3cce51d25b
android: Fix input overlay version check
2023-06-09 15:15:57 -04:00
liamwhite
4d395b3b72
Merge pull request #10614 from xcfrg/shader-backend-status-bar
...
yuzu: add opengl shader backend info in status bar
2023-06-09 09:46:11 -04:00
Liam
5a0d4e1d38
qt: persist framerate sync option
2023-06-09 09:40:34 -04:00
liamwhite
b3e2c9f9f1
Merge pull request #10623 from german77/backup
...
service: nfc: Add backup support
2023-06-08 21:54:12 -04:00
liamwhite
2a1acbfb4d
Merge pull request #10666 from liamwhite/my-framerate-is-fine
...
nvnflinger: allow locking framerate during video playback
2023-06-08 21:53:57 -04:00
liamwhite
a57150afbd
Merge pull request #10676 from bunnei/fix-mi-5-android
...
android: EmulationActivity: Fix orientation on Mi Pad 5.
2023-06-08 21:53:51 -04:00
bunnei
064bad6ddf
android: EmulationActivity: Fix orientation on Mi Pad 5.
2023-06-08 17:20:13 -07:00
Tokarev Artem
007c3fa7df
Fix potentially uninitialized local variable warning
2023-06-09 05:12:22 +05:00
Liam
05b66877d1
image_info: adjust rescale thresholds and refactor constant use
2023-06-08 17:46:40 -04:00
Liam
74671186bf
vk_blit_screen: use higher bit depth for fxaa
2023-06-08 11:27:57 -04:00
Kelebek1
ace6c2318b
Combine vertex/transform feedback buffer binding into a single call
2023-06-08 12:13:27 +01:00
Liam
6c34adb1de
nvnflinger: allow locking framerate during video playback
2023-06-08 01:15:51 -04:00
Morph
3e6d81a008
nvdisp: Fix SingleCore frametime reporting
2023-06-07 22:04:02 -04:00
Morph
2e1e725443
core_timing: Fix SingleCore cycle timer
2023-06-07 21:44:42 -04:00
Morph
907507886d
(wall, native)_clock: Add GetGPUTick
...
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
2023-06-07 21:44:42 -04:00
Morph
9dcc7bde8b
time: Use compile time division for TimeSpanType conversion
2023-06-07 21:44:42 -04:00
Morph
8e56a84566
core_timing: Use CNTPCT as the guest CPU tick
...
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-07 21:44:42 -04:00
Morph
bbd502f67a
nvnflinger: Acquire lock prior to signaling the vsync variable
2023-06-07 21:44:42 -04:00
Morph
1492a65454
(wall, native)_clock: Rework NativeClock
2023-06-07 21:44:42 -04:00
Morph
dd12dd4c67
x64: Deduplicate RDTSC usage
2023-06-07 21:44:42 -04:00
bunnei
9c6fc44a59
Merge pull request #10650 from qurious-pixel/android_tv
...
Android TV banner
2023-06-07 16:32:25 -07:00
qurious-pixel
45f80f2b06
remove version code declaration
2023-06-07 13:27:51 -07:00
liamwhite
86cbd867d2
Merge pull request #10655 from Morph1984/msvc-cxx20
...
CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
2023-06-07 14:04:25 -04:00
liamwhite
5c79a07a36
Merge pull request #10635 from mrcmunir/l4t-tx1-nvidia
...
Make VK_EXT_robustness2 optional
2023-06-07 14:04:14 -04:00
liamwhite
cfb76d8f3e
Merge pull request #10476 from ameerj/gl-memory-maps
...
OpenGL: Make use of persistent buffer maps in buffer cache
2023-06-07 14:03:57 -04:00
liamwhite
6907d30258
Merge pull request #10583 from ameerj/ill-logic
...
AccelerateDMA: Fix incorrect check in Buffer<->Texture copies
2023-06-07 14:03:40 -04:00
liamwhite
219bd90152
Merge pull request #10591 from keve1227/localized-game-icons
...
Localize game icons
2023-06-07 14:03:28 -04:00
Morph
f62f43c0da
CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
...
The latest version of MSVC STL brings C++23 standard library modules, which conflict with precompiled headers.
Disabling with /experimental:module- has no effect, so force C++20 in the meantime while we wait for module support in other compilers.
2023-06-06 20:20:09 -04:00
german77
107aa52cdb
service: nfc: Add backup support
2023-06-06 17:06:21 -06:00
Live session user
9611a9e220
Android TV banner
2023-06-06 11:32:25 -07:00
Narr the Reg
4d61319307
android: Set version code
2023-06-06 12:14:38 -06:00
Carlos Estrague / Mrc_munir
b854981917
Updated to lexicographical order suggestions
2023-06-06 19:33:52 +02:00
Abandoned Cart
0968e315f4
android: Improve Gradle build configuration
2023-06-06 12:46:21 -04:00
lat9nq
013c34cb32
vk_device_info: Clean up includes [IWYU]
2023-06-06 01:54:44 -04:00
lat9nq
f9fc996083
vk_device_info: Add SPDX data
2023-06-06 01:54:44 -04:00
lat9nq
fc0c4db20d
yuzu-qt: Load Vulkan device info at startup
...
Loading it when the configuration opens now incurs a noticeable delay.
We also don't need to rediscover the same data repeatedly each time the
configuration opens.
Moves vulkan device info discovery to yuzu's startup as opposed to the
configure_graphics constructor.
2023-06-06 01:54:44 -04:00
bunnei
069d7e6be4
android: audio_core: sink_stream: Remove unnecessary check.
2023-06-05 21:47:36 -07:00
bunnei
cb95d7fe1b
Merge pull request #10508 from yuzu-emu/lime
...
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
Carlos Estrague / Mrc_munir
19d05bd4d7
Make VK_EXT_robustness2 optional
...
For some reason nvidia implemented Vulkan 1.2 supported without support for VK_EXT_robustness2 in tegra X1/X2 .
Fix vulkan work in TX1/TX2 L4T drivers .
2023-06-06 06:32:47 +02:00
bunnei
036996429e
Merge pull request #10633 from t895/variable-surface-ratio
...
android: Use a custom view for changing emulation aspect ratio
2023-06-05 20:27:58 -07:00
bunnei
dc2a0b2e50
Merge pull request #10578 from PabloG02/lime-firmware&logs
...
Add UI to import firmware and share logs
2023-06-05 17:41:19 -07:00
bunnei
e1078ec0f4
android: HomeSettingsFragment: Use string resource for "Share log".
2023-06-05 17:40:43 -07:00
Charles Lombardo
c8b91b3a89
android: Use a custom view for changing emulation aspect ratio
...
Credit to the Skyline team for the FixedRatioSurfaceView.
2023-06-05 20:24:36 -04:00
bunnei
db7b106f1d
Merge pull request #10611 from liamwhite/audio-deadlock
...
audio_renderer: resolve adsp thread deadlock shutdown
2023-06-05 17:15:19 -07:00
bunnei
71766f3269
Merge pull request #10618 from t895/licenses
...
android: Add licenses page
2023-06-05 17:14:15 -07:00
PabloG02
409ff26f02
Address feedback
2023-06-06 00:07:54 +02:00
lat9nq
8f9afbcd91
tz_manager: Fix comparison to wrong integer
2023-06-05 15:15:23 -04:00
lat9nq
3218313c22
tz_manager: Implement missing transition times
...
time_zone_manager: Use s64 storage
2023-06-05 15:15:23 -04:00
lat9nq
78a47f1ee8
tz_manager: Warn on unimplemented code
2023-06-05 15:15:23 -04:00
lat9nq
dea61f5d00
tz_manager: Fix character offset not advancing
2023-06-05 15:15:23 -04:00
lat9nq
63c51abe42
tz_manager: Fix off-by-one error
2023-06-05 15:15:23 -04:00
lat9nq
de1fe66d81
time_zone: Handle offset time zones
...
time_zone: Remove maybe_unused
time_zone: Use s64 storages
time_zone: Catch by reference
2023-06-05 15:15:23 -04:00
lat9nq
84642bdd3f
time_zone_binary: Add zoneinfo data
...
Adds the basic time zone data for the system archive.
time_zone_binary: Implement full system archive
time_zone_binary: Remove unneeded template
tz_binary: Make GenerateFiles static
2023-06-05 15:15:23 -04:00
Narr the Reg
a40e0fdf9e
time: Implement missing services
...
Implements GetTotalLocationNameCount LoadLocationNameList and
GetTimeZoneRuleVersion.
tz-manager: Fix sign issue
2023-06-05 15:15:11 -04:00
lat9nq
8d52dc163a
time_zone_manager: Implement go_ahead/go_back
2023-06-05 15:15:11 -04:00
lat9nq
5d9dd88387
tz_content_manager: Try the system time zone first
...
If we can't find the normal time zone string, try searching for the
closest one.
2023-06-05 15:15:11 -04:00
lat9nq
3979c7daa4
common: Move system time zone string detection
...
Moves it from Settings to Common::TimeZone, since this algorithm doesn't
depend on the setting. It also lets us use it in other libraries.
common: Various fixes
time_zone: Don't double up the std::abs
Too many absolute values were causing mirrored time zones to resolve
as the same.
2023-06-05 15:15:11 -04:00
lat9nq
011438fa95
configure_system: Remove external offset on custom rtc
2023-06-05 15:15:11 -04:00
lat9nq
a39b9134db
time: Remove auto timezone consideration
...
GetTimeZoneString no longer reports a setting unique to yuzu, so we
can assume a valid timezone string in core.
2023-06-05 15:15:11 -04:00
lat9nq
3e68a284ae
settings: Always report a valid time zone
...
Prevents needing to deduce the non-Switch setting in core. Instead, we
deduce the meaning of this setting where the heresy is committed, in
common.
settings: Remove strftime usage
GetTimeZoneString: Use standard features
Also forces GMT on MinGW due to broken strftime.
2023-06-05 15:15:11 -04:00
lat9nq
9e2164be74
time_manager: Don't offset RTC by system time zone
...
This causes the emulated system's universal time to be on the user's clock, and the user time to
be off if they set a time zone.
time_manager: Remove GetExternalRtcTime
2023-06-05 15:15:11 -04:00
lat9nq
c378cbbc2d
tz_content_manager: Detect system time zone
...
Uses C++20 tzdb to determine the system timezone. The switch uses the
597 posix time zones, so this needs tests if the system time zone isn't
posix-compliant.
2023-06-05 15:15:11 -04:00
Charles Lombardo
cba5865afe
android: Create licenses page
2023-06-05 14:34:23 -04:00
bunnei
2f7658bd75
Merge pull request #10613 from t895/settings-changes
...
android: String and settings organization changes
2023-06-04 19:17:42 -07:00
Charles Lombardo
5e58af0616
android: Move settings to debug submenu
2023-06-04 19:53:27 -04:00
Charles Lombardo
0078f97227
android: Load settings at the start of each activity
2023-06-04 19:37:10 -04:00
xcfrg
a64ad8315f
yuzu: add opengl shader backend info in status bar
2023-06-04 17:24:30 -04:00
bunnei
e6fce1cbbd
Merge pull request #10594 from liamwhite/double-patch
...
fsp-srv: avoid patching romfs multiple times
2023-06-04 13:24:47 -07:00
PabloG02
3733187c14
Attempt to move the unzip coroutine to a ViewModel
2023-06-04 20:52:12 +02:00
PabloG02
72597b8ffe
android: update strings
2023-06-04 20:52:12 +02:00
PabloG02
8713c442e9
android: add option to share log
2023-06-04 20:52:12 +02:00
PabloG02
5435f0be5e
android: add option to install firmware
2023-06-04 20:52:12 +02:00
PabloG02
19674ec78d
android: move unzip function to FileUtil and use SecurityException
2023-06-04 20:50:00 +02:00
Charles Lombardo
5de8c5b5c7
android: Several string changes
2023-06-04 13:30:56 -04:00
Liam
e96a3a1713
audio_renderer: resolve adsp thread deadlock shutdown
2023-06-04 13:00:10 -04:00
bunnei
125a0e5a07
Merge pull request #10588 from liamwhite/vfs-cached
...
vfs: add vfs_cached for romfs build
2023-06-03 23:23:45 -07:00
Abandoned Cart
00a391ce10
android: Resolve a couple Gradle warnings
2023-06-04 02:06:38 -04:00
Abandoned Cart
cfa8bec5b9
android: Add support for split foldable view
2023-06-03 22:57:28 -04:00
Kevin Sundqvist Norlén
a2cfe3749a
Fix typo
...
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2023-06-03 21:31:44 +02:00
Abandoned Cart
b394a6b937
android: Replace deprecated and Java code
2023-06-03 15:16:25 -04:00
Liam
a75bc759fe
fsp-srv: avoid patching romfs multiple times
2023-06-03 14:27:08 -04:00
Keve1227
a0f235f4fd
Update Chinese NX language names
...
... as per the TLoZ: TotK icon files. Would this conflict with older games?
2023-06-03 17:23:14 +02:00
Keve1227
27313fe576
Issue a reload if the system language changed
2023-06-03 17:17:03 +02:00
Keve1227
d0aa63069f
Pick game icon based on the configured system language
2023-06-03 17:13:24 +02:00
Liam
6e23c84669
romfs: use vfs_cached for romfs output
2023-06-03 08:56:59 -04:00
Liam
790f91fcc5
vfs: add vfs_cached for romfs build
2023-06-03 08:50:54 -04:00
Charles Lombardo
a789046127
android: Fix crash on importing invalid save
2023-06-03 00:06:08 -07:00
bunnei
db6737f2ba
android: vk_presentation_manager: Fix unusued needs_recreation.
2023-06-03 00:06:08 -07:00
Charles Lombardo
f94eb320ff
android: Rename "Input Overlay" to "Overlay Options"
2023-06-03 00:06:08 -07:00
Charles Lombardo
c927a30d09
android: Adjust import/export saves dialog
2023-06-03 00:06:08 -07:00
Charles Lombardo
20abd49a21
android: Warning dialogs for key errors
2023-06-03 00:06:08 -07:00
bunnei
df70fdc95b
android: vk_turbo_mode: Remove unnecessary device recreation.
...
- Fixes a rare crash.
2023-06-03 00:06:08 -07:00
bunnei
4ac9778652
android: EmulationFragment: Remove unnecessary surface destroy on pause.
2023-06-03 00:06:08 -07:00
bunnei
098e2c4077
android: renderer_vulkan: Fix crash with surface recreation.
2023-06-03 00:06:07 -07:00
bunnei
057117f009
android: Fix presentation layout on foldable and tablet devices.
2023-06-03 00:06:07 -07:00
Charles Lombardo
ca4b07a2d7
android: Enable overlay scale/opacity dialog
2023-06-03 00:06:07 -07:00
PabloG02
1957b7e6cc
Add image to card_game.xml to preview in the Layout Editor
2023-06-03 00:06:07 -07:00
PabloG02
a7e0a0d5b1
Save the position of buttons as a percentage
2023-06-03 00:06:07 -07:00
Charles Lombardo
8e8627a258
android: Don't crash the app when selecting a zip that causes a SecurityException
2023-06-03 00:06:07 -07:00
bunnei
eb4ab9bc58
input_common: Fix virtual amiibos
2023-06-03 00:06:06 -07:00
bunnei
40e938376b
android: audio_core: Avoid shutdown hang.
2023-06-03 00:06:06 -07:00
bunnei
9ca8687b5f
android: ForegroundService: Handle null intent.
2023-06-03 00:06:06 -07:00
bunnei
17ae85e724
android: ImportExportSavesFragment: Cleanup strings.
2023-06-03 00:06:06 -07:00
bunnei
b325ad16bc
Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt
2023-06-03 00:06:06 -07:00
PabloG02
4010764279
Remove ?.
2023-06-03 00:06:06 -07:00
PabloG02
9650c1d02d
Check if folder exists before letting the user import/export saves
2023-06-03 00:06:06 -07:00
PabloG02
33d36ded28
Add save import/export in UI
2023-06-03 00:06:06 -07:00
Charles Lombardo
ad9c2356a8
android: Fix FPS text getting cut off by rounded display corners
2023-06-03 00:06:05 -07:00
Charles Lombardo
fdd200d33f
android: Prevent deleting the settings file while a game is running
2023-06-03 00:06:05 -07:00
Charles Lombardo
4e87a01db6
android: Fix link text color for base theme dialog
2023-06-03 00:06:05 -07:00
bunnei
ee8caac82f
android: Various fixes for CI.
2023-06-03 00:06:05 -07:00
bunnei
17b5ed9baf
android: externals: Update libadrenotools, use useLegacyPackaging.
2023-06-03 00:06:05 -07:00
Charles Lombardo
0f9c5b8d6a
android: Re-enable service notification
2023-06-03 00:06:05 -07:00
Charles Lombardo
09747ca2d3
android: Ensure keys are loaded before populating games list
2023-06-03 00:06:05 -07:00
Charles Lombardo
897b748895
android: Use dialog fragment for the reset settings dialog
2023-06-03 00:06:05 -07:00
Charles Lombardo
9c1d42342d
android: Upgrade AGP to 8.0.2
2023-06-03 00:06:04 -07:00
Charles Lombardo
7de86266fd
android: Show notification permission page during setup
2023-06-03 00:06:04 -07:00
Charles Lombardo
419daf770d
android: DIsable FPS counter by default
2023-06-03 00:06:04 -07:00
Charles Lombardo
bfb4e3bcaa
android: Improve searches with one character
...
The Jaccard algorithm is great for searches with 2 or more characters but nothing is returned for searches with one character. To get around this, just search with JaroWinkler for single character searches.
2023-06-03 00:06:04 -07:00
Charles Lombardo
0cbae33790
android: Stop building x86 packages in APKs
...
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03 00:06:04 -07:00
Charles Lombardo
d49eb7faad
android: Add FPS toggle
2023-06-03 00:06:04 -07:00
Charles Lombardo
8426e97f45
android: Clean up app build.gradle
...
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03 00:06:04 -07:00
bunnei
cf9f4f67dd
video_core: vk_rasterizer: Decrease draw dispatch count for Android.
2023-06-03 00:06:04 -07:00
bunnei
b4725332a2
android: config: Expose VSync as a configurable setting.
2023-06-03 00:06:04 -07:00
bunnei
f0ed20c8a2
android: GPU: Enable async presentation, increase frames in flight.
2023-06-03 00:06:03 -07:00
Charles Lombardo
116e2b5f02
android: Enable onBackInvokedCallback
...
For now this enables the ability to see the new Android 13 back gesture animations but later we can create custom animations that follow the back gesture.
2023-06-03 00:06:03 -07:00
Charles Lombardo
7812de4ade
android: Remove deprecated use of onBackPressed()
2023-06-03 00:06:03 -07:00