Commit graph

31141 commits

Author SHA1 Message Date
JosJuice
13e246a843 Android: Make Main.Debug setting declarations match C++
No functional difference. Just making sure that the settings
have the same name in Java as in C++ so that they're easy to
cross-reference.
2022-01-07 11:25:20 +01:00
Pokechu22
29df17d422 FifoPlayer: Allow changing loop option at runtime
This option has always existed since it's used by FifoCI, but now it can be changed at runtime.  Looping is something that should almost always be on, but it can be useful to turn it off when frame-dumping is enabled so that hundreds of copies of the same frame aren't created.  Before, turning it off required restarting Dolphin.
2022-01-06 19:08:16 -08:00
Pokechu22
575062a612 FifoPlayer: Store early memory updates option in the config
Now, early memory updates is persisted across runs, and can be toggled before starting a fifolog.
2022-01-06 19:02:13 -08:00
JMC47
4c0dcf42b8
Merge pull request #10346 from iwubcode/fixed_shader_precompile_parallelization
VideoCommon: Fix shader precompilization detection
2022-01-06 16:28:15 -05:00
Admiral H. Curtiss
eb5bb2993e
Core/AudioCommon: Add config caching to Mixer. 2022-01-06 16:43:43 +01:00
Admiral H. Curtiss
ed1a1c1fae
Config: Port WiimoteControllerInterface setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
2354fb4466
Config: Port WiimoteEnableSpeaker setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
8c554d2e64
Config: Port WiimoteContinuousScanning setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
b2da738c81
Config: Port WiiKeyboard setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
f19cf1753b
Config: Port WiiSDCard setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
2aa44b10ba
Config: Port TimingVariance setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
dc7e7d08ad
Config: Port Fastmem setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
88d725c918
Config: Port SyncOnSkipIdle setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
e613cbf395
Config: Port FastDiscSpeed setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
7184983ee8
Config: Port DisableICache setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
d98c6b0b1d
Config: Port GPUDeterminismMode setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
68688e7903
Config: Port PerfMapDir setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
fb47035f97
Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
Mai M
5d11dc1926
Merge pull request #10352 from JosJuice/android-analytics-static
Android: Mark s_android_send_report as static
2022-01-06 07:41:03 -05:00
JosJuice
804f78e0e4 Android: Mark s_android_send_report as static
Fixes a compiler warning.
2022-01-06 12:20:09 +01:00
Simonx22
ba5c38e3ad Android: update dependencies 2022-01-06 05:55:52 -05:00
Mai M
7bd14c5d9f
Merge pull request #10338 from Pokechu22/natvis-improvements
Natvis improvements
2022-01-06 04:01:25 -05:00
Mai M
c16b8f4200
Merge pull request #10212 from JosJuice/android-12
Android: Increase targetSdkVersion to 31 (Android 12)
2022-01-06 04:01:00 -05:00
Mai M
6939fd9f18
Merge pull request #10348 from AdmiralCurtiss/config-remove-compare-server-client
Config: Remove CompareServer and CompareClient settings.
2022-01-06 03:59:48 -05:00
Mai M
c0fada6fec
Merge pull request #10350 from Techjar/netplay-longer-timeout
Core/NetPlay: Extend enet peer timeout
2022-01-06 03:58:58 -05:00
Mai M
c52485071b
Merge pull request #10351 from JosJuice/rb3-more-devices
USBUtils: Add/fix some Rock Band devices
2022-01-06 03:58:00 -05:00
JosJuice
589c267355 USBUtils: Fix 1bad:3110/1bad:3430 mixup
The wiki and the source code had these mismatched, and a user reported
that 1bad:3430 is the Mustang guitar, so the wiki must be right.
2022-01-06 09:46:05 +01:00
JosJuice
0de8ccc25f USBUtils: Add "Harmonix RB3 Keyboard for Nintendo Wii" 2022-01-06 09:42:19 +01:00
Techjar
600c8169d5 Core/NetPlay: Extend enet peer timeout
This extends the timeout to 30 seconds, so users who have brief
connection issues won't be so swiftly disconnected, allowing the
NetPlay session to continue.
2022-01-06 02:13:19 -05:00
Admiral H. Curtiss
032f0da35e
Config: Remove CompareServer and CompareClient settings. 2022-01-05 21:26:17 +01:00
JMC47
bc14485489
Merge pull request #10340 from AdmiralCurtiss/config-port-core-1
Config: Port remaining Core settings to new config system (partial).
2022-01-05 04:53:04 -05:00
iwubcode
9b4e5b00ee VideoCommon: assume the majority of os/drivers support parallel compiling of shaders, we can create bugs if there are issues. Android is assumed buggy 2022-01-04 20:40:07 -06:00
Admiral H. Curtiss
0bfffe4095
Config: Port GC Adapter settings to new config system. 2022-01-05 03:25:19 +01:00
Admiral H. Curtiss
e08171fa24
Config: Port remaining Core settings to new config system (partial). 2022-01-05 00:54:15 +01:00
Jordan Woyak
78a9bdf04a InputCommon: Use value of "Modifier" button "Range" setting rather than always applying 50%.
Make "Clear" button reset "Modifier" "Range" settings to 50%.
2022-01-04 14:09:50 -06:00
JMC47
3feea704e0
Merge pull request #10342 from JosJuice/vulkan-shader-crash
Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it
2022-01-04 10:47:55 -05:00
JMC47
500e02dcfb
Merge pull request #10344 from JosJuice/android-no-retain-instance
Android: Remove all setRetainInstance calls
2022-01-04 10:39:22 -05:00
JMC47
9a914d33d5
Merge pull request #9414 from DevJPM/master
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2022-01-04 10:15:12 -05:00
JosJuice
2ab66390f8 Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it
Fixes a crash that has been present on Android (and probably also
macOS) since f6883a0.
2022-01-03 20:17:57 +01:00
Admiral H. Curtiss
8af737d3bd
D3D12: Fix nullptr dereference when creating a shader with a name. 2022-01-03 17:14:09 +01:00
Léo Lam
04a25818b2
Merge pull request #10330 from aldelaro5/gdb-stub-add-hostinfo
GDB Stub: add support for lldb's qHostInfo
2022-01-03 12:43:57 +01:00
aldelaro5
d705a5fe9b GDB Stub: add support for lldb's qHostInfo 2022-01-02 19:58:31 -05:00
Léo Lam
953eb49cd8
Merge pull request #10335 from ssdsnake/dolphintool_fix_20220102
DolphinTool: initialize user directories before verify/convert operations
2022-01-03 01:46:22 +01:00
Léo Lam
7abb501e0a
Merge pull request #10334 from AdmiralCurtiss/json-maker
Core: Add a Maker field for GameModDescriptors.
2022-01-03 01:43:02 +01:00
Léo Lam
0de008da11
Merge pull request #10332 from AdmiralCurtiss/config-port-general
Config: Port remaining General settings to new config system.
2022-01-03 01:40:37 +01:00
Léo Lam
4ee20368f8
Merge pull request #10336 from aldelaro5/gdb-stub-fix-first-packet
GDB Stub: do not send a packet when we just connected
2022-01-03 01:40:16 +01:00
Léo Lam
cbd1c4969d
Merge pull request #10309 from aldelaro5/gdb-stub-fix-watchpoints
Gdb stub: fix watchpoints
2022-01-03 01:33:49 +01:00
Léo Lam
27a2df410a
Merge pull request #10308 from aldelaro5/gdb-stub-fix-unkown-pointer
GDB Stub: validate the address exists before reading/writting to it
2022-01-03 01:33:21 +01:00
Léo Lam
f5a24ac7b9
Merge pull request #10300 from aldelaro5/gdb-stub-fix-thread-reports
GDB Stub: fix thread report requests
2022-01-03 01:32:31 +01:00
Léo Lam
5953c55075
Merge pull request #10271 from Pokechu22/hash.h-merge
Merge CRC32.h into Hash.h and remove MD5.h
2022-01-03 01:26:59 +01:00
Pokechu22
8e2b06906b Create EnumMap natvis 2022-01-02 15:36:47 -08:00
Pokechu22
b96297f2ee Improve BitField natvis
Now, enums are properly displayed, and BitFieldArray is also displayed nicely.  Signed values also work correctly, and 1-bit fields are not treated as bools unless the bitfield is explicitly marked as a bool.
2022-01-02 14:39:34 -08:00
ssdsnake
4d125064fe DolphinTool: initialize user directories (fix unintential deletion of Wii files) 2022-01-02 12:34:24 -06:00
aldelaro5
4b131bf1ce GDB Stub: do not send a packet when we just connected 2022-01-02 04:35:55 -05:00
Admiral H. Curtiss
2906889804
Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
aldelaro5
bfa675cb9d GDB Stub: validate the address exists before reading/writting to it 2022-01-01 22:00:13 -05:00
aldelaro5
051197b83c GDB Stub: fix thread report requests
We are always reporting thread 1 existing and also fix an issue with a wrong memcmp size
2022-01-01 17:38:25 -05:00
aldelaro5
9c784ca8ab GDB Stub: correctly define the breakpoint type values
Read only and Write only were reversed, now they are properly defined.
2022-01-01 17:18:32 -05:00
aldelaro5
70b7e16d6c GDB Stub: properly check for wrong breakpoint type
Fix dolphin erroring out on requests to remove access watchpoints.
2022-01-01 17:18:30 -05:00
Pokechu22
3d5b46615c NetPlayClient: Use fmt::join for MD5Sum 2022-01-01 11:52:53 -08:00
Pokechu22
301bc49efe Common: Remove MD5.h
It uses DiscIO, and Common shouldn't depend on DiscIO.  Instead, put this code in NetPlayClient.cpp.
2022-01-01 11:52:53 -08:00
Pokechu22
afd02b79a5 VideoCommon: Add names for textures and shaders 2022-01-01 11:38:56 -08:00
JosJuice
ab8b2f9fe0 PPCAnalyst: Less strict interrupt checks in CanSwapAdjacentOps
When these checks were originally added, we didn't have the nice
canCauseException attribute. Now we do, so let's use it.
2022-01-01 20:25:04 +01:00
Pokechu22
0c19f895d3 Replace remaining uses of zlib crc32 with Common/Hash.h 2022-01-01 10:36:38 -08:00
Pokechu22
2652aed85c Common: Merge CRC32.h into Hash.h
This makes it easier to find the relevant functions.
2022-01-01 10:36:38 -08:00
Admiral H. Curtiss
d590aa88a4
Config: Port remaining General settings to new config system. 2022-01-01 19:02:45 +01:00
Rafaël Kooi
b756dc40bb RenderWidget: Add include to Windows.h
Fixes errors when building with CMake. PCH support is currently broken,
however the code shouldn't have a hard dependency on PCH anyway.
2022-01-01 17:58:20 +01:00
Léo Lam
dc7ea16705
Merge pull request #10284 from JosJuice/no-blr-cr
PPCAnalyst: Don't treat blr as writing to CR
2022-01-01 17:39:59 +01:00
Léo Lam
8b6b96a114
Merge pull request #10285 from Pokechu22/cursor-disabled-input-gate
ControllerEmu: Hide the cursor if the input gate is disabled
2022-01-01 17:32:54 +01:00
Léo Lam
13939b13d7
Merge pull request #10311 from JosJuice/gles-sampler2dmsarray
GLES: Fix missing precision for sampler2DMSArray
2022-01-01 16:49:34 +01:00
Léo Lam
379ab16e1b
Merge pull request #10301 from RA-Kooi/BBAFix
BBA: Fix TAP detection
2022-01-01 16:39:41 +01:00
Léo Lam
0a62ba9beb
Merge pull request #10320 from OatmealDome/macos-headless
VulkanContext: Ensure present queue family is valid before incrementing queueCreateInfoCount
2022-01-01 02:45:10 +01:00
Léo Lam
9a61514073
Merge pull request #10241 from AdmiralCurtiss/user-dir-consistency
Ensure user paths are stored in a consistent manner.
2022-01-01 02:32:24 +01:00
Léo Lam
c6225e451c
Merge pull request #10328 from AdmiralCurtiss/config-port-interface
Config: Port remaining Interface settings to new config system.
2022-01-01 01:27:54 +01:00
Admiral H. Curtiss
b3a3ecd2b4
PPCAnalyzer: Most member functions can be const. 2021-12-31 17:46:45 +01:00
Admiral H. Curtiss
d6331c1e71
Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
Mai M
c2160578a1
Merge pull request #10313 from JosJuice/android-coverhelper-region
Android: Fix country constants in CoverHelper.getRegion
2021-12-31 06:02:32 -05:00
Admiral H. Curtiss
247f5d823f
Config: Port USBPassthrough setting to new config system. 2021-12-31 01:15:38 +01:00
Admiral H. Curtiss
526887899e
Config: Port BluetoothPassthrough settings to new config system. 2021-12-30 23:17:19 +01:00
Admiral H. Curtiss
810dcfa0f6
Config: Port Debug settings to new config system. 2021-12-30 22:28:05 +01:00
Admiral H. Curtiss
9c4b2b65b4
Config: Port Input setting to new config system. 2021-12-30 21:50:36 +01:00
Admiral H. Curtiss
aa437d9805
Config: Port Movie settings to new config system. 2021-12-30 20:16:17 +01:00
JMC47
1112b2a19e
Merge pull request #10307 from AdmiralCurtiss/config-port-autoupdate
Config: Port AutoUpdate settings to new config system.
2021-12-30 14:12:36 -05:00
JMC47
de91afaff3
Merge pull request #10298 from aldelaro5/gdb-stub-fix-registers
GDB Stub: Fix the id of the registers returned by p and P packets
2021-12-29 21:02:31 -05:00
JMC47
01f180217b
Merge pull request #10299 from aldelaro5/gdb-stub-add-query-packets
GDB Stub: add support for various query packets
2021-12-29 19:37:28 -05:00
JMC47
1c8a7f1867
Merge pull request #10277 from AdmiralCurtiss/memarena-cleanup
MemArena: Cleanup & interface changes for safer memory mapping.
2021-12-29 19:06:47 -05:00
aldelaro5
b369d822b1 GDB Stub: add support for various query packets
These tends to get requested from either pure GDB or Ghidra. They reduce the verbosity of the communications. The QSupported packet is also important to implemnent for future proofing too.
2021-12-28 23:34:33 -05:00
OatmealDome
9ff7f80aa0 VulkanContext: Ensure present queue family is valid before incrementing queueCreateInfoCount 2021-12-28 21:18:47 -05:00
aldelaro5
beabd56ff8 GDB Stub: Fix the id of the registers returned by p and P packets
The stub was made with the assumption that the GDB architecture is rs6000:6000, but the closest is actually powerpc:750 which features much more SPR that the gekko supports, but it also has slightly different ID. This commit now assumes the more proper powerpc:750.
2021-12-28 19:27:34 -05:00
JosJuice
68fd94e063
Merge pull request #10302 from RA-Kooi/CMakeQt
DolphinQt: Fix generation of /external:I flags
2021-12-28 20:03:26 +01:00
JosJuice
a96cfe2531 GLES: Fix LOD bias int/float mismatch
Another simple GLES shader compilation error.
2021-12-28 19:19:22 +01:00
JosJuice
014cc02b96 Android: Fix country constants in CoverHelper.getRegion
This code seems to have been written as if GameFile.getCountry
returns a language rather than a country, which is wrong.
2021-12-28 17:16:49 +01:00
JosJuice
76b508557e GLES: Fix missing precision for sampler2DMSArray
We don't use sampler2DMS, but we do use sampler2DMSArray.

