Admiral H. Curtiss
ffbe6cb21f
MemArena: Keep fastmem region mapped on Linux.
2022-02-14 22:14:41 +01:00
JosJuice
20b2300ce1
PPCAnalyst: Count outputs as being in use
...
In a code block where a guest register is accessed at least twice and the
last access is a write and the register is not discardable immediately
after the second-to-last instruction (perhaps there is an instruction
in between that can cause an exception), currently Dolphin's JITs will
flush the register after the second-to-last instruction.
It would be better if we replaced the flush after the second-to-last
instruction with a flush that only happens if the exception path is
taken. This change accomplishes that by marking guest registers as
"in use" not just when they are used as inputs but also when they are
used as outputs, preventing the loop in DoJit from flushing the
register until after the last access.
2022-02-14 22:09:21 +01:00
Admiral H. Curtiss
4a9553bf6d
MemArena: Load UnmapViewOfFileEx dynamically to restore Windows 7 support.
2022-02-14 21:57:18 +01:00
Admiral H. Curtiss
3a4de2b306
MemArena: Use Common::DynamicLibrary for m_api_ms_win_core_memory_l1_1_6_handle.
2022-02-14 21:57:15 +01:00
JosJuice
fd511a689f
Jit: Skip redundant flushes
...
This makes codegen faster (by perhaps 10-20% in the case of Jit64,
I didn't measure too closely), which helps speed up NBA Live 2005
a little. But the game still has serious performance issues.
2022-02-14 19:17:59 +01:00
Pokechu22
d2ebbfb91a
GDB Stub: Make s_socket_context static
2022-02-13 14:38:59 -08:00
Pokechu22
50d9349926
Fix integer sign difference comparison warnings
2022-02-13 14:38:59 -08:00
Pokechu22
5f9e04be1d
DSPJit: Suppress offsetof conditionally-supported warnings
...
The DSP JIT only applies on x64, so if it doesn't work on esoteric compilers then that's not a problem. (And if it fails to compile, then it'll still produce an error on that platform, just no warnings on other platforms)
2022-02-13 14:38:59 -08:00
Pokechu22
15f80f7234
MathUtil: Mark lo in SaturatingCast as [[maybe_unused]]
...
It's unused in the case that T is unsigned and dest is signed (e.g. SaturatingCast<int, size_t> which appears SetIsoPaths in MainSettings.cpp)
2022-02-13 14:38:59 -08:00
Pokechu22
a6d516dc94
Fix shadowing variables in labmdas
...
GCC generates warnings about these, although the variable being shadowed is not captured by the lambda.
2022-02-13 14:38:59 -08:00
Pokechu22
0e23dfbb25
FifoDataFile: Stop ignoring size
...
The size variable started to be unused when I created std::array variants of ReadArray, but we should follow it in case any files have fewer registers stored than they should (otherwise the remaining registers would end up with garbage data from later in the fifolog). Though, there probably aren't many fifologs where this is relevant.
2022-02-13 14:38:59 -08:00
Pokechu22
a720596771
GDB Stub: Fix typo mixing ppcState.spr and ppcState.sr
...
This resulted in an out-of-bounds array access, since sr is only 16 entries long and SPR_IBAT0U evaluates to 528.
2022-02-13 14:38:59 -08:00
Pokechu22
3b5faf90f3
FifoAnalyzer: Fix "enumeration value ‘NotPresent’ not handled in switch" warning
2022-02-13 14:38:59 -08:00
Pokechu22
edec1d5e3a
Work around false SLOTS defined but not used warning on GCC
...
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80351
2022-02-13 14:38:53 -08:00
Pokechu22
7c91acb000
Merge pull request #10449 from Pokechu22/unknown-opcode-log
...
CommandProcessor: Move unknown opcode log message before the panic alert and log ignored unknown opcodes at warn level
2022-02-13 14:37:06 -08:00
JMC47
86dbf768b9
Merge pull request #10447 from JosJuice/resetcodeptr-on-decrement
...
Common/CodeBlock: Call ResetCodePtr when decreasing region_size
2022-02-13 17:25:11 -05:00
Pokechu22
07578d8f1d
CommandProcessor: Log ignored unknown opcodes at warn level
...
Large amounts of logging can have an impact on performance, so moving the ones that have been determined to not matter to the warn level gives a way to hide those messages without hiding actual errors (and also gives a fast visual way of distinguishing between ignored and non-ignored ones due to the different colors).
2022-02-13 14:16:05 -08:00
Pokechu22
4ea9287a09
CommandProcessor: Move unknown opcode log message before the panic alert
...
This way, the extra information is already in the log by the time the panic alert appears, which is slightly more convenient for debugging.
2022-02-13 14:15:54 -08:00
Pokechu22
97482a61c6
CommandProcessor: Ignore unknown opcode for 0x3f
2022-02-12 23:38:20 -08:00
Pokechu22
68cdceb4be
CommandProcessor: Log PC and LR on unknown opcodes
2022-02-12 23:38:20 -08:00
Pokechu22
095803d1e9
CommandProcessor: Move contents of second unknown opcode panic alert to the log
...
This way, the information is always available, and users don't have to deal with a wall of meaningless information.
2022-02-12 23:38:19 -08:00
Pokechu22
1c74867c71
GPFifo: Make s_gather_pipe size new constant GATHER_PIPE_EXTRA_SIZE
2022-02-12 23:38:19 -08:00
Pokechu22
55f8aa9921
VideoCommon/Fifo: Use GPFifo::GATHER_PIPE_SIZE instead of magic 32
2022-02-12 23:38:19 -08:00
Pokechu22
9ffe9d3dc1
CommandProcessor: Remove redundant GATHER_PIPE_SIZE constant
2022-02-12 16:17:03 -08:00
Pokechu22
ce52ea35ec
Jit: Replace magic 32 with GPFifo::GATHER_PIPE_SIZE
2022-02-12 16:14:05 -08:00
Pokechu22
f2f9df7541
Remove unused includes of QButtonGroup
2022-02-12 11:40:53 -08:00
Pokechu22
0daee4fe9f
CheatSearchFactoryWidget: Set QButtonGroup's parent
2022-02-12 11:40:53 -08:00
Pokechu22
99b3ac21e4
NewBreakpointDialog: Fix improperly behaving radio buttons
2022-02-12 11:40:53 -08:00
Pokechu22
a05dd6b7e6
MemoryWidget: Fix improperly behaving radio buttons
2022-02-12 11:40:53 -08:00
JosJuice
989bdb8d6d
Common/CodeBlock: Call ResetCodePtr when decreasing region_size
...
Fixes https://bugs.dolphin-emu.org/issues/12827 .
A description of what was going wrong:
JitArm64::Init first calls CodeBlock::AllocCodeSpace, after which
CodeBlock and Arm64Emitter consider us to have 96 MB of code space
available. JitArm64::Init then calls AddChildCodeSpace, which is
supposed to take 64 MiB of that space and give it to m_far_code.
CodeBlock's view of how much space there is gets updated from 96 MiB
to 32 MiB, but due to the missing call, Arm64Emitter keeps thinking
that it has 96 MiB of space available.
The last thing JitArm64::Init does is to call ResetFreeMemoryRanges.
This function asks Arm64Emitter how much code space is available and
stores a range of that size in m_free_ranges_near, meaning that
m_free_ranges_near ends up being backed by both nearcode and farcode!
This is a ticking time bomb; as soon as we grab memory from
m_free_ranges_near which is backed by farcode, we're in trouble.
The crash I ran into in my testing was caused by fastmem code being
allocated in farcode (our backpatch handler only handles accesses made
from nearcode), but you may as well get errors caused by code intended
for nearcode overwriting code intended for farcode or vice versa.
So why did NBA Live 2005 crash when most games had no problems,
and why was the bug bisected to the commit that increased the size
of far code from 16 MiB to 64 MiB? Well, as long as we're only
using the first 32 MiB of the big 96 MiB range, everything works.
What happens with NBA Live 2005 (I have not investigated exactly
through what mechanism this happens) is that at some point the range
in m_free_ranges_near gets split into two ranges, one which is
backed by nearcode and one which is backed by farcode. Dolphin
prefers to select the biggest range available (we don't want to
pick a tiny 1 KiB range that may not be able to fit the whole block
we're about to emit, after all), and after increasing the size of
farcode to 64 MiB, farcode is bigger than nearcode.
2022-02-12 17:51:32 +01:00
JMC47
9214174bb3
Merge pull request #10435 from AdmiralCurtiss/savestate-crash
...
Core/State: Add some multithreading protections.
2022-02-11 06:28:46 -05:00
JMC47
9d69ca8850
Merge pull request #10386 from JosJuice/gba-save-dir-cond
...
Don't create GBA saves dir when building without mGBA
2022-02-11 06:27:43 -05:00
JMC47
30a9777c5a
Merge pull request #10394 from Pokechu22/alpha-1-blend
...
Revert TEV alpha lerp change and special-case alpha=1 in blending
2022-02-11 06:26:35 -05:00
Admiral H. Curtiss
af36b6c055
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings.
2022-02-10 17:30:23 +01:00
JMC47
a6f9dd5a83
Merge pull request #9544 from AdmiralCurtiss/fastmem-placeholder-windows
...
MemArena: Use memory placeholders for fastmem on Windows to ensure nothing allocates within the fastmem space.
2022-02-09 16:46:15 -05:00
Pokechu22
444f6fd0cb
Treat alpha as 0 if alpha is 1 for blending
...
This removes the white box in fortune street again, without causing Mario Kart Wii to regress.
2022-02-08 15:15:15 -08:00
Pokechu22
0327e6acb4
Use the same logic for lerp bias for color and alpha
...
It doesn't make sense for alpha to add the bias ONLY when dividing by 2, while color doesn't apply the bias for divide by 2 only; hardware testing indicates that alpha should have the bias.
This fixes the menus in Mario Kart Wii (https://bugs.dolphin-emu.org/issues/11909 ) but reintroduces the white rectangle in Fortune Street.
This reverts commit 5aaa5141ed
(and several other matching changes elsewhere).
2022-02-08 15:15:15 -08:00
OatmealDome
a9b5188047
OGLMain: Set default value for bSupportsSettingObjectNames
2022-02-08 14:53:51 -05:00
OatmealDome
bdc55f9557
RenderState: Set source and destination alpha factors in logic op workaround
2022-02-07 16:03:22 -05:00
Admiral H. Curtiss
79405de103
MemArena: Use placeholders on Windows.
2022-02-06 18:06:04 +01:00
Admiral H. Curtiss
73311694b0
Core/State: Guard g_save_thread with a mutex.
2022-02-05 21:50:37 +01:00
Admiral H. Curtiss
56ea1c1d74
Core/State: Guard SaveAs() and LoadAs() with a mutex.
2022-02-05 21:50:34 +01:00
Admiral H. Curtiss
09a0ba06c0
Merge pull request #10417 from jordan-woyak/libavformat-59-build-fix
...
VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer.
2022-02-04 20:42:34 +01:00
Mai M
40cda23491
Merge pull request #10404 from iwubcode/vulkan_headers_update
...
Externals / Vulkan: update Vulkan headers to v1.3.204
2022-02-04 01:04:29 -05:00
JMC47
4d1e6ff76a
Merge pull request #10422 from OatmealDome/opengl-shader-crash
...
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:25:46 -05:00
OatmealDome
8be3572c83
D3D12: Assume support for setting object names
2022-01-31 01:17:40 -05:00
OatmealDome
73d957f65c
D3DMain: Assume support for setting object names
2022-01-31 01:17:40 -05:00
OatmealDome
4c7fe45475
VKShader: Only set shader name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
28f3cb3d97
VKTexture: Only set texture name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
a8ce71fcd4
VulkanContext: Set bSupportsSettingObjectNames based on extension initialization result
2022-01-31 01:17:40 -05:00
OatmealDome
801897467c
VulkanEntryPoints: Make vkSetDebugUtilsObjectNameEXT an instance function
2022-01-31 01:17:40 -05:00
OatmealDome
a720083a7e
Revert "Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it"
...
This reverts commit 2ab66390f8
.
2022-01-31 01:17:40 -05:00
OatmealDome
b36c866398
OGLTexture: Only set texture name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
ea1ac73c38
OGLShader: Only set shader name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
390cc13834
OGLRender: Set object name support on GL >4.3 and GL ES 3.2
2022-01-31 01:17:40 -05:00
OatmealDome
947b562e06
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:17:37 -05:00
JMC47
8e21495c59
Merge pull request #10419 from OatmealDome/mac-updater-rename
...
UpdaterCommon: Copy content file to a temporary file before renaming on macOS
2022-01-30 19:45:58 -05:00
OatmealDome
90665fbabe
UpdaterCommon: Copy content file to a temporary file before renaming on macOS
2022-01-30 15:40:28 -05:00
Jordan Woyak
a9a163657c
VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer. av_guess_format now returns a pointer to const.
2022-01-30 13:16:51 -06:00
Admiral H. Curtiss
ff071f8b75
Core/BaseConfigLoader: Disallow loading the MAIN_MEMORY_CARD_SIZE from the global config INI.
2022-01-29 22:32:19 +01:00
Admiral H. Curtiss
63df67b7c8
Merge pull request #10395 from AdmiralCurtiss/memcard-size-setting
...
Port memory card size override setting to new config system.
2022-01-29 22:32:00 +01:00
Pokechu22
4aeef95746
Fix copy filter clamping when EFB VRAM copies are disabled
2022-01-29 12:23:32 -08:00
iwubcode
8e3dbe9671
Externals / Vulkan: update Vulkan headers to v1.3.204. Fix default present mode in Vulkan swap chain
2022-01-29 00:47:51 -06:00
Admiral H. Curtiss
a336c4386c
IOFile: Rename Clear() to ClearError() for clarity.
2022-01-29 06:49:22 +01:00
Admiral H. Curtiss
36cfcb530f
IOFile: Make origin parameter to Seek() an enum class.
2022-01-29 06:49:21 +01:00
JMC47
c2d8191fbb
Merge pull request #10401 from JosJuice/adreno-primitive-restart
...
DriverDetails: Disable primitive restart on Adreno
2022-01-28 15:12:43 -05:00
JosJuice
4f292f5ade
DriverDetails: Disable primitive restart on Adreno
...
Turning off primitive restart increases performance a lot on
Adreno for some reason. We're talking numbers like 50%-100% faster
in situations which are bottlenecked by rendering.
2022-01-28 20:25:18 +01:00
JMC47
f0136e0eb6
Merge pull request #10396 from Pokechu22/efb-copy-clamp
...
Fix copy filter clamping (again)
2022-01-27 20:12:34 -05:00
JosJuice
80771ec89e
Merge pull request #10399 from Pokechu22/ubershader-fog-typo
...
UberShaderPixel: Fix typo in fog calculation
2022-01-27 22:59:49 +01:00
JosJuice
90f7565fcc
Merge pull request #10385 from shuffle2/arm-buildfix
...
msvc/arm64: fix shadowed variable warning
2022-01-27 18:00:33 +01:00
Pokechu22
cc9ed4815d
UberShaderPixel: Fix typo in fog calculation
2022-01-26 20:23:35 -08:00
Pokechu22
ab5e71abf3
Merge pull request #10387 from Pokechu22/geometry-shader-always-write-layer
...
GeometryShaderGen: Write the layer for every vertex
2022-01-26 13:37:40 -08:00
Pokechu22
25c547e9e5
Fix incorrect copy filter clamping
...
We need to clamp to the center of pixels, or else things end up working out incorrectly. This also fixes an off-by-1 for the bottom line.
2022-01-25 19:53:25 -08:00
Admiral H. Curtiss
407aefb6b9
Netplay: Get memory card size override setting from config system instead of manually parsing INI.
2022-01-26 00:57:44 +01:00
Admiral H. Curtiss
b88507a3ed
Core: Port memory card size override setting to new config system.
2022-01-25 23:50:03 +01:00
Dentomologist
d3ae1bd415
[Android] Fix unused variable warning
...
Add [[maybe_unused]] attribute to ConsoleListener's m_use_color
2022-01-25 14:15:18 -08:00
Pokechu22
e741d4783a
TextureConverterShaderGen: Add missing newline
2022-01-25 13:22:56 -08:00
JosJuice
b237c7479e
Merge pull request #10371 from lynxnb/android-ir
...
Android: add two QoL settings to IR pointer
2022-01-24 18:25:13 +01:00
lynxnb
b4edd16f24
Android: add an option to recenter IR after every pointer interaction
2022-01-24 12:03:51 +01:00
lynxnb
fe9ac4ed1d
Android: add IR pointer modes to InputOverlayPointer
...
* Disabled: disables the overlay pointer
* Follow: default behaviour, IR pointer follows touch position
* Drag: IR pointer moves relative to the initial touch event position
2022-01-24 12:03:51 +01:00
JosJuice
ff5b323a56
DiscIO: Delete an unused function declaration
2022-01-23 22:15:56 +01:00
Pokechu22
8d7eff2a8a
VideoCommon: Move logging/seen check for unknown opcodes into CommandProcessor
...
That way, they're in the same place the panic alerts are generated.
2022-01-22 22:04:15 -08:00
Pokechu22
79b2185117
OpcodeDecoding: Don't raise panic alerts for unknown opcodes 0x01-0x07
...
A pop-up is no longer generated for the Wiggler capsule in Mario Party 5 (https://bugs.dolphin-emu.org/issues/8104 ).
2022-01-22 16:49:19 -08:00
Pokechu22
6420845fcb
GeometryShaderGen: Write the layer for every vertex
...
At least in GLSL, after calling EmitVertex() the value of all 'out' variables (including gl_Layer and ps) becomes undefined. On OpenGL it seems like they were unchanged, but on Vulkan they became 0, resulting in bad rendering.
Fixes https://bugs.dolphin-emu.org/issues/12001
2022-01-22 12:16:48 -08:00
JMC47
237947e2f1
Merge pull request #10369 from Simonx22/android-online-system-update-2
...
Android: Add online system update functionality
2022-01-22 14:46:42 -05:00
JosJuice
a3f5d09a54
Don't create GBA saves dir when building without mGBA
...
Currently, disabling mGBA when building gets rid of the ability to
change the GBA saves directory in DolphinQt, but it doesn't actually
get rid of Dolphin loading and storing the setting and creating the
folder. If the setting is set to a path you don't want to use
(perhaps you are trying to turn Dolphin portable), this is annoying.
To avoid accidentally making mistakes like this in the future,
I'm gating the existence of the setting behind an ifdef.
2022-01-22 16:05:21 +01:00
shuffle2
4ce9944cc5
remove redundant Unlock
2022-01-22 05:58:32 -08:00
Shawn Hoffman
acf6e24586
msvc/arm64: fix shadowed variable warning
2022-01-22 03:31:50 -08:00
OatmealDome
19e1809cdf
WiiUtils: Add function to convert UpdateResult to jint
2022-01-21 17:16:23 -05:00
JosJuice
7b8e846d0a
Merge pull request #10367 from Pokechu22/fmt-8.1.1
...
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00
Pokechu22
75cdcd5ac2
FifoPlayer: Add missing call to LoadSettings()
...
This resulted in the loop checkbox appearing unchecked, even though loop was enabled.
2022-01-17 11:00:13 -08:00
Shawn Hoffman
3175e38a2e
GXPipelineUid: remove explicit shallow copy where it's the default
2022-01-16 22:34:39 -08:00
Pokechu22
43e146a1d5
GameList: Convert file extensions to lowercase
...
This means that dol/elf files with upercase extensions (e.g. BOOT.DOL) are properly detected.
2022-01-16 17:00:16 -08:00
Pokechu22
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
Pokechu22
aaec64501a
Create Common::ToLower and Common::ToUpper
2022-01-16 16:56:53 -08:00
Léo Lam
e627718560
Merge pull request #10373 from Pokechu22/cmake-tab
...
CMakeLists: Replace tab characters with spaces
2022-01-17 00:47:29 +01:00
Léo Lam
cb19472f54
Merge pull request #10372 from Pokechu22/discio-core-dep
...
CMakeLists: Change DiscIO dependency from common to core
2022-01-17 00:39:55 +01:00
Pokechu22
ad9e8d97a9
CMakeLists: Replace tab characters with spaces
...
This commit only touches CMakeLists in Source and the main one; it doesn't touch them in Externals.
2022-01-16 15:20:40 -08:00
Pokechu22
65788290f6
Raise a panic alert if a movie is recorded with memcards but no memcards are inserted
2022-01-16 14:21:33 -08:00
Pokechu22
19ef936e27
Use Slot in GameCubePane
2022-01-16 14:21:33 -08:00
Pokechu22
9109258b85
Use Slot in GCMemcardManager
2022-01-16 14:21:32 -08:00
Pokechu22
777bb4d82c
Use Slot in EXI devices
2022-01-16 14:21:28 -08:00
Pokechu22
7935e614d1
CMakeLists: Change DiscIO dependency from common to core
...
DiscIO depends on some IOS functions and other functions, which are in Core and not Common. This results in link errors if using DiscIO on its own (which is why DolphinTool had a listed dependency on videocommon; videocommon has a dependency on core so adding that made things build).
2022-01-16 13:29:51 -08:00
Pokechu22
3f0b23ed2b
Create Slot enum class for EXI slots
2022-01-14 20:24:53 -08:00
Pokechu22
fefde0481d
Use EnumFormatter to generate names for EXI devices
...
This simplifies the code in GameCubePane, and allows us to use the EXIDeviceType enum in error messages.
2022-01-14 20:24:53 -08:00
Pokechu22
d354163fbe
Replace TEXIDevices with an enum class
2022-01-14 20:24:53 -08:00
Léo Lam
83c5446d85
Fix static initialisation order fiasco issue for Version variables
...
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)
By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
JosJuice
d445d2ad36
DolphinQt: Improve the earlier panic alert deadlock fix
...
If the purpose of calling SetFullscreen using RunAsCPUThread is
to make sure that the GPU thread is paused, the fix in ef77872
is faulty when dual core is used and a panic alert comes from
the CPU thread. This change re-adds synchronization for that case.
2022-01-13 22:19:54 +01:00
JosJuice
3367e5e026
DolphinQt: Fix the panic alert deadlock, GPU thread edition
...
The fix in ef77872
worked for panic alerts from
the CPU thread, but there were still problems with
panic alerts from the GPU thread in dual core mode.
This change attempts to fix those.
2022-01-13 22:19:54 +01:00
Pokechu22
fd04f4f32d
Replace use of of unsigned char* with fmt
...
Using unsigned char* or signed char* results in a deprecation warning, which is treated as an error. It needs to be casted to regular char* for it to work.
2022-01-13 11:11:08 -08:00
Pokechu22
29d6dd609c
Fix non-constexpr format strings
2022-01-13 11:11:08 -08:00
Pokechu22
18cf8ac767
Create EnumFormatter for WD Command enums
2022-01-13 11:11:08 -08:00
Pokechu22
1a92699455
Cast to int for enums that are not formattable
2022-01-13 11:11:08 -08:00
Pokechu22
5465775d11
Fix ambiguous uses of format_to
...
At least in MSVC (which is not restricted from targetting C++20), these can be resolved to either std::format_to or fmt::format_to (though I'm not sure why the std one is available). We want the latter.
2022-01-13 11:11:08 -08:00
Pokechu22
ac46b91673
Make all fmt::formatter constructors constexpr
2022-01-13 11:11:08 -08:00
Pokechu22
78e43a4404
Make all custom fmt::formatter's format functions const
...
fmt 8.0.0 requires this.
2022-01-13 11:11:08 -08:00
Pokechu22
cc592ab814
Use fmt::runtime in FmtFormatT
...
This format string is by definition dynamic and can't be checked at compile time. There are other similar strings in the log handler and in asserts, but they use vformat and thus don't need fmt::runtime. We might be able to do a similar thing where the untranslated string is compile-time checked, but FmtFormatT is used in so few places that I don't want to handle that in this PR.
2022-01-13 11:11:08 -08:00
Pokechu22
0cc211d1ef
Use fmt::format_string
2022-01-13 11:11:08 -08:00
Pokechu22
ff8965c40b
Replace uses of undocumented/deprecated fmt::format_to overload
...
This was deprecated in fmt 8.0.0.
2022-01-13 11:11:08 -08:00
Pokechu22
54cf8d030c
Add fmt/xchar includes where wstring is used
2022-01-13 11:11:08 -08:00
Léo Lam
07fd17445c
Merge pull request #10366 from Pokechu22/bad-int3-constructor
...
PixelShaderGen: Fix invalid use of int3(0)
2022-01-13 14:37:36 +01:00
Léo Lam
21b9e6a34f
Merge pull request #10355 from Pokechu22/fifo-player-config
...
FifoPlayer: Store early memory updates option in the config and allow changing loop option at runtime
2022-01-13 14:36:48 +01:00
Mai M
1cea399e9c
Merge pull request #10345 from jordan-woyak/modifier-range
...
InputCommon: Re-enable "Modifier" "Range" settings.
2022-01-13 08:32:15 -05:00
Pokechu22
fc0d958e26
PixelShaderGen: Fix invalid use of int3(0)
...
This syntax is allowed by GLSL, but HLSL doesn't allow it. This meant that games using R8 comparisons in equal mode would produce shaders that failed to compile. Super Mario Galaxy's water levels were affected by this.
2022-01-12 21:50:34 -08:00
JMC47
ca96421f42
Merge pull request #10365 from JosJuice/missing-ini-section
...
Config: Add missing legacy game INI mappings
2022-01-11 19:12:58 -05:00
JosJuice
2ca37922dc
Config: Use "Controls" section for PadType in game INIs
...
This matches BootManager.cpp's old behavior.
Note: The other settings of the "Controls" section (WiimoteSource
and WiimoteSourceBB) are still handled in BootManager.cpp.
2022-01-11 22:38:37 +01:00
JosJuice
5283a1dcc6
Config: Add "DSP" to GetINIToSectionMap
...
The "DSP" game INI section name was supported by BootManager.cpp
before the section was ported to the new config system.
For backwards compatibility, we should keep supporting it.
Should fix https://bugs.dolphin-emu.org/issues/12792
2022-01-11 22:37:02 +01:00
JMC47
c18abfaecc
Merge pull request #10356 from AdmiralCurtiss/config-port-core-4
...
Config: Port remaining Core settings to new config system (the rest).
2022-01-11 16:08:19 -05:00
JMC47
d32b13fb36
Merge pull request #10363 from JosJuice/systemtimers-dma-period
...
SystemTimers: Refactor, get rid of s_audio_dma_period
2022-01-11 09:30:41 -05:00
Pokechu22
ca9bf3174f
Use HRWrap in remaining locations
...
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Pokechu22
1b32e6dae2
VideoBackends/D3D12: Include HRESULT in error messages
2022-01-09 12:44:53 -08:00
Pokechu22
23cdb5c576
VideoBackends/D3D11: Include HRESULT in error messages
2022-01-09 12:44:15 -08:00
Pokechu22
140c8217f6
Common: Create HRWrap
...
HRWrap now allows HRESULT to be formatted, giving useful information beyond "it failed" or a hex code that isn't obvious to most users. This commit does not add any uses of it, though.
2022-01-09 12:44:15 -08:00
Pokechu22
c296c34e00
Common/MsgHandler: Use caller's file and line number in log messages
...
This will assist with finding the source of a panic alert based on logs; before, Common\MsgHandler.cpp:113 (or similar) was always used.
2022-01-09 12:44:14 -08:00
Pokechu22
f55571ee5d
Common/MsgHandler: Fix PanicAlertFmtT not actually being translated
2022-01-09 12:44:14 -08:00
Pokechu22
2a5016c2f8
Common/MsgHandler: Remove use of lambda, as it breaks __func__
...
Specifically, this meant that __func__ in macros (namely ASSERT) would always be evaluate to "operator ()".
2022-01-09 12:44:14 -08:00
Pokechu22
558de04cfc
Common/Assert: Actually use the ASSERT_MSG's log type parameter
...
Since it was unused, nonexistent values were used in a few places. I've replaced them.
2022-01-09 12:44:14 -08:00
Pokechu22
bab3ff0157
Common/MsgHandler: Remove non-format variants of PanicAlert
...
They're no longer used.
2022-01-09 12:44:14 -08:00
Pokechu22
82acfa6a46
VideoBackends/D3D: Eliminate CHECK in favor of ASSERT_MSG
2022-01-09 12:44:13 -08:00
Pokechu22
161c627466
Treewide: Remove unused inclusions of <cinttypes>
...
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
Pokechu22
44e93e91d7
Common/Assert: Switch to fmt
2022-01-09 12:43:11 -08:00
Pokechu22
1c0ca09e6f
Common/Assert: Include the condition and function in the message
2022-01-09 12:43:11 -08:00
Admiral H. Curtiss
c82b2dccb5
Config: Port SyncGPU settings to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
d8b67bc15f
Config: Port BBDumpPort setting to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
92d2fd9d5f
Config: Port MMU setting to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
d8825f5635
Config: Port dual core setting to new config system.
2022-01-09 21:29:11 +01:00
JosJuice
e5ef597642
Merge pull request #10172 from JosJuice/reorder-exception
...
PPCAnalyst: Less strict interrupt checks in CanSwapAdjacentOps
2022-01-09 19:41:16 +01:00
JosJuice
bcd1831339
Merge pull request #9815 from JosJuice/jitarm64-fmaless
...
JitArm64: Implement FMA-less path for FMA instructions
2022-01-09 19:40:54 +01:00
JosJuice
1d9d9d6a6e
Merge pull request #10354 from AdmiralCurtiss/config-port-core-3
...
Config: Port EXI device and SI device settings to new config system.
2022-01-09 19:40:23 +01:00
JosJuice
aa57eb57b1
SystemTimers: Refactor, get rid of s_audio_dma_period
...
This static variable was only used within one function,
so we can get rid of it.
2022-01-09 12:02:22 +01:00
Admiral H. Curtiss
5c325eef38
Config: Port SI device settings to new config system.
2022-01-08 20:08:21 +01:00
Admiral H. Curtiss
a0a0bfc5ca
Config: Port EXI device settings to new config system.
2022-01-08 19:57:58 +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
JosJuice
804f78e0e4
Android: Mark s_android_send_report as static
...
Fixes a compiler warning.
2022-01-06 12:20:09 +01:00
Mai M
7bd14c5d9f
Merge pull request #10338 from Pokechu22/natvis-improvements
...
Natvis improvements
2022-01-06 04:01:25 -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
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
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
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
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
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
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
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