Commit Graph

31699 Commits

Author SHA1 Message Date
Pokechu22 784079853d VideoCommon: Add comment explaining why only the first normal gets normalized
Co-authored-by: Scott Mansell <phiren@gmail.com>
2022-04-22 16:54:38 -07:00
Pokechu22 2a5c77f43f VideoCommon: Handle emboss texgen with only a single normal
Fixes a large number of effects in Rogue Squadron 2 and 3.
2022-04-22 16:54:38 -07:00
Pokechu22 39b2854b98 VertexLoader: Convert count register to remaining register
This more accurately represents what's going on, and also ends at 0 instead of 1, making some indexing operations easier.  This also changes it so that position_matrix_index_cache actually starts from index 0 instead of index 1.
2022-04-22 16:54:38 -07:00
Pokechu22 97d0ff58c8 Convert vertex loader position cache to std::array 2022-04-22 16:54:38 -07:00
Pokechu22 f722bdf7f1 VertexLoaderX64: Refactor so that zfreeze is only in one place
(Specifically, the copy for VertexLoaderManager::position_cache.  The position matrix index happens elsewhere, and the float path still has special logic to copy to scratch3.)
2022-04-22 16:54:38 -07:00
Pokechu22 6f1350ae51 VertexLoaderARM64: Fix z-freeze position matrix index
Before, it would always write to index 0 (which is unused).  Now it writes to the correct index.
2022-04-22 16:54:38 -07:00
Pokechu22 04fdadd9d5 VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal 2022-04-22 16:54:36 -07:00
Pokechu22 88134a6786 VertexShaderGen: Simplify normal calculation
This is a readability change; there should be no functional or performance differences.
2022-04-22 16:51:58 -07:00
Pokechu22 0f92ab380e Vulkan: Include the info log in the shader compile error panic alert
The other backends do this, and it is helpful for quickly identifying errors during development.
2022-04-22 16:38:35 -07:00
Pokechu22 7ae71e643e Vulkan: Close the output stream on shader compile error before showing the panic alert
This fixes the file showing up as 0 bytes in Windows Explorer (although the file would still display properly when opened).
2022-04-22 16:37:43 -07:00
Shawn Hoffman 12cd81bdb3 GCAdapter: don't call libusb_detach_kernel_driver on apple 2022-04-22 09:56:47 -07:00
Shawn Hoffman 5cd3cf9072 GCAdapter: fix retval check of libusb_detach_kernel_driver 2022-04-22 09:56:47 -07:00
Shawn Hoffman 978c90845b GCAdapter: move libusb context teardown last 2022-04-22 09:56:47 -07:00
Shawn Hoffman 1c9dfb7bb6 GCAdapter: some macro cleanup 2022-04-22 09:56:47 -07:00
Shawn Hoffman f52d94832e GCAdapter: set read/write thread names 2022-04-22 07:12:09 -07:00
Mai M 2e01dc0c82
Merge pull request #10592 from AdmiralCurtiss/pointerwrap-protections
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-21 17:32:13 -04:00
Simonx22 f5f52625b9 Android: Fix in game menu rippleColor and colorEdgeEffect 2022-04-20 16:22:06 -04:00
OatmealDome 259a5fc7c0 DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs 2022-04-20 14:56:34 -04:00
OatmealDome e7f5e5172c DriverDetails: Introduce new VENDOR_APPLE for Apple GPUs 2022-04-19 10:55:27 -04:00
OatmealDome 80dfefb32e UberShaderPixel: Add support for non-dual source shader blending 2022-04-19 10:55:26 -04:00
OatmealDome c1d87db6fa PixelShaderGen: Add support for non-dual source shader blending 2022-04-19 10:55:26 -04:00
OatmealDome bad0283ff7 VKPipeline: Add shader blending support 2022-04-19 10:55:26 -04:00
Admiral H. Curtiss ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer. 2022-04-18 23:48:00 +02:00
Shawn Hoffman 70507c2237 update to libusb v1.0.26
moves libusb from vendored to submodule
2022-04-17 20:01:19 -07:00
Admiral H. Curtiss 853cf4f818
Common/PointerWrap: Hide internals. 2022-04-18 03:41:14 +02:00
Mai M 3ed9d5a3c7
Merge pull request #10589 from JosJuice/android-more-init-checks
Android: Use AfterDirectoryInitializationRunner more comprehensively
2022-04-17 05:43:06 -04:00
TryTwo cc22f1a558 MemoryWidget add dual views for two separate column types. Force first column to be Hex32. 2022-04-17 00:15:44 -07:00
Pokechu22 f3eff70e2f Implement ImGui window for scissor rectangles
This is mainly for debugging, and is only exposed by manually editing the configuration.
2022-04-16 12:35:00 -07:00
Pokechu22 4d1e1db3c5 Software: Fix scissor rectangle always being block-aligned 2022-04-16 12:35:00 -07:00
Pokechu22 8745d84949 Software: Disable clipping based on xfmem
This fixes https://bugs.dolphin-emu.org/issues/12562, and is also needed for a hardware test of mine.
2022-04-16 12:35:00 -07:00
Pokechu22 925ceab82f Software: Use new scissor logic
Unlike the hardware backends, the software renderer can use multiple scissor rectangles (though this will result in extra rasterization).
2022-04-16 12:34:58 -07:00
Pokechu22 076392a0f6 VideoCommon: Rework scissor handling
This increases accuracy, fixing the white rendering in Major Minor's Majestic March.  However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening.  If possible, this will need to be fixed later.
2022-04-16 10:26:11 -07:00
Pokechu22 4595b89ad8 VideoCommon: Remove bSupportsOversizedViewports
I think this is a relic of D3D9.  D3D11 and D3D12 seem to work fine without it.  Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
Pokechu22 b85b35d5ea VideoCommon: Create dedicated structs for scissor pos/offset 2022-04-16 10:26:10 -07:00
JosJuice 342af6512c Android: Use AfterDirectoryInitializationRunner more comprehensively
Should fix the crash reported in https://bugs.dolphin-emu.org/issues/12885
2022-04-16 15:04:29 +02:00
Admiral H. Curtiss 0ec3f3a6ae
Merge pull request #10563 from TryTwo/PR_MemoryWidget_Display_Types
Debugger MemoryWidget: More display types, use combo box for options
2022-04-16 14:35:29 +02:00
JosJuice 2ef2d4778d JitArm64: Always lock Q0 in psq_stXX
Q0 is used as a scratch register by EmitBackpatchRoutine.

