90 Commits

Author SHA1 Message Date
Henrik Rydgård 28166cb35d Add "allocation slack" to our pushbuffers. Fixes a memory overwrite bug
Reported by Joseph on Discord.

Sometimes, things could align perfectly so allocations happend exactly
at the end of a pushbuffer. At the same time, we allow our vertex decoder to write an extra few
bytes if it needs to for speed. Unfortunately I missed this interaction,
resulting in some uncommon crashes that were especially common with
heavy-geometry things like modified GTA LCS with PS2 assets, for
example.

The problem was reported with Vulkan, but our OpenGL backend had the
same issue too.
2026-05-13 15:55:34 +02:00
ChrisF ca8736fc6a Adds one more image size (128x128) option for DXT1 block skipping in texture replacement 2026-03-06 14:07:03 -05:00
Henrik Rydgård 3ecb54e70a More tweaking of gamelist icons 2026-02-11 01:24:11 +01:00
Henrik Rydgård 14ddad5ce3 Change how defaults work in the inifile reader (more flexible this way) 2025-10-31 21:57:52 +01:00
Henrik Rydgård 947ddf865f Extract some duplicated code into a pngSave function 2025-09-15 11:46:54 -06:00
Henrik Rydgård 58dd4677e3 Fix issue with toggling texture saving via shortcut.
Fixes #20581
2025-07-08 13:51:09 +02:00
Henrik Rydgård c87a169563 Add missing string, ignore override ini filenames if "true" 2025-06-14 15:42:17 +02:00
Henrik Rydgård fba2489c79 Remove dubious parallelization in ELF loading, initialize a var, add some checks 2025-05-15 09:48:23 +02:00
Henrik Rydgård b7dae29865 Don't unnecessarily reload the ini file when entering/leaving settings 2025-04-22 20:42:53 +02:00
Henrik Rydgård 176edb93a5 IniFile: Add faster way of reading everything in a section, use it when reading hashes for texreplace 2025-04-22 17:35:40 +02:00
Henrik Rydgård b7cec64fb2 ZipFileReader: Small performance optimization when reading by filename 2025-02-13 11:42:46 -06:00
Henrik Rydgård eb10247d77 Skip showing regular notifications that don't have messages 2025-01-20 17:48:16 +01:00
Henrik Rydgård df6ed8cfc9 Do some cleanup of #includes in GPU 2024-12-18 13:57:26 +01:00
Henrik Rydgård 6a375b0ddc TextureReplacer: Load the ini, even if just saving. 2024-12-13 13:49:09 +01:00
Henrik Rydgård ec19c47b89 Add special texture hashing mode solving the Tag Force problem.
Don't want to build some complicated rule-based thing until we have more
use cases, so this is quite specialized.

