Commit Graph

30983 Commits

Author SHA1 Message Date
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
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