GS: Add some GSVector4i methods.#13984
Conversation
|
A bit further up the file, there's And yeah, the pkl/h code looks correct, though IIRC we put GSVector4i after GSVector4, so you could write it in terms of GSVector4 ( |
ea5669a to
b747792
Compare
Sounds good, I moved the methods just after pu32() Edit: I just realized that GSVector4i.h is before GSVector4.h in GSVector.h. |
b747792 to
6e5fafc
Compare
|
0 arg version is just (On the ps/pu, it's useful since it saturates, and on unpack, 0 arg zero extends rather than duplicating things.) |
6e5fafc to
4e9e3d5
Compare
|
Good point, just removed the 0 arg versions. |
Good to know my memory is terrible |
------------------------------------------------------------------------------------------ dolphin-emu.mk fe517e2287014b833138722b3b593c733ebb51dd # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------------ Merge pull request #14339 from jordan-woyak/pointer-wrap-no-do-pointer ChunkFile: Prevent PointerWrap::Do(T&) from compiling with pointers., ----------------------------------------------------------------------------------- eden.mk 8e8e66f88090662dc6d35941f68c3e56ca9c84c4 # Version: Commits on Feb 11, 2026 ----------------------------------------------------------------------------------- [vk] load VK_KHR_GET_SURFACE_CAPABILITIES_2 on drivers (not a hard requirement) for maintainance 1 (#3514) -------------------------------------------------------------------------------------- melonds.mk 85ee531353ef6986214de733c24a0a73bd2e2a67 # Version: Commits on Feb 11, 2026 -------------------------------------------------------------------------------------- fix up starting tab for EmuSettingsDialog (again) thinking maybe we should set it programmatically so it stops being a problem, -------------------------------------------------------------------------------------- openmsx.mk ddaa3ed07ae8a1bc3341c2b7f2e30dc5506619f6 # Version: Commits on Feb 11, 2026 -------------------------------------------------------------------------------------- Document that other T9769 types have been seen in the wild., ---------------------------------------------------- pcsx2.mk v2.7.113 # Version: Commits on Feb 10, 2026 ---------------------------------------------------- - [GS: Add some GSVector4i methods.](PCSX2/pcsx2#13984) , ------------------------------------------------------------------------------------- ppsspp.mk 56b3c8674265a0203cf3276a4b410a264abe6766 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------- Merge pull request #21241 from hrydgard/more-assorted-fixes Only clear vblank listeners on exec start, not flip listeners., ------------------------------------------------------------------------------------ rpcs3.mk 7cfe96a1d121e12fbdfe42befe9af5bbd561be99 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------ macOS: Check for hw.optional.neon as fallback, ------------------------------------------------------------------------------------- snes9x.mk 5110899f86b0facb67ebd84200e3d43e4f7f4e01 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------- Adding StartupWMClass (#1026), ------------------------------------------------------------------------------------- vita3k.mk 10df77a19b0e9ba95e68f91637500e5b2e52c220 # Version: Commits on Jan 28, 2026 ------------------------------------------------------------------------------------- util: Optimize usage of Boost Describe - Optimize the commit 73f05100., ------------------------------------------------------------------------------------- ikemen.mk 18ba3876703ac027b8373e0908bf858f48a361bc # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------- Merge pull request #3274 from ikemen-engine/fix10 fix: game crash when max turns > 4, --------------------------------------------------------------- ruffle.mk nightly-2026-02-11 # Version: Commits on Feb 11, 2026 --------------------------------------------------------------- ## What's Changed * build(deps): bump the cargo-minor group with 9 updates by @dependabot[bot] in ruffle-rs/ruffle#22992 * build(deps-dev): bump the npm-minor group in /web with 3 updates by @dependabot[bot] in ruffle-rs/ruffle#22989 * avm1: Improve loading a movie into root by @kjarosh in ruffle-rs/ruffle#22896 * desktop: Improve logging on desktop a bit by @kjarosh in ruffle-rs/ruffle#22994 * chore: Update gc-arena, indexmap and remove manual `Collect` impls by @SuchAFuriousDeath in ruffle-rs/ruffle#22984 **Full Changelog**: ruffle-rs/ruffle@nightly-2026-02-10...nightly-2026-02-11, ------------------------------------------------------------------------------------ box64.mk 6c62e16d14d7f46ad0035b130141bd16f39a1141 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------ Fix incorrect bit shift in fpu_do_free (#3492) The FPU tag word uses 2 bits per register. The previous implementation shifted the mask by 'i' instead of 'i * 2'., ------------------------------------------------------------------------------------------ devilutionx.mk 016c400eab80344867c0499b950d82a923146ceb # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------------ Replace sound cues with placeholders, --------------------------------------------------------------------------------------- etlegacy.mk 0e23d912be34699e427baa10e78a7a7fac6b7fc0 # Version: Commits on Feb 11, 2026 --------------------------------------------------------------------------------------- etmain: skip single option menus in classmenu (#3287), --------------------------------------------------------------------------------------- openjazz.mk 954d5ede7018fc10683e747c86b867687132144b # Version: Commits on Feb 11, 2026 --------------------------------------------------------------------------------------- Merge branch 'feature/platform-abstraction', ---------------------------------------------------------------------------------------- openmohaa.mk 729e72ae40478a73eafe3a4e1567e7fbcfe03e05 # Version: Commits on Feb 10, 2026 ---------------------------------------------------------------------------------------- docs: update compiling documentation to reflect with the new CMake changes from ioquake3, -------------------------------------------------------------------------------------- stalker.mk 83ac6bbaa5f2c1248f30530b339426ce645832f7 # Version: Commits on Feb 11, 2026 -------------------------------------------------------------------------------------- fix: `m_opt_backup_value` not being initialized in `CUICheckButton` (#2049) Co-authored-by: Xottab-DUTY <xottab-duty@yandex.ru>, ---------------------------------------------------------------------------------------- supertux2.mk 035110f0f8e3fb7f5aab2b2f5275ae22f940a6c7 # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------- Floral blossom: remove spikes in pit [ci skip] Fixes #3611, ---------------------------------------------------------------------------------------------- batocera-pygame.mk f5396b1173c34f193752d61704fa77f14968867f # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------------- Rewrote videoplayer ffmpeg management, ------------------------------------------------------------ syncthing.mk v2.0.15-rc.1 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------ ## Major changes in 2.0 - Database backend switched from LevelDB to SQLite. There is a migration on first launch which can be lengthy for larger setups. The new database is easier to understand and maintain and, hopefully, less buggy. - The logging format has changed to use structured log entries (a message plus several key-value pairs). Additionally, we can now control the log level per package, and a new log level WARNING has been inserted between INFO and ERROR (which was previously known as WARNING...). The INFO level has become more verbose, indicating the sync actions taken by Syncthing. A new command line flag `--log-level` sets the default log level for all packages, and the `STTRACE` environment variable and GUI has been updated to set log levels per package. The `--verbose` and `--logflags` command line options have been removed and will be ignored if given. - Deleted items are no longer kept forever in the database, instead they are forgotten after fifteen months. If your use case require deletes to take effect after more than a fifteen month delay, set the `--db-delete-retention-interval` command line option or corresponding environment variable to zero, or a longer time interval of your choosing. - Modernised command line options parsing. Old single-dash long options are no longer supported, e.g. `-home` must be given as `--home`. Some options have been renamed, others have become subcommands. All serve options are now also accepted as environment variables. See `syncthing --help` and `syncthing serve --help` for details. - Rolling hash detection of shifted data is no longer supported as this effectively never helped. Instead, scanning and syncing is faster and more efficient without it. - A \default folder\ is no longer created on first startup. - Multiple connections are now used by default between v2 devices. The new default value is to use three connections: one for index metadata and two for data exchange. - The following platforms unfortunately no longer get prebuilt binaries for download at syncthing.net and on GitHub, due to complexities related to cross compilation with SQLite: - dragonfly/amd64 - solaris/amd64 - linux/ppc64 - netbsd/* - openbsd/386 and openbsd/arm - windows/arm - The handling of conflict resolution involving deleted files has changed. A delete can now be the winning outcome of conflict resolution, resulting in the deleted file being moved to a conflict copy. This release is also available as: * APT repository: https://apt.syncthing.net/ * Docker image: `docker.io/syncthing/syncthing:2.0.15-rc.1` or `ghcr.io/syncthing/syncthing:2.0.15-rc.1` (`{docker,ghcr}.io/syncthing/syncthing:2` to follow just the major version) ## What's Changed ### Fixes * fix(gui): show restarting modal during upgrade restart (fixes #1248) by @steadytao in syncthing/syncthing#10566 * fix(gui): remove width limit for language select items by @EastSun5566 in syncthing/syncthing#10531 ### Other * chore(gui): add id and name to Stay logged in checkbox for password managers by @epifeny in syncthing/syncthing#10558 * chore(db): add ability to wait for programmatically started database maintenance, query last maintenance time by @pixelspark in syncthing/syncthing#10565 * chore(etc): add comprehensive sandboxing by @Valloric in syncthing/syncthing#10421 * chore: build with Go 1.26; use Go 1.25 features by @calmh in syncthing/syncthing#10570 ## New Contributors * @epifeny made their first contribution in syncthing/syncthing#10558 * @steadytao made their first contribution in syncthing/syncthing#10566 * @EastSun5566 made their first contribution in syncthing/syncthing#10531 * @Valloric made their first contribution in syncthing/syncthing#10421 **Full Changelog**: syncthing/syncthing@v2.0.14...v2.0.15-rc.1, ---------------------------------------------------------------------------------------- retroarch.mk 5a389b5332002929340bc37cb81e4b9568c47ee5 # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------- ios: fix hang on phone call, --------------------------------------------------------------------------------------------- easyrpg-player.mk 2b3bee4c304369d80e4ce4beebf129be00db2492 # Version: Commits on Feb 10, 2026 --------------------------------------------------------------------------------------------- Merge pull request #3482 from Lt-knb/Transition-fixes Fix Mosaic and Wave, and other transition issues, -------------------------------------------------------------------------------------------- vpinball-next.mk 57cf9636068be62cb357c08c168e5dd84c591a2f # Version: Commits on Feb 11, 2026 -------------------------------------------------------------------------------------------- mobile: refactor iOS and Android apps., ---------------------------------------------------------------------------------------- doomretro.mk e90ff35130e0c1a1c2479a978e200850cf2bc277 # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------- Fix menu background glitching when transitioning widescreen off, ---------------------------------------------------------------------------------- trx.mk bb88b6bd84686100f3f8735cc341ca1504ef7a50 # Version: Commits on Feb 10, 2026 ---------------------------------------------------------------------------------- savegame: do not force NG+ guns on every level Resolves #4711., --------------------------------------------------------------------------------------------------- libretro-dosbox-pure.mk db325ff427e3d0df2e6c38bc75b00b6771e03b38 # Version: Commits on Feb 11, 2026 --------------------------------------------------------------------------------------------------- Set version to 1.0-preview5, ----------------------------------------------------------------------------------------------- libretro-easyrpg.mk 2b3bee4c304369d80e4ce4beebf129be00db2492 # Version: Commits on Feb 10, 2026 ----------------------------------------------------------------------------------------------- Merge pull request #3482 from Lt-knb/Transition-fixes Fix Mosaic and Wave, and other transition issues, ---------------------------------------------------------------------------------------------- libretro-ecwolf.mk 15c1aa3114b2b9cdb1baec0a6467b2b868371446 # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------------- Merge pull request #104 from warmenhoven/warmenhoven/pr/mod Uodate .gitlab-ci.yml, --------------------------------------------------------------------------------------------- libretro-fbneo.mk 417c218e5ca94875e9b094dc2caea5ee7b91fc49 # Version: Commits on Feb 11, 2026 --------------------------------------------------------------------------------------------- (libretro) update files, ------------------------------------------------------------------------------------------------- libretro-geargrafx.mk 6ed9922d0de63e7509a8a3296aeba1dedfb6a191 # Version: Commits on Feb 11, 2026 ------------------------------------------------------------------------------------------------- Refactor sound queue as module, ---------------------------------------------------------------------------------------------- libretro-ppsspp.mk 56b3c8674265a0203cf3276a4b410a264abe6766 # Version: Commits on Feb 11, 2026 ---------------------------------------------------------------------------------------------- Merge pull request #21241 from hrydgard/more-assorted-fixes Only clear vblank listeners on exec start, not flip listeners., --------------------------------------------------------------------------------------------- libretro-vba-m.mk 5239c713d851c749b0de8b68dff5abaa23897e91 # Version: Commits on Feb 11, 2026 --------------------------------------------------------------------------------------------- build: installdeps: add FAudio to FreeBSD pkg list Add FAudio-sdl3 to list of packages to install for FreeBSD in `installdeps`. Signed-off-by: Rafael Kitover <rkitover@gmail.com>,
Description of Changes
Adds some GSVector4i methods.
Rationale behind Changes
To make GSVector4i slightly more convenient and efficient to use. The abs32() method is used in #13943.
Suggested Testing Steps
Currently the methods not used in the codebase so they should just be checked for correctness.
@TellowKrinkle I named UZP1/2 to pkl32/pkh32 since it seemed complementary to upl32/uph32, though feel free to suggest an alternative.
I'm not 100% sure about the SSE port though I referred to https://docs.unity3d.com/Packages/com.unity.burst@1.7/api/Unity.Burst.Intrinsics.Arm.Neon.vuzp1q_u32.html.
Did you use AI to help find, test, or implement this issue or feature?
Yes, to find out what instructions to use for some methods, though it told me that my SSE port of UZP1/2 was incorrect.