Commit Graph

23840 Commits

Author SHA1 Message Date
Narr the Reg dd1cbd9c56 service: am: Fix wrong interface 2023-08-02 13:00:30 -06:00
liamwhite 096644c01c Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2023-08-02 14:26:03 -04:00
liamwhite fca7d975fd Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
lat9nq 32b4d63a5b config(qt): Fix name of network category
Turns out the network interface is in the Services category. Can't wait
get rid of this whole config.

Addresses yuzu-emu/yuzu/issues/11205
2023-08-02 12:21:43 -04:00
lat9nq 09e265c116 config(qt): Use qt_config directly to read config
ReadSetting with the default is a convenience function reading
settings,  not for use in an internal environment. It tries to manage
the default value of a setting.
2023-08-02 12:20:19 -04:00
Liam d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2023-08-01 20:46:05 -04:00
Alexandre Bouvier 9d6f8e88b2 vulkan: centralize config 2023-08-02 00:05:14 +02:00
Morph d31676935e vulkan_device: Test depth stencil blit support by format 2023-07-31 19:14:20 -04:00
Morph 9bca45aa15 audren_u: Fix parameter alignment
The reduction in size from 0x38 to 0x34 caused the parameter to be misaligned. Skipping 1 word fixes this.
2023-07-31 18:40:16 -04:00
liamwhite 2a9eab5e1b Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2023-07-31 15:28:35 -04:00
liamwhite 083fb8a15f Merge pull request #11181 from Kelebek1/audrenparaminternal
Fix AudioRendererParameterInternal's size
2023-07-31 15:28:24 -04:00
liamwhite 06fa13a014 Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2023-07-31 09:11:19 -04:00
liamwhite 1ed6e3e51d Merge pull request #11173 from Morph1984/atleast_nanosecond_precision
wall_clock: Increase precision requirements
2023-07-31 09:11:11 -04:00
liamwhite e2623d64de Merge pull request #11186 from lat9nq/tz-gen-once
tz_content_man: Generate the time zone binary once
2023-07-31 09:11:01 -04:00
Alexandre Bouvier ed3f9bab11 vma: enable options everywhere 2023-07-31 13:01:21 +02:00
Moonlacer deafa92122 Formatting fix 2023-07-30 23:02:07 -05:00
Moonlacer c6458970ad Match log warning 2023-07-30 22:50:22 -05:00
lat9nq eaf2ab5289 tz_content_man: Generate the time zone binary once
Fixes a memory leak with time zone binaries accumulating on theirselves.
2023-07-30 12:55:19 -04:00
lat9nq 7aa848080d shared_widget: Only save global settings as needed
Fixes a potential but not reproduced issue where the custom config
is being applied to the global config.
2023-07-30 12:26:55 -04:00
lat9nq 55c0b55d1d config(qt): Write the UiGeneral category 2023-07-30 12:09:32 -04:00
Moonlacer a4a106bb25 Formatting fix 2023-07-30 04:29:51 -05:00
Moonlacer f4e5d07619 Address feedback and change log warning 2023-07-30 04:01:29 -05:00
Kelebek1 70f37be9b9 Fix AudioRendererParameterInternal's size 2023-07-30 06:50:59 +01:00
Moonlacer 36d48cef50 Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2023-07-30 00:21:51 -05:00
lat9nq d90c622549 Merge branch 'pgc-plus' of github.com:lat9nq/yuzu into pgc-plus 2023-07-29 13:23:14 -04:00
lat9nq 05c8063ac1 config(qt): Fix generic read setting
Previously was not respecting whether the setting was default.
2023-07-29 13:23:06 -04:00
liamwhite 689dc4a17b Merge pull request #11155 from liamwhite/memory3
memory: check page against address space size
2023-07-28 09:29:21 -04:00
liamwhite 9352a0f2e6 Merge pull request #11156 from 8bitDream/localize
android: Only label language with language
2023-07-28 09:29:11 -04:00
Morph bb4e676155 wall_clock: Increase precision requirements
We are providing a conversion to nanoseconds in NativeClock, which is more precise than the GPU tick.
2023-07-27 18:40:56 -04:00
GPUCode 8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2023-07-27 18:08:56 +03:00
Morph 26658c2e93 vulkan_device: Return true if either depth/stencil format supports blit
On devices that don't support D24S8 but supports D32S8, this should still return true if D32S8 supports src and dst blit
2023-07-26 20:21:37 -04:00
Moonlacer 4007142b91 Revert "Blacklist EDS3 blending from new AMD drivers" 2023-07-26 15:02:48 -05:00
liamwhite a1c355051e Merge pull request #11128 from german77/discord
yuzu: Replace httplib with QtNetworkRequest
2023-07-26 11:04:57 -04:00
liamwhite d3da1e6517 Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
liamwhite 6ffcc3d5d2 Merge pull request #11142 from german77/avoid_crash
yuzu: Avoid reading broken games
2023-07-26 10:33:14 -04:00
Morph 01b379fe20 Address feedback 2023-07-26 00:41:24 -04:00
lat9nq 195403c87c (ui)settings: Add more runtime_modifiable settings 2023-07-25 23:14:13 -04:00
lat9nq 1bc0b673aa backend: Remove usage of explicit operator overload
Causes a crash on MSVC from a race condition on application quit.