I can't reproduce it on my phone, but a user who was running GLES
on a Tegra X1 reported a shader compilation error related to this.
2021-12-28 11:36:11 +01:00
JMC47
2a34118e1e
Merge pull request #10310 from AdmiralCurtiss/interpreter-cycle-count-debug
Interpreter: Fix cycle counting inconsistency between debug mode and regular mode loops.
2021-12-28 04:14:13 -05:00
JMC47
01e8e950e8
Merge pull request #10292 from OatmealDome/lodbias-take-two
PixelShaderGen: Use LOD bias when sampling texture on Metal and OpenGL ES
2021-12-28 02:45:14 -05:00
OatmealDome
056613ecc5 PixelShaderGen: Add LOD bias to texture() call on systems that don't support it in the sampler 2021-12-28 02:10:45 -05:00
OatmealDome
4e12d6e871 ShaderGenCommon: Add bit for LOD bias 2021-12-28 02:10:39 -05:00
Admiral H. Curtiss
ebe27e0140
Interpreter: Fix cycle counting inconsistency between debug mode and regular mode loops. 2021-12-28 05:48:33 +01:00
Rafaël Kooi
edb843415d BBA: Fix TAP detection 2021-12-27 22:03:00 +01:00
Admiral H. Curtiss
96fa0919be
Config: Port AutoUpdate settings to new config system. 2021-12-27 21:19:28 +01:00
JosJuice
8d237eb102
Merge pull request #10305 from AdmiralCurtiss/config-port-fifoplayer
Config: Port FifoPlayer setting to new config system.
2021-12-27 21:11:41 +01:00
JMC47
ddb3bad9c9
Merge pull request #10288 from JosJuice/jit64-safe-paired-load
Jit64: Make paired loads always safe
2021-12-27 14:47:27 -05:00
Admiral H. Curtiss
56f747ebf3
Config: Port FifoPlayer setting to new config system. 2021-12-27 17:56:34 +01:00
Rafaël Kooi
d6c9831efd DolphinQt: Fix generation of /external:I flags
Mainly concerns to building with Ninja, as that's what I tested it with.
Originally it would only prepend the first path with `/external:I`,
however all paths in the list have to be prepended with `/external:I`.
The MS documentation seems to support this, as it makes no mention of it
accepting a list.