See #19714
2024-12-10 19:24:20 +01:00
Henrik Rydgård 61d2459e94 Minor code cleanup 2024-12-10 19:24:02 +01:00
Henrik Rydgård 7f13bc1a34 Add new log category for texture replacements 2024-12-01 14:17:01 +01:00
Henrik Rydgård b195061a45 Add texture cache stats to ImDebugger 2024-12-01 13:57:07 +01:00
Henrik Rydgård c9df030703 TextureReplacer: Improve ini file loading error reporting 2024-11-30 13:52:08 +01:00
Henrik Rydgård e4c0ed7078 TextureReplacement: Call CloseFile as early as possible when loading textures. 2024-11-30 11:56:27 +01:00
Henrik Rydgård 7cc59dcda1 Savedata multiload: Do a directory listing so we can filter missing directories faster. 2024-11-30 02:44:01 +01:00
Henrik Rydgård a545d3074f Do some renaming, dedupe some strings (old commit resurrected), add an assert 2024-10-22 22:28:06 +02:00
Henrik Rydgård 6797a24199 Texture saving: Try to limp along if memory allocation of buffer memory fails 2024-10-10 16:01:00 +02:00
Henrik Rydgård 9b8f18298a Translation fixes, etc
Thanks @TotalCaesar659
2024-09-27 10:15:52 +02:00
Herman Semenov 192650f551 [Core/HLE/GPU/D3D11/GLES] Using for based loop C++17 and replaced on structured binding map C++17 2024-09-18 11:10:10 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 6575ba5487 Make screenshot notifications clickable (on platforms where it's possible) 2024-04-10 13:21:23 +02:00
Herman Semenov b57dab2812 [GPU] Make static and const methods if possible 2024-04-05 17:04:31 +03:00
Henrik Rydgård c5791764d8 Make the i18n T function use std::string_view
Buildfixes, crashfixes

One more

Android buildfix

Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård 768520dd0e Separate out the checks for save vs replace textures more, fixing some issues 2024-01-23 01:07:31 +01:00
Henrik Rydgård c6c0d0bf42 Android memstick folder moves: Do recursive moves if in the same device. Drastically faster. 2024-01-22 16:26:29 +01:00
Henrik Rydgård 6ae9d42516 Preparations for reworking the memstick folder move functionality 2024-01-22 15:56:07 +01:00
Henrik Rydgård d45f95e304 Limit to Windows to fix linker error 2024-01-18 16:08:23 +01:00
Henrik Rydgård daa9fab32a Don't try to replace textures if there's just an empty TEXTURES/{GAMEID} folder. 2023-12-29 19:06:43 +01:00
Henrik Rydgård 3ffcf267cb Allow replacing mip levels of a texture even without a ini file. Probably niche. 2023-12-29 19:06:20 +01:00
Henrik Rydgård 80c6dbfdfe Minor: bugfix in texreplacer, darker alpha chessboard in texture viewer 2023-12-28 19:46:36 +01:00
Henrik Rydgård 3895cfff74 Add "Analog trigger threshold" setting, for conversion of analog trigger inputs to digital button inputs. 2023-12-28 13:36:03 +01:00
Henrik Rydgård faef4aae2c Add a comment on how to fix the actual bug. 2023-12-25 17:39:28 +01:00
Henrik Rydgård c2963c7941 Fix issue where "Texture replacement pack activated" wasn't displayed without an ini 2023-12-25 13:25:28 +01:00
Henrik Rydgård 126d70cf9d Improve handling of texture packs without .ini files (not recommended, but exists) 2023-12-25 13:25:28 +01:00
Henrik Rydgård 849000a958 Texture replacer: Break out two functions from LoadIniValues 2023-12-25 13:25:27 +01:00
Henrik Rydgård 877324c978 Add comment about swizzling to the texture replacer hash 2023-12-07 11:01:51 +01:00
Henrik Rydgård 7f67a10543 Texture replacement: Prioritize ini file lines over files in the "root".
This reverts back to the old behavior, as mentioned in #18465
2023-12-03 00:18:39 +01:00
Henrik Rydgård d07c3c5148 Fix main-thread stalls due to decimate during replacement texture loading 2023-10-03 12:17:43 +02:00
Henrik Rydgård 6799e8a67b Add a little reminder that saving new textures is on, if they are. 2023-09-07 13:57:52 +02:00
Henrik Rydgård 42b0ccd07d Revert some unnecessary log changes from #18001 2023-08-29 23:13:45 +02:00
Henrik Rydgård af1a1c5182 Improve logging of bad filenames 2023-08-29 10:45:00 +02:00
Henrik Rydgård 412c4547cd textures.ini loader logging improvement 2023-08-28 16:34:58 +02:00
Henrik Rydgård ace217008a In D3D11, force block compressed textures to have dimensions divisible by 4
Fixes #17745 (crash when loading certain texture packs in D3D11)

This is an old unfortunate limitation. Only applies to the top mip
level, which makes it obvious that it's kinda unnecessary for the
hardware and indeed, Vulkan and OpenGL don't have this limitation.
2023-07-20 19:44:00 +02:00
Henrik Rydgård eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00