Intended to address yuzu-emu/yuzu/issues/11137
2023-07-25 22:53:58 -04:00
lat9nq 397333b2d5 settings: Correct Linkage member impl location 2023-07-25 15:57:55 -04:00
flodavid b881949b6d yuzu: Enable controller interaction in Controller Applet 2023-07-25 19:03:12 +02:00
Abandoned Cart e2ea46f6ef android: Only label language with language 2023-07-25 10:38:30 -04:00
Liam 07f71e2620 memory: check page against address space size 2023-07-25 09:51:06 -04:00
Morph 7ad3e3c7bb bit_field: Left/right shifts are well defined in C++20 2023-07-24 17:37:07 -04:00
Morph 334567d33b common: Introduce macro-based BitField
The current BitField implementation requires the use of the union, which makes it both non-constexpr (due to accessing inactive union members), and prevents the usage of smaller types and enums, reducing its flexibility.

Furthermore, BitField is not trivially copyable (and by extension, not trivial).

Moreover, it is not well documented that BitField performs automatic sign extension on signed integers, as a recent PR made an assumption that these signed integers were zero extended.

These considerations resulted in this new BitField implementation, which uses macros to generate functions for accessing / setting bitfield values.

2 macros are provided:

`YUZU_RO_BITFIELD` for read-only BitFields, which generates a member function that directly returns the specified type.

`YUZU_BITFIELD`, which generates a member function that returns a `BitFieldHelper` class which allows setting the value using `operator=` or `Set()`, and performs implicit conversion to the specified type.

Types:

The following type tags are added:

Automatic type deduction:
AutoUInt, AutoSignExtSInt, AutoZeroExtSInt, AutoFloat

Automatic type deduction selects the smallest type that contains at least the specified NumBits bits.
However, in testing, MSVC is pretty bad at optimizing smaller-than-32-bit accesses, so it may be advisable to specify 32 bit types in performance sensitive code.

Signed Integers:
SignExtSInt<>, ZeroExtSInt<>

The new SignExtSInt and ZeroExtSInt are mandatory type tags for signed integers to explicitly specify whether to sign extend (preserving the sign and value) or zero extend the bitfield value.

These changes have sacrificed compatibility with `_be` types. This is a worthwhile sacrifice as we do not have usages of these types in BitField.

Example usage:

```cpp
struct MyTestStruct {
    u32 raw;

    YUZU_RO_BITFIELD(0, 3, AutoUInt, field0);
    YUZU_BITFIELD(3, 4, AutoSignExtSInt, field1);
    YUZU_BITFIELD(7, 5, ZeroExtSInt<s16>, field2);
    YUZU_RO_BITFIELD(12, 1, bool, flag0);
};

MyTestStruct s{0x1234567};
s.field1() = -1;
s.field2() = -2;
fmt::print("field0={}, field1={}, field2={}, flag0={}", s.field0(), s.field1(), s.field2(), s.flag0());
```
2023-07-24 17:37:07 -04:00
lat9nq b1716a9e14 settings: Set GPU as default ASTC decoder 2023-07-24 16:28:13 -04:00
liamwhite 18000df5e9 Merge pull request #11095 from liamwhite/memory2
memory: cleanup
2023-07-24 13:47:11 -04:00
liamwhite bb0edb53ae Merge pull request #11135 from liamwhite/getaddrinfo
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-24 13:47:02 -04:00
german77 a0ed0e4e10 yuzu: Avoid reading broken games 2023-07-24 08:59:14 -06:00
lat9nq ab2921121e shared_widget: Determine default request earlier
Fixes a bug where a restore button could be created for an unmanaged
widget.
2023-07-23 17:08:25 -04:00
lat9nq f84e7b4656 settings_common: Document specializations 2023-07-23 16:21:08 -04:00