This is probably the worst way to implement this, I am unfamiliar with
CMake.
2021-12-27 14:31:58 +01:00
JMC47
4dcf2327eb
Merge pull request #10286 from Pokechu22/geometry-shader-depth-clamp
GeomeryShaderGen: Set gl_ClipDistance on Vulkan as well as OpenGL
2021-12-27 02:04:59 -05:00
JMC47
1f1e78ee7a
Merge pull request #10273 from Pokechu22/fifoplayer-efb-clear-wait
FifoPlayer: Wait after clearing the screen
2021-12-27 02:01:02 -05:00
JMC47
66411571fa
Merge pull request #10293 from AdmiralCurtiss/config-port-cpu-overclock
Config: Port CPU overclock setting to new config.
2021-12-27 00:16:24 -05:00
Admiral H. Curtiss
5999e9e139
Config: Port GameList settings to new config system. 2021-12-26 23:46:35 +01:00
Admiral H. Curtiss
7625cb7aca
CoreTiming: Cache the overclock factor instead of re-querying it every Advance(). 2021-12-25 23:40:26 +01:00
Admiral H. Curtiss
319b00f1fd
Config: Allow unregistering callbacks. 2021-12-25 23:32:49 +01:00
Admiral H. Curtiss
cae4b545bd
Config: Port CPU overclock settings to new config system. 2021-12-25 21:52:50 +01:00
OatmealDome
91cdeb5aa6 SamplerCache: Check for bSupportsLodBiasInSampler instead of IsGLES 2021-12-25 15:17:19 -05:00
OatmealDome
08396c56e5 VideoConfig: Add bool for sampler LOD bias support 2021-12-25 15:16:27 -05:00
Admiral H. Curtiss
269ae6f7e8
Core/UICommon: Use std::move() a bit more. 2021-12-25 20:21:33 +01:00
Admiral H. Curtiss
ab56f3ecbd
Calls to File::SetUserPath() no longer need to manually append directory separators. 2021-12-25 20:21:32 +01:00
Admiral H. Curtiss
e54657254a
Core: Make format of D_WIIROOT_IDX consistent with the rest of the user directories. 2021-12-25 20:21:32 +01:00
Admiral H. Curtiss
3e1511ce98
Common/FileUtil: Ensure consistency for custom user paths. 2021-12-25 20:21:32 +01:00
Admiral H. Curtiss
1554128560
MemArena: Prepare interface for proper memory reservation. 2021-12-25 20:20:36 +01:00
Admiral H. Curtiss
812cc8b632
MemArena: Split into three separate files for each OS. 2021-12-25 20:20:36 +01:00
JosJuice
1295bc4272 Jit64: Make paired loads always safe
It's always a good sign when the comments say "this will definitely
crash" and "I don't know if this is for a good reason".

