bunnei
944d9186ca
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
158c5845ab
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
0fdf1d2a60
common: tree: Various updates.
2022-03-14 18:14:53 -07:00
bunnei
69c2faeb6a
common: intrusive_red_black_tree: Various updates.
2022-03-14 18:14:53 -07:00
Liam
52895fab67
shader: add support for const buffer indirect addressing
2022-03-14 19:43:32 -04:00
ameerj
5119a57614
maxwell_3d: Implement a safer CB data upload
...
This makes constant buffer uploads safer and more accurate by updating the GPU memory as soon as the CB Data method is invoked. The previous implementation was deferring the updates until a different maxwell 3d method was detected, then writing all CB data at once.
2022-03-14 19:18:36 -04:00
Fernando S
cd07a43724
Merge pull request #8008 from ameerj/rescale-offsets-array
...
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
2022-03-15 00:08:22 +01:00
Fernando S
f9e1f559b1
Merge pull request #8000 from liamwhite/hagi
...
Initial support for Wii Hagi emulator
2022-03-15 00:08:05 +01:00
bunnei
cc285b9924
Merge pull request #8015 from FernandoS27/fix-global-mem
...
Shader decompiler: Fix storage tracking in deko3d.
2022-03-14 16:03:23 -07:00
byte[]
be0e6a2bb4
Maxwell3D: Link to override constant definition in nouveau
2022-03-14 11:06:25 -04:00
Fernando S
0331b8d799
Merge pull request #8016 from merryhime/kill-mem-use
...
dynarmic: Reduce size of code caches
2022-03-14 16:04:46 +01:00
byte[]
364c67e49b
Maxwell3D: restore original topology when topology overrides are disabled
2022-03-14 11:00:08 -04:00
Liam
37aa472269
Maxwell3D: Use override constants from nouveau
...
This fixes some incorrect rendering in Sunshine
2022-03-14 10:11:58 -04:00
Merry
220674d0d6
dynarmic: Reduce size of code caches
2022-03-13 22:17:14 +00:00
Fernando Sahmkow
185fc03c3c
Shader decompiler: do constant propgation before texture pass.
2022-03-13 21:49:40 +01:00
Fernando Sahmkow
ec9f0f064e
Shader decompiler: Fix storage tracking in deko3d.
2022-03-13 17:41:16 +01:00
bunnei
8decc8d1a5
Merge pull request #8007 from ameerj/vs-2022-errors
...
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-13 03:43:06 -07:00
merry
1f6bbb6257
Merge pull request #8009 from ameerj/dynarmic-exclusives-config
...
config: Write dynarmic exclusive memory configs
2022-03-13 07:42:38 +00:00
ameerj
6b164a80a1
config: Write dynarmic exclusive memory configs
...
Ensures the configs are written and saved between boots
2022-03-12 03:42:50 -05:00
ameerj
f87f8d4610
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
...
ImageFetch offsets for 2D array coordinates have a different composite size than the coordinates. The rescaling pass was not taking this into account.
Fixes broken shaders when scaling is enabled in Astral Chain, and likely other titles.
2022-03-12 03:31:56 -05:00
ameerj
e8c50e709e
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-12 02:54:33 -05:00
BytesGalore
948f6e1112
build(cmake): fix missing Qt5::DBus link target for bundled linux package
2022-03-12 08:40:33 +01:00
bunnei
27cc7b6a73
Merge pull request #7997 from Wunkolo/cpu_detect_more
...
cpu_detect: Add additional x86 flags and telemetry
2022-03-11 17:26:41 -08:00
Liam
56c646d82c
Maxwell3D: Restrict topology override effect to after the register is set
2022-03-11 19:42:12 -05:00
bunnei
5c74dd6462
Merge pull request #8003 from yuzu-emu/revert-7982-fix_cmake_missing_qt5_dbus
...
Revert "build(cmake): fix missing Qt5::DBus target on linux"
2022-03-11 15:22:30 -08:00
bunnei
15fdc2cd09
Revert "build(cmake): fix missing Qt5::DBus target on linux"
2022-03-11 15:22:24 -08:00
Wunkolo
d248c1203e
cpu_detect: Add additional x86 flags and telemetry
...
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output.
This is not exhaustive but guided by features that [dynarmic utilizes](bcfe377aaa/src/dynarmic/backend/x64/host_feature.h (L12-L33)
) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations.
AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions ) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI ) are added to have some forward-facing data-points.
What used to be a single `CPU_Extension_x64_AVX512` telemetry field
is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
2022-03-11 10:27:00 -08:00
Wunkolo
29a7a61806
common/telemetry: Update `AddField` name type to `string_view`
...
Non-owning `string_view` is flexable and
avoids some of the many redundant copies made over `std::string`
2022-03-11 10:26:59 -08:00
Liam
70e632f153
Maxwell3D: mark index buffers as dirty after updating counts
2022-03-11 08:51:22 -05:00
bunnei
8180b262fc
Merge pull request #7982 from BytesGalore/fix_cmake_missing_qt5_dbus
...
build(cmake): fix missing Qt5::DBus target on linux
2022-03-10 23:12:33 -08:00
Liam
82c3042c0f
TextureCacheRuntime: allow converting D24S8 to ABGR8
...
I can't see how this would be useful, but Galaxy uses it.
2022-03-10 20:25:34 -05:00
Liam
f1521183f8
Maxwell3D: read small-index draw and primitive topology override registers
...
This allows Galaxy and Sunshine to render for the first time.
2022-03-10 19:21:04 -05:00
Mai M
e200161982
Merge pull request #7999 from merryhime/fix-7992
...
backend: Ensure backend_thread is destructed before message_queue
2022-03-10 08:07:41 -05:00
Merry
22f50c6bc1
backend: Ensure backend_thread is destructed before message_queue
...
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2022-03-10 10:49:15 +00:00
Morph
52f8f00434
Merge pull request #7998 from Wunkolo/cpuid_array
...
cpu_detect: Revert `__cpuid{ex}` array-type argument
2022-03-10 00:09:36 -05:00
Wunkolo
d9b1199ffb
cpu_detect: Revert `__cpuid{ex}` array-type argument
...
Restores compatibility with MSVC's `__cpuid` intrinsic.
2022-03-09 19:50:01 -08:00
bunnei
9a97ef4647
Merge pull request #7936 from Wunkolo/cpu_detect
...
cpu_detect: Refactor detection of processor features
2022-03-09 15:34:42 -08:00
Wunkolo
873a9fa7e5
cpu_detect: Add missing `lzcnt` detection
2022-03-09 13:57:47 -08:00
Wunkolo
ec5f3351b6
cpu_detect: Refactor cpu/manufacturer identification
...
Set the zero-enum value to Unknown
Move the Manufacterer enum into the CPUCaps structure namespace
Add "ParseManufacturer" utility-function
Fix cpu/brand string buffer sizes(!)
2022-03-09 13:57:47 -08:00
Wunkolo
86e9e60f07
cpu_detect: Update array-types to `span` and `array`
...
Update some uses of `int` into some more explicitly sized types as well
2022-03-09 13:57:47 -08:00
Wunkolo
3c33ba7f18
cpu_detect: Utilize `Bit<N>` utility function
2022-03-09 13:57:47 -08:00
Wunkolo
d233de8194
cpu_detect: Compact capability fields
...
As this structure gets more explicit, bools can be bitfields and
small enums can use smaller types for their span of values.
2022-03-09 13:57:47 -08:00
Wunkolo
add2cfcb96
bit_util: Add `bit` utility function
...
Extracts a singular bit, as a bool, from the specified compile-time index.
2022-03-09 13:57:47 -08:00
bunnei
6f670381cf
Merge pull request #7975 from bunnei/ldr-fix
...
hle: service: ldr: Use deterministic addresses when mapping NROs.
2022-03-08 17:39:03 -08:00
bunnei
853e58e593
hle: service: ldr: Use deterministic addresses when mapping NROs.
...
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
2022-03-08 17:38:20 -08:00
bunnei
f2743b41b0
Merge pull request #7986 from lat9nq/vk-callback
...
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08 12:36:57 -08:00
Fernando S
35309f27ed
Merge pull request #7989 from degasus/maxwell_LUT3
...
shader_recompiler/LOP3: Use brute force python results within switch/case.
2022-03-08 15:40:31 +01:00
Markus Wick
c78c8190d5
shader_recompiler/LOP3: Use brute force python results within switch/case.
...
Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more.
The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik.
Performance results:
Instructions
0: 8
1: 30
2: 114
3: 80
4: 24
Latency
0: 8
1: 30
2: 194
3: 24
2022-03-08 09:44:28 +01:00
bunnei
1f37896066
Merge pull request #7974 from bunnei/improve-code-mem
...
Kernel Memory Updates (Part 5): Revamp MapCodeMemory and UnmapCodeMemory.
2022-03-07 20:28:39 -08:00
bunnei
749f76e6fe
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory.
...
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
2022-03-07 17:18:20 -08:00