Fixes a vertex explosion in Spider-Man 2 that was uncovered by 20b2300.
2022-04-16 13:22:36 +02:00
TryTwo a2aecc3794 Debugger MemoryWidget: More display types, use combo box for display options. Add alignment and riw length options. 2022-04-15 22:00:51 -07:00
Admiral H. Curtiss 0a4805c0b9
Merge pull request #10582 from AdmiralCurtiss/fmt-float
Common/StringUtil: Use simpler formatting for floats and doubles.
2022-04-16 03:42:55 +02:00
Scott Mansell c5c4169bc8
Merge pull request #10255 from Pokechu22/sw-zfreeze
Software: Fix zfreeze with CullMode::All
2022-04-15 11:12:49 +12:00
Admiral H. Curtiss 3fdc6cbffe
Merge pull request #10486 from ttttcrngyblflpp/negative-axis-scaling
Make pos/neg analog axes symmetrical
2022-04-13 12:18:41 +02:00
Admiral H. Curtiss 5c687fc2a3
Common/StringUtil: Use simpler formatting for floats and doubles. 2022-04-12 23:35:19 +02:00
Shawn Hoffman ef8e461ca2 windows: buildfix if pch not used 2022-04-12 12:28:57 -07:00
Admiral H. Curtiss 2f90a2c689
Merge pull request #10574 from EternityShack/master
MemoryWidget: Load Files to Memory
2022-04-11 04:09:02 +02:00
EternityShack c5b0b92513 MemoryWidget: Load Files to Memory 2022-04-10 21:02:33 -05:00
JosJuice abffa93a72 MoltenVK: Fix pixel shader typo 2022-04-10 20:51:20 +02:00
Mai M e932a1bfb7
Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmt
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 14:19:39 -04:00
Pokechu22 59f299d5d6 Software: Fix zfreeze with CullMode::All 2022-04-08 20:05:32 -07:00
Pokechu22 164e0f742d Software: Store offset in Slope
This is needed since we need a separate offset for zfreeze to work correctly.  It also makes the code a bit less jank.
2022-04-08 20:05:32 -07:00
Pokechu22 3a742e99bb Software: Remove config to disable ZComploc and ZFreeze
These aren't particularly useful, and make the code a bit more confusing.  If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them.  They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08 20:05:32 -07:00
Pokechu22 4e9a314776 Round viewport coordinates when vertex rounding is enabled
This should fix https://bugs.dolphin-emu.org/issues/9105
2022-04-08 18:30:59 -07:00
Pokechu22 dbb857b175 VertexShaderManager: Use g_ActiveConfig.UseVertexRounding() 2022-04-08 18:30:59 -07:00
Pokechu22 f6ab317374 Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING) 2022-04-08 18:30:59 -07:00
Mai M 91192efe59
Merge pull request #10573 from AdmiralCurtiss/pr10472
DolphinQt/HacksWidget: Re-enable texture accuracy slider if it was disabled because of a custom value.
2022-04-08 21:24:59 -04:00
3t13nn3 5516d468ce
DolphinQt/HacksWidget: Re-enable texture accuracy slider if it was disabled because of a custom value.
Fixes https://bugs.dolphin-emu.org/issues/12771
2022-04-09 03:01:10 +02:00
Mai M f92b7f4c87
Merge pull request #10508 from JosJuice/android-pointer-down
Android: Only use getActionIndex for ACTION_POINTER_DOWN/ACTION_POINTER_UP
2022-04-08 20:53:52 -04:00
Mai M e3106e8cdd
Merge pull request #10503 from JosJuice/android-directoryinitialization-thread
Android: Actually use a thread for DirectoryInitialization
2022-04-08 20:53:25 -04:00
Mai M 004e834c14
Merge pull request #10558 from shuffle2/lang
windows: simplify handling of gettext
2022-04-08 20:51:36 -04:00
Mai M d4e4b56047
Merge pull request #10562 from JosJuice/android-double-tap-get
Android: Fix displaying the current value of double tap setting
2022-04-08 20:50:12 -04:00
Admiral H. Curtiss df214af8a1
VideoCommon/FrameDump: Fix log messages with arguments. 2022-04-09 01:42:02 +02:00
Admiral H. Curtiss 36134abd0e
Common/LogManager: Add generic printf-style log function that takes a va_list instead of va_args. 2022-04-09 01:41:40 +02:00
Admiral H. Curtiss 3382408b8e
VideoCommon/FrameDump: Allow user to specify a pixel format. 2022-04-09 00:45:49 +02:00
Pokechu22 120208ae03
Merge pull request #10543 from Minty-Meeo/initmmio-combine
Combine InitMMIO and InitMMIOWii
2022-04-08 14:35:03 -07:00
Admiral H. Curtiss 23508cafb2
Merge pull request #7675 from TryTwo/Debugger_Code_Features
Debugger: Get target memory in load/store instructions
2022-04-08 05:28:22 +02:00
Admiral H. Curtiss 5fda8ee8ec
Core/WGInput: Dynamically load winrt function addresses. 2022-04-08 03:26:09 +02:00
JMC47 e02194057b
Merge pull request #10412 from Pokechu22/sw-efb-peek-alpha
Software: Implement pixel engine alpha read mode
2022-04-07 17:01:56 -04:00
JosJuice 7a33659e7b
Merge pull request #10485 from JosJuice/real-ocol0-logic-ops
Shadergen: Use real_ocol0 workaround for shader logic ops
2022-04-07 21:00:24 +02:00
JosJuice 6a326a9f73
Merge pull request #10544 from AdmiralCurtiss/default-font-size-workaround
Qt: Set font size for default debug font.
2022-04-07 20:59:17 +02:00
JosJuice 17b17e3236
Merge pull request #10552 from Gamer64ytb/display-cutout
Android: Implement expand display cutout option.
2022-04-07 20:58:22 +02:00
JosJuice a8654e2c69
Merge pull request #10560 from JosJuice/android-wii-disc-update
Android: Implement installing system update from disc image
2022-04-07 20:58:09 +02:00
Pokechu22 6e83e36beb msbuild: Move WGInput to DolphinLib.props
It was accidentally put into the main DolphinLib.vcxproj in #7614.
2022-04-07 11:37:12 -07:00
Sepalani 5b658e77df MemoryWidget: Fix preview of zero as float/double 2022-04-07 11:55:23 +04:00
Admiral H. Curtiss 368342cb9b
Merge pull request #10528 from TryTwo/PR_Debugger_Memory_Input_Types
Debugger: MemoryWidget: add float and integer input types. Add input preview.
2022-04-07 02:13:21 +02:00
TryTwo ed96b8e308 Debugger MemoryWidget: add float and integer inputs. Add input preview. Change input logic. Use combobox for options. 2022-04-06 16:20:55 -07:00
Admiral H. Curtiss 242cd4cbea
Merge pull request #10555 from Dentomologist/fix_manual_update_check_when_autoupdate_disabled
Updater: Fix manual update check when autoupdate is disabled
2022-04-06 14:38:25 +02:00
JosJuice 4120870628 Android: Remove nonsense code from double tap setting dialog
The currentValue variable doesn't use InputOverlay.OVERLAY_
constants, it uses NativeLibrary.ButtonType constants.