Fixes https://bugs.dolphin-emu.org/issues/12762.
2021-12-24 19:09:12 +01:00
JosJuice
75bf008aba Android: Make WFS directory configurable
The Android version of 5ecd5f0. No scoped storage support, though...
2021-12-24 11:30:09 +01:00
JosJuice
5dd2ddb1df Memmap: Replace some GetPointer calls
These GetPointer calls could cause crashes, in part because the
callers didn't do null checks and in part because GetPointer
inherently is unsafe to use for accesses larger than 1 byte.
2021-12-24 11:03:58 +01:00
Pokechu22
1cd148d4c5 GeomeryShaderGen: Set gl_ClipDistance on Vulkan as well as OpenGL
Fixes https://bugs.dolphin-emu.org/issues/12548
2021-12-23 17:56:21 -08:00
Pokechu22
de7c78ef3d ControllerEmu: Hide the cursor if the input gate is disabled 2021-12-23 15:22:35 -08:00
Pokechu22
86f2b39d66 FifoPlayer: Wait after clearing the screen
If we don't wait, then the copy will be performed at a later time, which may overwrite memory updates.
2021-12-23 12:35:18 -08:00
Pokechu22
d981944d7c FifoPlayer: Fix uninitialized variable warnings in ClearEfb
The actual values don't matter since we overwrite all of the relevant fields, but other bits were not initialized (e.g. the top 12 bits of X10Y10), so the warning was semi-valid.
2021-12-23 12:35:18 -08:00
Pokechu22
85025612bc LightingShaderGen: Make s_lighting_struct not inline
This generated warnings on the freebsd builder.
2021-12-22 15:17:52 -08:00
JosJuice
e6f40fa015
Merge pull request #10279 from Pokechu22/intensity-alpha
TextureConverterShaderGen: Set alpha to 1 on intensity formats if EFB lacks alpha
2021-12-23 00:14:06 +01:00
JMC47
b1f79d9ecf
Merge pull request #10215 from OatmealDome/shader-logic-ops
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
2021-12-22 16:39:54 -05:00
JosJuice
b6395a7c49 PPCAnalyst: Don't treat blr as writing to CR
This piece of code is rather hard to understand, but my best guess
at what it's trying to do is that it tries to create opportunities
to skip writing CRs back to ppcState if we know that there are no
CR instructions (or branch instructions, etc) between an instruction
that writes to a CR register and the next blr. This is technically
inaccurate emulation, but as long as games don't do anything too
weird with their ABIs, I suppose it doesn't break anything.

