| Age | Commit message (Collapse) | Author |
|
The RA_PROGRESS_ENABLED flag was added but not currently being invoked, this
makes sure it is checked before popping up progress messages.
|
|
This reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.
The 0x prefix is included in the characters count (unlike e.g. in Rust
where there is no 0x prefix), so that commit was wrong. Sorry about
that!
Fixes regression introduced in #14842.
|
|
Common: Add Android to GetNetplayDolphinVer
|
|
Optimize vertex_shader_uid_data down to 28 bytes
|
|
Core: Improve error message on empty dff
|
|
VideoCommon: Use correct size for PE token
|
|
MemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64
|
|
Dolphin would previously crash while accessing &buffer[got], as if we
were trying to access that element instead of just obtaining a pointer
to it. The proper solution is to obtain a pointer to the first element,
and only add the offset we want to get the range.
Here is the printed message:
/usr/include/c++/16/array:210: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = char; long unsigned int _Nm = 128; reference = char&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
The stack trace originates from:
Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp:139
|
|
SDLGamepad: Add Misc 2 through 6
|
|
SDLGamepad: Support multiple touchpads
|
|
This also lets us remove the comment, which is now unnecessary.
|
|
This token is a u16, not a u24, so let’s not display unnecessary 00
padding.
|
|
Large anonymous mappings are split into 128 MB chunks. Without MAP_MEM_VM_SHARE,
mach_make_memory_entry_64 will only return an entry spanning the first chunk.
Attempting to map through that entry will fail if it extends beyond the 128 MB
boundary, which can happen when the sizes of MEM1/MEM2 are overridden.
|
|
rendering
|
|
GameList: Enable word wrap in grid view
|
|
Core: Fix controllers resetting when starting input recording
|
|
SDL 3 has more misc buttons for "additional controller buttons" (e.g. left/right trigger clicks on a GameCube controller, or for the second touchpad click on the Steam Controller) which use these additional named Misc buttons. Taken from [SDL_GamepadButton](https://wiki.libsdl.org/SDL3/SDL_GamepadButton)
|
|
Android: Make vibration length variable
|
|
200e26c added controller handling to MovieConfigLayerLoader's
LoadFromDTM but not SaveToDTM. This caused a regression. When starting a
new input recording, MovieManager::BeginRecordingInput calls SaveToDTM,
which doesn't set the controller values in the DTM header to anything.
Then it loads the newly created movie config layer, causing LoadFromDTM
to be called, which in turn causes zeroed out controller values to be
loaded from the DTM header. This leaves the player with all controllers
set to None, making it impossible to control the game.
To fix this, let's move the saving of controllers from
MovieManager::SaveRecording to ConfigLoaders::SaveToDTM.
|
|
|
|
Auto assign wii controllers in netplay
|
|
This makes Android players show up as "Android" instead of "Lin".
(This is only visible in DolphinQt, not in the Android GUI.)
I'm also unabbreviating all the existing operating system names:
* Win -> Windows
* Mac -> macOS
* Lin -> Linux
|
|
Require VS2026; Update Redist WinUpdater Pulls
|
|
MMU: Fix non-integral HostTryRead not passing space
|
|
Since the issue solved by the previous commit was spotted with clang-tidy, let's also fix its other complaints.
https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-const-params-in-decls.html
|
|
Randomly spotted. Didn't test, but it was obviously wrong.
Fixes regression from 8a97ce9124c94f868b078d67208f81795f259323.
|
|
Having Qt query a setting for every symbol isn't efficient.
Fixes regression introduced by #13216.
|
|
|
|
|
|
|
|
Fix stack overflow in ZeldaHLE
|
|
Independently spotted by both @Dentomologist and me while reviewing
PR #14805
The previous limit was correct for valid VPBs, but an invalid VPB
controlled by a malicious game could contain a non-fractional value
in current_pos_frac, which would allow writing an extra 15 samples
(30 bytes) into the stack. With AFC encoding, this is rounded up to 16
samples, but with much less control over which bytes are written.
Maybe we should be doing some validation, or bounds checking, but I'm
pretty sure this issue was copied from the original ucode, and we kinda
want to stay compatible.
The simpler fix is to just increase the size of raw_input_samples.
I've checked other code paths, and 0x514 samples seems to be the limit.
|
|
|
|
Reported by @RickdeJager.
|
|
VideoBackends/OGL: Don't call glMemoryBarrier without ARB_shader_image_load_store
|
|
IOS/FS: Fix loading savestate when files are open
|
|
Enable Fallthrough warnings
|
|
This slightly changes the behaviour, but I think this is more correct.
|
|
Minor behaviour change, prevents an erroreous error log
|
|
|
|
ARB_shader_image_load_store
glMemoryBarrier comes from ARB_shader_image_load_store, so on a desktop context
below GL 4.2 the pointer is null. bSupportsBBox is set from
bSupportsFragmentStoresAndAtomics, which such a driver can still have, so saving
a state reads the bounding box and calls a null pointer.
UsePersistentStagingBuffers() in OGLTexture.cpp already guards the same call with
bSupportsImageLoadStore.
|
|
|
|
|
|
This started as a fixing a misalignment issue, but I got carried away.
Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).
Now it's 27 bytes plus 8 bits of padding (ready for future expansion).
The savings come from:
- Removing UV usage from components, it can be reconstructed from
texcoord_elem_count (saved 8 bits)
- Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)
- Removing unused bit from from start of components (saved 1 bit)
- Removed extra bit from inputform, texgentype and sourcerow
- packed texMtxInfo_n_projection and texcoord_elem_count back into
the per texgen info space freed up above. (saved 24 bits)
- Overlayed postMtx index and Emboss mode shifts into a union based on
texgentype (saved 56 bits)
- Move to a single-bit union tag, freeing up an extra bit for regular
texgens.
- Move PotMtx normalize into the freed up space (saved 8 bits)
Total savings: 105 bits of data
EDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all,
so on windows this struct was actually quite a bit larger.
Something like 80 bytes, if not more.
Fixed this by dropping the size of any enums used in these
bit structs to u8. Our Common::BitField allows for the underlying
type to be explicitly specified to something larger.
msvc's bitfield packing appears to be completely braindead, can't
mix sizes at all.
|
|
Updater now pulls VC14
Require MSVC 19.51.36252
|
|
|
|
msg_in and msg_out were ending up with only 4-byte alignment, which
is undefined behaviour, since they contain 64-bit fields. Probably
doesn't cause any issues, but it showed up in ubsan.
|
|
83dc468 broke the OSD message that shows the number of custom textures.
If Prefetch Custom Textures was disabled, the number would always be 0.
|
|
|
|
Forbid EGL_PLATFORM to be "wayland"
|