Sigh, why do enums have to be so bad on Android that Google
recommends against using them :(

Anyway, simply not doing anything is a reasonable option here.
What happens then is that if the currently selected button is
invalid for the current controller, none of the available options
in the dialog will be pre-selected.
2022-04-05 19:08:58 +02:00
JosJuice cdff426d23 Android: Fix displaying the current value of double tap setting 2022-04-05 18:58:29 +02:00
Jordan Woyak 566dfc1cf4 ControllerInterface: Update sort priorities. 2022-04-03 19:03:44 -05:00
Jordan Woyak 076a262b9e InputCommon: Add Windows.Gaming.Input to ControllerInterface. 2022-04-03 19:03:35 -05:00
Gamer64ytb bed91750e1 Android: Implement expand display cutout option.
Some ROMs don't have fullscreen feature, for example Pixel Experience, so have a option for that is better. Also you don't need put the app on fullscreen anymore with that.
2022-04-03 14:26:37 +02:00
JosJuice 57733ddc70 Android: Implement installing system update from disc image 2022-04-03 11:15:28 +02:00
Shawn Hoffman 818f6c81ed msbuild: don't explicitly set _SECURE_SCL 2022-04-02 15:25:42 -07:00
Shawn Hoffman db4d81b9a8 windows: simplify handling of gettext
fixes binplace on first build
2022-04-02 15:24:46 -07:00
Dentomologist c8d953d0c6 Updater: Fix manual update check when autoupdate is disabled 2022-04-02 12:22:06 -07:00
Admiral H. Curtiss 113fdc959d
Merge pull request #10534 from AdmiralCurtiss/more-cheat-search-qol
DolphinQt: More Cheat Search QoL
2022-04-02 15:17:15 +02:00
Shawn Hoffman e6ed77b5f6 msvc: enable conformant __cplusplus macro 2022-04-02 02:46:22 -07:00
Admiral H. Curtiss 25c173cefc
Merge pull request #8732 from dreamsyntax/debugger-function-differencing
Qt/Debugger CodeWidget: Record and find specific functions by differencing
2022-04-02 05:42:33 +02:00
Admiral H. Curtiss 1942629d9a
DolphinQt/CheatSearchWidget: Drop whitespace when parsing integers and floats from the user. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 7f2fed0f68
DolphinQt/CheatsManager: Don't leak closed cheat search tabs. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 48c4ebeee0
DolphinQt/CheatSearchWidget: Remember state of Hex checkboxes across sessions. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 1ad7aac008
Qt: Set font size for default debug font. 2022-03-31 05:28:39 +02:00
Admiral H. Curtiss 4957b2edb9
Merge pull request #10530 from shuffle2/win-ffmpeg
windows: move ffmpeg bins to submodule
2022-03-31 05:24:00 +02:00
Admiral H. Curtiss cc3f8204da
Merge pull request #10542 from TryTwo/PR_MemoryViewWidget_Spacing
Debugger MemoryViewWidget: fixed, tighter spacing
2022-03-30 22:53:05 +02:00
Shawn Hoffman 4fad2c26e4 framedump: enable compat with utvideo codec 2022-03-29 17:27:59 -07:00
Shawn Hoffman decaea8f9b FrameDump: improve debug logging 2022-03-29 17:27:59 -07:00
Shawn Hoffman 09432ef098 windows: move ffmpeg bins to submodule
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
Pokechu22 af316f7bfe Software: Implement pixel engine alpha read mode 2022-03-29 15:34:43 -07:00
Pokechu22 8882eb040a PixelEngine: Convert to BitField and enum class 2022-03-29 15:34:43 -07:00
Pokechu22 45b8ebeb25 PixelEngine: Remove old comment
This comment was added in 76d24f2c0d (the link was updated in 5799824b22, but both are dead now).  An archived version is at https://web.archive.org/web/20090830050441/http://developer.nvidia.com/object/General_FAQ.html#t6 but it's about the number of available texture units, which doesn't seem relevant to PixelEngine.
2022-03-29 15:34:43 -07:00
TryTwo 8f85e384c3 Debugger MemoryViewWidget: fixed, tighter spacing 2022-03-29 14:16:25 -07:00
Minty-Meeo fbc9bf2342 Combine InitMMIO and InitMMIOWii 2022-03-29 01:21:17 -05:00
Charles Lombardo 8a0c6816dd Android: Fix games list padding
Use clipToPadding="false" to prevent top white bar when scrolling
2022-03-28 09:58:01 -04:00
nyanpasu64 b5a7ae52b5 Fix locking the wrong mutex in GCAdapter_Android.cpp ResetRumble()
I am not confident there are no race conditions between s_write_mutex,
s_controller_write_payload_size, and s_controller_write_payload. But
this code should be safer than before.
2022-03-27 22:39:26 -07:00
nyanpasu64 7616027684 Remove unnecessary atomic usage in GCAdapter_Android.cpp
s_controller_write_payload_size needs to remain an atomic because Read()
loads and stores without holding a mutex, Output() stores while holding
s_write_mutex, and ResetRumble() stores while holding s_read_mutex! I'm
pretty sure this code is wrong, specifically ResetRumble().
2022-03-27 22:39:26 -07:00
nyanpasu64 871b01a5d9 Remove unnecessary atomic usage in GCAdapter.cpp
You can safely read or write non-atomic integers on multiple threads,
as long as every thread reading or writing it holds the same mutex
while doing so (here, s_mutex).

Removing the atomic accesses makes the code faster, but the actual
performance difference is probably negligible.
2022-03-27 22:27:57 -07:00
Mai M c08a23b374
Merge pull request #10537 from Simonx22/android-sv2
Android: Increase target and compileSdk version to 32 (Android 12L/Sv2)
2022-03-27 15:14:48 -04:00
JosJuice 11c4385b36 Android: Mark MAIN_FALLBACK_REGION as not runtime editable
Trying to change it while a game is running does nothing.
DolphinQt already inactivates it while a game is running.
2022-03-27 18:45:01 +02:00
JosJuice f12681ba93
Merge pull request #10532 from t895/material3-migration
Android: Inherit from Material 3 themes and round corners on box art
2022-03-27 18:32:22 +02:00
Admiral H. Curtiss b379df360a
Merge pull request #10497 from martinD2014/master
Change the highlighted button on each window
2022-03-27 16:05:23 +02:00
Charles Lombardo b8013ff3a0 Android: Inherit from Material3 themes and round corners on box art 2022-03-26 14:54:23 -04:00
dreamsyntax 88a1acdfc0 implement CodeDiffTool Feature
Add Diff button to CodeWidget
Add Code Diff Tool window for recording and differencing functions. Allows finding specific functions based on when they run.
2022-03-26 11:41:08 -07:00
Simonx22 73f94e76b9 Android: Increase target and compileSdk version to 32 (Android 12L/Sv2) 2022-03-26 10:55:26 -04:00
Charles Lombardo fde39b455c Begin style migration to Material3
Use large card view rounded corner guidelines

Fix action bar theming

Needed to import android back button clip art to fix material 3 theming issue. The DolphinSettingsBase style used to inherit from the Theme.MaterialComponents.DayNight.DarkActionBar theme which would provide the light text and icons but this is no longer available with Material 3.

Fit box art more snugly in CardView

Change card height to match cover art

Add padding to top of games list recyclerview
2022-03-26 10:16:17 -04:00
Admiral H. Curtiss 379de5de15
Merge pull request #10375 from Pokechu22/imgui-assert
Externals: Use Common ASSERT for IM_ASSERT
2022-03-26 05:53:59 +01:00
Admiral H. Curtiss 57d8f2112c
Merge pull request #10514 from JosJuice/datel-no-gametdb
DiscIO: Don't return GameTDB ID for any Datel disc
2022-03-26 03:38:57 +01:00
Pokechu22 30a34d06c1 RenderBase: Add call to IMGUI_CHECKVERSION() 2022-03-25 10:24:07 -07:00
Admiral H. Curtiss e58cf36ca1
Merge pull request #10079 from sepalani/neg-offset
MemoryWidget: Add negative offset search support
2022-03-25 07:09:08 +01:00
Sepalani d5916fd14c MemoryWidget: Add negative offset search support 2022-03-24 23:06:25 +04:00
JosJuice c8f4800fb2
Merge pull request #10531 from iwubcode/opengl_objlabel_fix
VideoBackends: fix opengl object label identifier
2022-03-24 18:02:32 +01:00
iwubcode 69e79045a3 VideoBackends: fix opengl object label which was given an invalid enumeration as the identifier parameter. Most implementations will warn in this case but there is an implementation that will crash (ANGLE) 2022-03-24 00:25:59 -05:00
Admiral H. Curtiss 1a5a52c00c
Merge pull request #10507 from JosJuice/convertcommand-non-gc-wii
DolphinTool: Allow converting non-GC/Wii files
2022-03-23 22:47:41 +01:00
Admiral H. Curtiss c661a75961
DolphinQt: Set emulation speed setting only when the combobox is actually touched. 2022-03-22 19:19:47 +01:00
JosJuice d0d27028a0 DolphinTool: Allow converting non-GC/Wii files
This was requested by a forum user, and I thought why not.
It's a simple change to make since DiscIO already supports it,
and I assume command-line users know roughly what they're doing.
2022-03-22 18:59:01 +01:00
Admiral H. Curtiss b466b9ef85
Merge pull request #10464 from Zarklord/override-wii-boot-ios
Add Override for Boot IOS for Wii Titles
2022-03-22 03:01:44 +01:00
JMC47 bb7f0e18dd
Merge pull request #10524 from JosJuice/angle-in
VideoCommon: Remove redundant in qualifiers
2022-03-21 19:16:13 -04:00
JosJuice f1f02180fa VideoCommon: Remove redundant in qualifiers
ANGLE raises a compilation error otherwise.
2022-03-21 22:16:25 +01:00
Zachary Lockwood 9130ad8fbe Add support for overriding the IOS that boots with a wii game 2022-03-20 09:47:06 -04:00
Admiral H. Curtiss 7b0d5f2df3
Merge pull request #10491 from Minty-Meeo/dolphin-tool-more-stuff
More dolphin-tool features and options
2022-03-20 05:43:53 +01:00
Minty-Meeo deba9ce256 Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool
New dolphin-tool command: "header"
-b / --block_size
-c / --compression
-l / --compression_level

Informative RVZ/WIA header2 value "compression_level" is now a s32 instead of a u32, because negative compression is a thing.

Speaking of, it is now possible to use negative compression levels in dolphin-tool's convert command (not the GUI, though).
2022-03-19 17:13:28 -05:00
Admiral H. Curtiss a3f83d92d1
Merge pull request #10515 from JosJuice/android-user-data-clarification
Android: Clarify what we mean by "user data"
2022-03-19 21:05:17 +01:00
JosJuice 9f606734c3
Merge pull request #10513 from JosJuice/android-update-dependencies
Android: Update dependencies
2022-03-19 20:29:41 +01:00
Admiral H. Curtiss f5657d0a83
Merge pull request #10174 from dreamsyntax/panic-handles-restore-messages
DolphinQt: Add "Reset Ignore Panic Handler" MenuBar Option
2022-03-19 16:52:20 +01:00
Admiral H. Curtiss 676713e036
Re-enable Auto-Update when building with VS project files. 2022-03-19 15:30:28 +01:00
JMC47 edd63d8c3f
Merge pull request #10519 from jordan-woyak/fix-hotkey-detections
MappingCommon: Fix detection of hotkey and conjunction expressions.
2022-03-19 00:41:00 -04:00
Pierre Bourdon f73b2d70a6
Merge pull request #10516 from OatmealDome/steam
CMakeLists: Add flag to enable / disable automatic update support
2022-03-18 08:33:13 +01:00
OatmealDome e23df9369d CMakeLists: Add option to disable automatic update support 2022-03-18 03:04:51 -04:00
TryTwo 53cf78d413 Gekko constistancy changes. Add context item to codeview to show or copy a load/store target memory address from instructions at or near PC when paused. 2022-03-17 12:53:38 -07:00
Jordan Woyak b589d720bf MappingCommon: Fix detection of hotkey and conjunction expressions. 2022-03-16 22:25:04 -05:00
JosJuice c0f6aa7ab1 Android: Clarify what we mean by "user data" 2022-03-15 19:29:08 +01:00
JosJuice 479489c999 DiscIO: Don't return GameTDB ID for any Datel disc
DTLX01 can be either a Freeloader or Action Replay, so it's
inappropriate to always use the same title and cover for it.
2022-03-15 18:56:49 +01:00
JosJuice f9f561ced1 Android: Update dependencies 2022-03-15 18:19:28 +01:00
JosJuice f5b6cccd32 Android: Update Android Gradle Plugin 2022-03-15 18:19:07 +01:00
Léo Lam bf261f6144
Merge pull request #10493 from jordan-woyak/netplay-show-traversal-external-port
NetPlayDialog: Display external IP/Port as seen by the traversal server.
2022-03-15 16:03:28 +01:00
Léo Lam e10967e918
Merge pull request #10502 from Pokechu22/defer-gcadapter
GCAdapter: Defer initialization until MainWindow::InitControllers
2022-03-15 16:00:28 +01:00
Léo Lam da6f86f381
Merge pull request #10496 from JosJuice/mappingcommon-split
Move parts of MappingCommon out of DolphinQt
2022-03-15 15:54:04 +01:00
Léo Lam a99c993f1d
Merge pull request #10509 from JosJuice/freeloader-too-small
VolumeVerifier: Skip "lacks some data" check for Datel discs
2022-03-15 15:47:55 +01:00
Léo Lam a39d11c47a
Merge pull request #10501 from jordan-woyak/dolphin-tool-no-need-for-a-unique-ptr
DolphinTool: Kill an unnecessary unique_ptr.
2022-03-15 15:46:35 +01:00
Léo Lam c883ec1c53
Merge pull request #10512 from stblr/device-change
USBv5: Fix racy device change behavior
2022-03-15 15:45:40 +01:00
Jordan Woyak c058c8e1a6 NetPlayDialog: Display external IP/Port as seen by the traversal server when it's used. 2022-03-15 01:56:16 -05:00
Techjar 302dedbd24 NetPlay: Introduce constant for peer timeout 2022-03-15 01:26:55 -04:00
Pablo Stebler 7e7b0971ab
USBv5: Fix racy device change behavior
This prevents the device changes happening between 2 GETDEVICECHANGE
calls from being missed by the application.
2022-03-14 22:32:30 +01:00
Techjar b1122ec94f NetPlay: Add timeout to traversal code path
Amendment to 600c816 as I missed the traversal case.
2022-03-14 00:19:54 -04:00
JosJuice 41adf3cd53 DiscIO: Treat game ID DTLX01 as a Datel disc
Needed for the disc mentioned in the previous commit.
2022-03-12 22:27:58 +01:00
JosJuice 6d1a344aab VolumeVerifier: Skip "lacks some data" check for Datel discs
Turns out there's some Freeloader disc for the GC that triggers this
despite being a good dump. This warning is mostly intended to catch
Wii games that have been truncated at the 4.00 GiB or 4.38 GiB mark
anyway, and if someone does have a Datel dump that has been truncated,
they'll still get the "unusual size" warning.
2022-03-12 22:24:38 +01:00
JosJuice 2e1f89025f Android: Only use getActionIndex for ACTION_POINTER_DOWN/ACTION_POINTER_UP
According to the documentation, getActionIndex should only be
used with ACTION_POINTER_DOWN and ACTION_POINTER_UP. We've had a
few crashes reported in the Play Console regarding invalid pointer
indices for getY, and I'm hoping this will help with that.
2022-03-12 21:20:00 +01:00
JosJuice 905e86d754
Merge pull request #10451 from JosJuice/skip-redundant-flushes
Jit: Skip redundant flushes
2022-03-12 12:32:02 +01:00
JosJuice 7a3c719739
Merge pull request #10453 from JosJuice/output-in-use
PPCAnalyst: Count outputs as being in use
2022-03-12 12:31:42 +01:00
Pokechu22 37806472e1 GCAdapter: Defer initialization until MainWindow::InitControllers
If libusb fails to initialize, an assertion fails, but if that happens before the main window is created, then Dolphin just dies.  Now, the panic alert is properly shown and the user can ignore it.
2022-03-10 10:35:45 -08:00
Pokechu22 0f3832dec6 Common/FileUtil: Change logging to debug level
These messages hid other, more important, ones often.  I have left AttemptMaxTimesWithExponentialDelay and GetSysDirectory/SetSysDirectory as info, since those are called infrequently and can be useful to the end-user.
2022-03-08 14:07:37 -08:00
Pokechu22 c657b80996 Software/EfbInterface: Remove logspam for RGB565_Z16 being unsupported
This message would be logged, usually multiple times, for EVERY. SINGLE. PIXEL. That's pretty much useless and just makes the log unreadable. Plus, the current support (which acts as RGB8) is close enough that for end-user purposes, it's fine.  I don't think the hardware backends support RGB565_Z16 and its antialiasing functionality correctly either, but they don't have similar logspam.
2022-03-08 13:59:55 -08:00
JosJuice da12ff02fc Android: Actually use a thread for DirectoryInitialization
`((Runnable) () -> init(context)).run()` is just a more complicated way
of writing `init(context)`, and doesn't on its own launch a thread.
2022-03-08 22:29:07 +01:00
Jordan Woyak f711b8dbae DolphinTool: Kill an unnecessary unique_ptr. 2022-03-08 02:00:26 -06:00
Martin a4d031cfda Add NonDefaultQPushButton to set autoDefault of buttons to false 2022-03-08 08:51:29 +01:00
Shawn Hoffman a546c451b7 windows: wrap all main funcs with utf8 conversions
fixes 12858
2022-03-07 23:24:21 -08:00
JosJuice 1bc057614e Move parts of MappingCommon out of DolphinQt
Some of the functions in MappingCommon would be useful to use on
mobile in the future.
2022-03-06 14:30:49 +01:00
JosJuice 5446daaef9 Common: Make DynamicLibrary non-copyable
The default implementations of DynamicLibrary's copy and move
constructors and assignment operators are unsafe.
2022-03-05 23:40:41 +01:00
Léo Lam d32c72038a
Merge pull request #10467 from Dentomologist/fix_scalar_initializer_braces_warning
Debugger: Fix warning on Debian builder
2022-03-02 12:56:09 +01:00
Léo Lam c7361bc1b3
Merge pull request #10474 from Pokechu22/log-ogl-video-info
OGLRender: Log video backend info, in addition to showing it via OSD
2022-03-02 12:29:51 +01:00
Léo Lam bcc14d32b8
Merge pull request #10482 from Dentomologist/remove_redundant_statement
FileUtil: Remove redundant statement
2022-03-02 12:27:21 +01:00
Léo Lam ebfee3b2de
Merge pull request #10484 from AdmiralCurtiss/general-pane-signalblocker
Qt/GeneralPane: Don't trigger config change events when populating GUI.
2022-03-02 11:59:02 +01:00
Léo Lam 666db19436
Merge pull request #10322 from Starsam80/nand
NANDImporter: Various improvements and cleanup
2022-03-02 11:56:11 +01:00
Starsam80 41a3368889
NANDImporter: Only read the AES key once
There is no need to constantly reset the key for every file entry.
2022-03-01 19:24:59 -07:00
Starsam80 80012ae253
NANDImporter: Make superblocks less magical
Create a struct describing the superblock layout and use it directly
without needing to specify offsets and such.
2022-03-01 19:24:59 -07:00
Starsam80 73151a5753
NANDImporter: Don't pass paths if we don't need to 2022-03-01 19:24:59 -07:00
Starsam80 6758c77c39
NANDImporter: Reduce recursion in `ProcessEntry`
It also simplifies the code flow, as it no longer goes backwards
through the filesystem chain.
2022-03-01 19:24:59 -07:00
Starsam80 2ccd974471
NANDImporter: Improve NANDFSTEntry
`uid` is a u32, not a u16. Also, everything is big endian, so we
can simplify the code a little bit.
2022-03-01 19:24:59 -07:00
Pierre Bourdon 8ecfa537a2
Merge pull request #10473 from delroth/autoupdate-fail
Fix manual update check which was hardcoded to "dev" track
2022-03-02 00:10:48 +01:00
Starsam80 643057fea2
NANDImporter: Make a class variable for the NAND root 2022-03-01 15:07:59 -07:00
JMC47 ea116fbbdf
Merge pull request #9834 from AdmiralCurtiss/fastmem-reserve-region-linux
MemArena: Keep fastmem memory region mapped on Linux to ensure nothing allocates within the fastmem space.
2022-02-28 12:46:34 -05:00
JosJuice bbb64ff993 Shadergen: Use real_ocol0 workaround for shader logic ops
Previously we were using this workaround when using framebuffer fetch
to emulate dual source blending, but it seems like we also need to use
it when using framebuffer fetch to emulate logic ops, otherwise some
Adreno devices get a crash when compiling OpenGL ES ubershaders.

Using the workaround in specialized shaders doesn't seem to be
necessary, but I've made the same change there for consistency.

This gets us closer to fixing https://bugs.dolphin-emu.org/issues/12791
but doesn't actually fix it.
2022-02-28 18:32:19 +01:00
JMC47 f65dc6d525
Merge pull request #10441 from OatmealDome/improved-logic-op-workaround
BlendingState: Set source and destination alpha factors in logic op workaround
2022-02-28 12:17:25 -05:00
JMC47 20e4e34e91
Merge pull request #10487 from JosJuice/android-savestate-spacing
Android: Set letterSpacing for savestate options
2022-02-28 12:13:10 -05:00
JosJuice 608799f1e4 PixelShaderGen: Check uid_data for use_shader_logic_op
On devices which have hardware support for dual source blending
but not logic ops, this lets us skip performing the framebuffer
fetch in situations where the game isn't actually using logic ops.
2022-02-28 00:04:31 +01:00
JosJuice 8588272b3b Android: Set letterSpacing for savestate options
fbe7cf6 set this for most buttons in the in-game menu but missed
the savestate-related buttons and Unpause Emulation.
2022-02-27 22:45:21 +01:00
Tony Gong c95c43bfb6 Make pos/neg analog axes symmetrical
Currently, the axes for the main and C sticks range from 0-255, with
128 being the mid-point; but this isn't symmetrical: the negative axis
has 128 values not including 0, while the positive axis has 127 values
not including 0.

Normalizing so that the range is 1-255 makes the positive and negative
axes symmetrical. The inability to yield 0 shouldn't be an issue as a
real GC controller cannot yield it anyway.
2022-02-27 09:58:21 -08:00
Admiral H. Curtiss 1fd9a1117e
Qt/GeneralPane: Don't trigger config change events when populating GUI. 2022-02-27 17:56:35 +01:00
Admiral H. Curtiss aa0ac83997
Merge pull request #10468 from JosJuice/sd-card-callback
Use config changed callback to detect SD insertion/ejection
2022-02-26 17:31:31 +01:00
Mai M c474db9301
Merge pull request #10407 from JosJuice/android-reset-callback
Android: Call OnConfigChanged when resetting a setting
2022-02-26 11:24:18 -05:00
Dentomologist 01bd5e15ba FileUtil: Remove redundant statement 2022-02-25 21:16:07 -08:00
Pokechu22 7d76eea4ea OGLRender: Log video backend info, in addition to showing it via OSD
This is mainly intended for debugging fifo.ci.
2022-02-23 18:30:02 -08:00
JMC47 75ad057b08
Merge pull request #10405 from JosJuice/android-no-boot-timeout
Android: Get rid of the boot timeout
2022-02-23 15:40:54 -05:00
Pierre Bourdon 281dfd3e6a
Fix manual update check which was hardcoded to "dev" track 2022-02-23 18:39:28 +01:00
Pokechu22 5b3b6a7f1d
Merge pull request #10471 from Pokechu22/flush-efb-pokes-before-peeking
FramebufferManager: Flush pending EFB pokes in PopulateEFBCache
2022-02-22 17:09:34 -08:00
JMC47 5da55c9e18
Merge pull request #10406 from JosJuice/android-mipmap-swap
Android: Fix swapped texture dumping description strings
2022-02-22 16:53:26 -05:00
Mai M 32d28e4d57
Merge pull request #10469 from JosJuice/android-remove-legacybooleansetting
Android: Get rid of LegacyBooleanSetting
2022-02-21 20:39:59 -05:00
Pokechu22 23cbd570a1 FramebufferManager: Flush pending EFB pokes in PopulateEFBCache
I.e. flush pokes before running an EFB peek, if the cache tile isn't present.  If the cache tile is present, then EFB pokes should have been written to the cache tile and thus don't need to be flushed.
2022-02-21 13:23:22 -08:00
JosJuice 128fa8aec3
Merge pull request #10388 from Dentomologist/android-fix-unused-variable-warning
[Android] Fix unused variable warning
2022-02-20 18:56:50 +01:00
JosJuice 2273742f9e Android: Get rid of LegacyBooleanSetting 2022-02-20 14:00:48 +01:00
JosJuice 90c576e075 Use config changed callback to detect SD insertion/ejection
This saves the GUI from having to manually call SDIO_EventNotify.
With that out of the way, we can let users change the
"Insert SD Card" setting on Android while a game is running.
2022-02-20 10:55:55 +01:00
Dentomologist d20f3c9e64 Debugger: Fix warning on Debian builder
Fix "braces around scalar initializer [-Wbraced-scalar-init]" warning
2022-02-19 08:50:15 -08:00
Mai M db0ca3fc96
Merge pull request #10463 from JosJuice/android-remove-legacyintsetting
Android: Get rid of LegacyIntSetting
2022-02-18 17:26:19 -05:00
JosJuice 1b76171a27 Android: Get rid of LegacyIntSetting
The only settings that were using LegacyIntSetting are now in the new
config system, so there's no reason to have LegacyIntSetting anymore.
2022-02-18 22:17:39 +01:00
Léo Lam bb7475ee2a
Merge pull request #10429 from Zopolis4/mapurge
Remove the Maps folder from the Sys directory
2022-02-18 21:40:09 +01:00
Léo Lam 0c78167404
Merge pull request #10443 from JosJuice/port-wiimote-source
Port Wiimote source settings to the new config system
2022-02-18 21:38:02 +01:00
JosJuice aff45c91fc Port Wiimote source settings to the new config system
This lets us finally get rid of BootManager's ConfigCache!
2022-02-18 21:27:10 +01:00
JosJuice 9ebfdff6b4
Merge pull request #10423 from Pokechu22/improperly-exclusive-radio-buttons
Fix improperly exclusive radio buttons
2022-02-18 21:20:14 +01:00
JosJuice 35b436bd6b
Merge pull request #10377 from Pokechu22/warning-fixes-jan-2022
Fix several compile warnings on GCC
2022-02-18 21:05:42 +01:00
Léo Lam 92455f7cef
Merge pull request #10446 from AdmiralCurtiss/unbreak-shift
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings.
2022-02-18 19:09:36 +01:00
Léo Lam eb98bcd2ae
Merge pull request #10455 from Pokechu22/directly-map-fifo-breakpoint
CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
2022-02-18 18:54:06 +01:00
Léo Lam fa059b20ba
Merge pull request #10460 from Dentomologist/convert_option_type_to_enum_class
VideoCommon: Convert OptionType to enum class
2022-02-18 18:40:59 +01:00
Léo Lam 067fbe8f86
Merge pull request #10376 from shuffle2/uidctor
GXPipelineUid: remove explicit shallow copy where it's the default
2022-02-18 18:39:59 +01:00
Mai M 8b0c6af75a
Merge pull request #10459 from Dentomologist/convert_movie_playmode_to_enum_class
Movie: Convert PlayMode to enum class and move to cpp file
2022-02-18 10:00:33 -05:00
Mai M 1e126d23e6
Merge pull request #10457 from Pokechu22/movie-no-pause-menubar-desync
Fix menu bar becoming desynced when Pause at End of Movie is disabled
2022-02-18 09:59:32 -05:00
Techjar 63181f0446 ShaderGenCommon: Add missing <functional> include 2022-02-18 06:34:01 -05:00
Dentomologist edbe202aa3 VideoCommon: Convert OptionType to enum class 2022-02-17 10:03:08 -08:00
Dentomologist f56251168e Movie: Convert PlayMode to enum class and move to cpp file 2022-02-16 16:04:36 -08:00
Merry be81fe86e1 JitRegister: Use fmt
Prefer fmt to printf-style formatting.
2022-02-16 20:09:38 +00:00
Pokechu22 a81b44f697 Fix menu bar becoming desynced when Pause at End of Movie is disabled
Previously, when Pause at End of Movie was disabled, the game would continue running as it should, but the menu bar would think the game was paused, showing the play button instead of the pause button.  To make things worse, clicking the play button would then restart the game, instead of pausing or doing nothing.  F10 paused/unpaused as normal, though.

The old behavior was essentially to enable stepping/pause mode (via `CPU::Break()`) and then if Pause at End of Movie was disabled, to un-pause on the host thread (via `CPU::EnableStepping(false)`).  For reasons which aren't entirely clear to me, the first one notified the menu bar (through the `Host::UpdateDisasmDialog` callback, not the `Settings::EmulationStateChanged` one), and the second did not.  In any case, this approach does not particularly make sense; I don't see any reason to pause and unpause if Pause at End of Movie is disabled; instead, we should only pause when Pause at End of Movie is enabled.

This behavior was probably introduced in c1944f623b, though I haven't tested it.
2022-02-16 11:07:12 -08:00
Pokechu22 68d987bbee CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
directly_mapped_vars was added in #69 (4129b30494), but for some reason FIFO_BP_LO/HI were split out from it in in #885 (65af90669b).  As far as I can tell, this code (and the code that existed at the time) is identical, so there's no reason to have it handled separately.
2022-02-15 22:34:31 -08:00
Zopolis4 5e4d1f732d
Remove the Maps folder from the Sys directory
It only had two out of date and game-specific maps from decades ago
2022-02-16 12:32:25 +11:00
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 466bb17e55
Merge pull request #10445 from JosJuice/android-riivolution-path
Android: Fix the logic for getting the Riivolution path
2022-02-11 08:26:13 -05: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
JosJuice 5dd07f73d4 Android: Fix the logic for getting the Riivolution path
There is a Load path setting, so the Load part can't just be hardcoded.
2022-02-09 21:43:52 +01: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 ec20e4aa99
Merge pull request #10433 from Simonx22/android-optimize-imports
Android: Optimize imports
2022-02-04 01:04:44 -05: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
Simonx22 942da3ce5f Android: Optimize imports 2022-02-03 11:05:36 -05:00
JMC47 5e59561637
Merge pull request #10425 from JosJuice/android-import-path-traversal
Android: Fix path traversal when importing user data
2022-02-01 04:18:33 -05:00
JMC47 44dabc6c2e
Merge pull request #10424 from JosJuice/android-export-empty-folders
Android: Include empty folders when exporting user data
2022-02-01 01:12:17 -05:00
JosJuice 8aef3e4711 Android: Fix path traversal when importing user data 2022-01-31 21:02:26 +01:00
JosJuice e97fd2f19d Android: Include empty folders when exporting user data
I think users will have a hard time figuring out where to place
texture packs and Riivolution mods and so on without this.
2022-01-31 20:55:06 +01: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
JMC47 da05173f71
Merge pull request #10416 from JosJuice/android-import-export
Android: Add import/export options for user data
2022-01-30 17:41:13 -05:00
JosJuice bf5cd90088 Android: Add import/export options for user data
Apparently there are phones where accessing Dolphin's app-specific
directory isn't just annoyingly hard but actually impossible.
To give users of those phones at least some kind of way to manage
their data (even if it's a lot less convenient than if we were
allowed to let the user open the app-specific directory in a
file manager), I'm adding a way to export the directory to a
zip file and then import it back.
2022-01-30 22:47:55 +01:00
OatmealDome 90665fbabe UpdaterCommon: Copy content file to a temporary file before renaming on macOS 2022-01-30 15:40:28 -05:00
Tilka 5d6a60b47c
Merge pull request #10391 from JosJuice/android-license-comment
Android: Add some missing license comments
2022-01-30 20:40:06 +00: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
Léo Lam b32af33f24
Merge pull request #10409 from JosJuice/android-no-cplusplus-checks
Android: Get rid of __cplusplus macro checks
2022-01-30 18:55:36 +01: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
JosJuice b8a6fcb1a7 Android: Get rid of __cplusplus macro checks
These files cannot compile correctly as C, so there's no reason to have
ifdefs for C compatibility.

We switched to not checking the __cplusplus macro in our JNI code some
time ago, but it seems like I forgot to remove it from these two files.
2022-01-29 18:38:55 +01:00
JosJuice e101c5aaf3 Android: Fix incorrect include of PostProcessing.h 2022-01-29 18:30:11 +01:00
JosJuice 7f32057e91 Android: Call OnConfigChanged when resetting a setting
Otherwise the value of the setting won't be updated properly.
2022-01-29 15:49:03 +01:00
JosJuice c5c011dd12 Android: Fix swapped texture dumping description strings 2022-01-29 14:36:28 +01:00
JosJuice af5678ea75
Merge pull request #10403 from AdmiralCurtiss/iofile-seek
Minor IOFile cleanup.
2022-01-29 11:59:58 +01:00
JosJuice 07f2587e63 Android: Get rid of the boot timeout
We don't have a timeout like this on other platforms, and it doesn't
accomplish anything useful as far as I can tell. If you trigger it,
all that happens is that you don't get a working game and also can't
press Exit Emulation without Dolphin hanging (stuck in Core::Shutdown).
2022-01-29 11:15:04 +01:00
JosJuice fbe7cf675c
Merge pull request #10402 from Simonx22/android-design-fixing
Android: Fix in-game menu font spacing and checkbox margin
2022-01-29 09:56:28 +01: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
Simonx22 5a4d838e7b Android: Fix in-game menu font spacing and checkbox margin 2022-01-28 16:29:42 -05: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
JMC47 c2bf3a4313
Merge pull request #10393 from JosJuice/android-texcache-names
Android: Make texture cache accuracy level names match DolphinQt
2022-01-27 14:42:45 -05: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
JosJuice a8c5c9dffc
Merge pull request #10361 from Simonx22/migrate-to-material-components
Android: improve app design
2022-01-26 22:39:09 +01: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 9d8c207aaf Android: Make texture cache accuracy level names match DolphinQt 2022-01-24 22:18:57 +01: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
JosJuice fbc71a28c3 Android: Add some missing license comments
I missed this in code review.
2022-01-23 22:14:51 +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
Simonx22 c6a074ca64 Android: improve app design 2022-01-21 19:23:27 -05:00
Simonx22 55378cab39 Android: Add online system update functionality 2022-01-21 17:23:09 -05:00
OatmealDome 8ad1292df7 NativeLibrary: Add function to start system menu 2022-01-21 17:23:05 -05:00
OatmealDome 30d51348f9 WiiUtils: Add function to get current system menu version 2022-01-21 17:19:14 -05:00
OatmealDome 36257f7f42 WiiUtils: Add function to check if system menu is installed 2022-01-21 17:18:38 -05:00
OatmealDome 2fc7671eaf WiiUtils: Add doOnlineUpdate() function 2022-01-21 17:17:42 -05:00
OatmealDome 19e1809cdf WiiUtils: Add function to convert UpdateResult to jint 2022-01-21 17:16:23 -05:00
OatmealDome 7c86baee50 WiiUpdateCallback: Add interface for update callback 2022-01-21 17:14:16 -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