So why do I want to get rid of it? Well, other than breaking some
hypothetical weird game, I imagine it could trip up people trying
to debug a game who are looking at the CR contents. And the code
is just plain confusing. (blr clearly doesn't write to CRs!)
2021-12-21 21:29:55 +01:00
Pokechu22
fd2324e40a Fifo analyzer: Rename mipmap filter to half scale for EFB copies
The field itself is named half_scale, and it can be used for things unrelated to mipmaps, so reflecting that name in the fifo analyzer helps.
2021-12-20 11:34:05 -08:00
Pokechu22
2f6953efb6 TextureConverterShaderGen: Set alpha to 1 on intensity formats if EFB lacks alpha
We were already doing this for non-intensity formats, but it seems like the same applies to intensity formats.
2021-12-20 11:34:05 -08:00
JMC47
820a424dcd
Merge pull request #10272 from JosJuice/android-intent-uri
Android: Rework intent handling to work under scoped storage
2021-12-20 14:30:16 -05:00
JMC47
32fed91b0d
Merge pull request #9718 from Pokechu22/better-fifo-analyzer-part-3
Fifo analyzer improvements, part 3
2021-12-20 14:27:14 -05:00
JMC47
1714dc64bb
Merge pull request #10120 from Sintendo/jit64arithcxrefactor
Jit64: Merge arithcx into addx/subfx
2021-12-20 14:20:49 -05:00
JMC47
9ed368ead7
Merge pull request #9376 from merryhime/rlwimix2
Jit_Integer: Optimize rlwimix
2021-12-20 14:20:26 -05:00
JosJuice
a8a8b294cd Android: Remove all setRetainInstance calls
Our reasons for using setRetainInstance were gotten rid of in PRs
9011 and 10008, so let's remove our calls to this deprecated method.
2021-12-19 14:45:51 +01:00
JMC47
2d1c7352e4
Merge pull request #10280 from iwubcode/wfs_root_configurable
Core / DolphinQt: make WFS directory configurable
2021-12-18 19:02:53 -05:00
Pokechu22
ffa512f5e7 DolphinTool: Remove direct dependency on core
Videocommon also depends on core, which resulted in linking errors (though I'm not sure why).  Ideally, dolphintool woudln't depend on videocommon... but some stuff in core does.
2021-12-18 15:24:29 -08:00
Pokechu22
e7d5f8ad5c TextureCacheBase: Re-wrap GetTexture comment 2021-12-18 15:21:48 -08:00
Pokechu22
f4f4dbbc63 Switch to the Play / Record tab when fifo playback stops 2021-12-18 15:21:48 -08:00
Pokechu22
d1cc539476 BPMemory: Correct spelling of MaxAniso 2021-12-18 15:21:48 -08:00
Pokechu22
f0f12ac8d7 Fifo analyzer: Decode floats in primitive data 2021-12-18 15:21:48 -08:00
Pokechu22
27cb704466 Eliminate VarType for ComponentFormat 2021-12-18 15:21:48 -08:00
Pokechu22
1a964891f8 VertexLoader_Color: Use Common::swap24 2021-12-18 15:21:48 -08:00
Pokechu22
95e0f833f9 Fifo analyzer: Display equations for color/alpha combiners 2021-12-18 15:21:48 -08:00
Pokechu22
0afe318b55 OpcodeDecoding: Make s_is_fifo_error_seen static 2021-12-18 15:21:48 -08:00
Pokechu22
d039b1bc0d VideoCommon: Move VertexLoaderManager logic out of CPState 2021-12-18 15:21:48 -08:00
Pokechu22
e4605fa399 Fifo analyzer: Create a new object for each EFB copy
Previously, EFB copies would be in the middle of other objects, as objects were only split on primitive data.  A distinct object for each EFB copy makes them easier to spot, but does also mean there are more objects that do nothing when disabled (as disabling an object only skips primitive data, and there is no primitive data for EFB copies).
2021-12-18 15:21:48 -08:00
Pokechu22
d84d695fdf Remove DataReader from LoadXFReg 2021-12-18 15:21:48 -08:00
Pokechu22
b5fd35f951 Refactor OpcodeDecoding and FIFO analyzer to use callbacks 2021-12-18 15:21:36 -08:00
Pokechu22
0441826206 Fix wrapping in FifoPlayer comment 2021-12-18 12:51:56 -08:00
Pokechu22
d5cfac71d0 Refactor object listing code
This also adds the commands after the last primitive data but before the next frame as a unique object; this is mainly just the XFB copy.  It's nice to have these visible, though disabling the object does nothing since only primitive data is disabled and there is no primitive data in this case.
2021-12-18 12:51:56 -08:00
Pokechu22
1914087998 Create and use CPArray enum class 2021-12-18 12:51:56 -08:00
Pokechu22
3aaeb2b9ef Convert OpcodeDecoder::Opcode and OpcodeDecoder::Primitive to enum class 2021-12-18 12:51:56 -08:00
Pokechu22
3fc12431c5 Remove parameters to SWVertexLoader::SetFormat
They haven't been used since efbe5bc4b6.
2021-12-18 12:51:56 -08:00
Pokechu22
205ab23d80 GeometryShaderGen: Convert to EnumMap 2021-12-18 12:51:55 -08:00
Pokechu22
f53dc6564f UberShaderPixel: Convert to EnumMap 2021-12-18 12:51:55 -08:00
Pokechu22
380b333387 PixelShaderGen: Convert to EnumMap 2021-12-18 12:51:55 -08:00
Pokechu22
2b1d1038a6 VertexLoader: Convert to EnumMap 2021-12-18 12:51:55 -08:00
Pokechu22
327126d1e8 ShaderGenCommon: Add WriteSwitch 2021-12-18 12:51:55 -08:00
iwubcode
5ecd5f010f Core / DolphinQt: make WFS directory configurable 2021-12-18 01:08:35 -06:00
Admiral H. Curtiss
48560135b3
Jit64: Put the exception exit in twX into farcode.
As a byproduct, this fixes the dont_trap jump not having enough available jump distance to its target in some instances (eg. in Not64).
2021-12-18 06:05:08 +01:00
Markus Wick
80ccb20931
Merge pull request #10267 from JosJuice/jitarm64-bigger-farcode
JitArm64: Allocate 64 MB for farcode
2021-12-16 19:23:31 +01:00
JosJuice
094290792a Core: Add missing header to NetPlayCommon.cpp
https://bugs.dolphin-emu.org/issues/12765
2021-12-15 18:57:10 +01:00
Mai M
66fc335c11
Merge pull request #10276 from JosJuice/android-fix-file-manager
Android: Fix opening system file manager
2021-12-15 00:03:16 -05:00
JosJuice
974c7f4f86 Android: Fix opening system file manager
Turns out that most phones ship with a special Google version of
DocumentsUI instead of just using the AOSP version, despite the two
being pretty similar as far as I can tell. This change makes us
check for both package names instead of just the AOSP package name.
2021-12-14 18:34:50 +01:00
JosJuice
41c7e1116a Android: Rework intent handling to work under scoped storage 2021-12-14 18:25:42 +01:00
Léo Lam
185475fe03
Merge pull request #10187 from AdmiralCurtiss/json-gamelist
Support for GameModDescriptor files in Game List.
2021-12-14 11:08:38 +01:00
Admiral H. Curtiss
b928900f6e
Core/WiiRoot: Handle the combination of NetPlay and savegame redirects. 2021-12-14 06:15:37 +01:00
Admiral H. Curtiss
387d148357
NetPlay: Add functions to sync folders. 2021-12-12 21:26:10 +01:00
Admiral H. Curtiss
418bb0b087
GameFile: Calculate a sensible sync hash for mod descriptors. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss
005e850ad6
DolphinQt: Add a 'Save as Preset' button to RiivolutionBootWidget. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss
a2a39cfcfb
Core: Add ability to serialize a GameModDescriptor to json. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss
da161faff4
GameList: Show game mod descriptor .json files in game list. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss
b50861ea44
Core: Require game mod descriptor json to self-identify as one. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss
ea17dd8dba
RiivolutionParser: Create config xml directory if it does not exist yet. 2021-12-12 21:24:36 +01:00
Pokechu22
2025763420 Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
Pokechu22
9304fe7124 DolphinQt: Remove 5~5~5~ typos 2021-12-10 13:59:38 -08:00
Pokechu22
824e0c00df JitCache: Remove irrelevant comment
It became irrelevant in 952dfcd610, when the define was removed; now, the code the comment is referring to is in JitRegister.cpp, and oprofile is controlled by cmake.
2021-12-10 13:59:38 -08:00
Pokechu22
ea414b06ef ParallelProgressDialog: Add missing license comment 2021-12-10 13:59:38 -08:00
Pokechu22
04d747dd10 GCMemcardUtils: Add missing license comment 2021-12-10 13:59:38 -08:00
Pokechu22
89f0b7b10c DolphinAnalytics: Add missing license comment 2021-12-10 13:59:38 -08:00
JMC47
bfddce425d
Merge pull request #10268 from Pokechu22/code-view-widget-clamp-ub
CodeViewWidget: Fix undefined behavior when centered around address 0
2021-12-10 05:59:47 -05:00
JosJuice
2f4ecde5cc
Merge pull request #10253 from Filoppi/fix_input_config_loading
Fix InputConfig::LoadConfig() not always replacing emu controllers values
2021-12-09 22:21:02 +01:00
JosJuice
e0a61ed9a0
Merge pull request #10248 from Filoppi/fix_input_config_default_device_load
Fix default input config default device not being loaded/found
2021-12-09 22:20:55 +01:00
JosJuice
d5d21c6533
Merge pull request #10252 from ssdsnake/feature_dolphintool
DolphinTool: Add CLI tool subsystem + commands for verifying and converting RVZ/ISO/WIA/GCZ
2021-12-09 22:20:26 +01:00
Pokechu22
5bcbc8fcef CodeViewWidget: Fix undefined behavior when centered around address 0 2021-12-08 21:42:15 -08:00
JosJuice
67787b59d6 JitArm64: Allocate 64 MB for farcode
My change in 867cd99 caused farcode to fill up much more than before.
Most games still ran fine, but certain games would have multiple
cache clears per minute, on top of being overall slow.

Maybe there's something prettier we can do about this than just
allocating more RAM, but we have the resource budget for making
Dolphin use more RAM, so I consider increasing the size of the
cache to be a good solution at least for the time being.

At least for Prince of Persia: The Forgotten Sands, 48 MB isn't
enough to stop the cache clears, but 64 MB is. (I only played the
game for a few minutes when testing, though.)
2021-12-08 20:56:00 +01:00
OatmealDome
1c421444ae ProgramShaderCache: Don't define FB_FETCH_VALUE for GL_EXT_shader_framebuffer_fetch
We will automatically choose between real_ocol0 and ocol0 in the fragment shader.
2021-12-06 22:36:40 -05:00
OatmealDome
74a979db09 UberShaderPixel: Add shader logic ops support on OpenGL ES 2021-12-06 22:36:40 -05:00
OatmealDome
18b2f6953d PixelShaderGen: Add shader logic ops support on OpenGL ES
To do this, I had to decouple framebuffer fetch from shader blending. We need to be able to access framebuffer fetch input when using shader logic ops.
2021-12-06 22:36:40 -05:00
OatmealDome
a77ae14d94 UberShaderPixel: Add shader logic ops support on Metal 2021-12-06 22:36:40 -05:00
OatmealDome
e0837cb847 PixelShaderGen: Add shader logic ops support on Metal 2021-12-06 22:36:40 -05:00
OatmealDome
426c68b5a0 ShaderCache: Don't turn on logic ops approximation if framebuffer fetch is supported 2021-12-06 22:36:40 -05:00
OatmealDome
f87f704f43 ShaderCompiler: Add helpers for Metal framebuffer fetch 2021-12-06 22:36:39 -05:00
OatmealDome
40eb071562 ShaderCompiler: Add new helper define for input attachment binding 2021-12-06 22:36:39 -05:00
OatmealDome
c12b9b013b PixelShaderGen: Add logic ops to pixel_shader_uid_data 2021-12-06 22:36:34 -05:00
Filoppi
689545a795 InputCommon: fix InputConfig::LoadConfig() not always replacing emu controllers values
If InputConfig::LoadConfig() was called once with a non empty/customized config,
then called again after manually deleting the config (dolphin calls LoadConfig() every time it opens the mapping widget),
the second load would fail to clear the values on any non first EmulatedController and would instead keep the
previous config values despite it being deleted (while it would instead correctly default the first EmulatedController).

This is not a big bug though the code is better now.
2021-12-05 23:37:58 +02:00
Filoppi
125971d9f2 InputCommon: fix default input config default device not being loaded/found
Fixes bug: https://bugs.dolphin-emu.org/issues/12744

Before e1e3db13ba
the ControllerInterface m_devices_mutex was "wrongfully" locked for the whole Initialize() call, which included the first device population refresh,
this has the unwanted (accidental) consequence of often preventing the different pads (GC Pad, Wii Contollers, ...) input configs from loading
until that mutex was released (the input config defaults loading was blocked in EmulatedController::LoadDefaults()), which meant that the devices
population would often have the time to finish adding its first device, which would then be selected as default device (by design, the first device
added to the CI is the default default device, usually the "Keyboard and Mouse" device).

After the commit mentioned above removed the unnecessary m_devices_mutex calls, the default default device would fail to load (be found)
causing the default input mappings, which are specifically written for the default default device on every platform, to not be bound to any
physical device input, breaking input on new dolphin installations (until a user tried to customize the default device manually).

Default devices are now always added synchronously to avoid the problem, and so they should in the future (I added comments and warnings to help with that)
2021-12-05 23:35:47 +02:00