Commit Graph

7242 Commits

Author SHA1 Message Date
Stenzek 1ae2dcf192
GPU: Propagate initialization error to caller
Avoids double error popup.
2024-10-26 01:41:29 +10:00
Stenzek 6af71beed5
GPU: Work around nearest sampling issues on AMD
Fixes one-line flickering display in some games.
2024-10-26 01:40:44 +10:00
Stenzek b92eeec962
System: Warning fix 2024-10-25 20:45:11 +10:00
Bobby Smith 19ae3be0b0
Settings: Re-enable "Start Fullscreen" per-game (#3321) 2024-10-25 20:37:29 +10:00
Stenzek 080807e557
CDROM: Move subchannel replacement from CDImage
This will allow you to use SBI/LSD files with real discs, if your
drive does not support reading subchannels, or has an incorrect
skew.
2024-10-25 15:35:12 +10:00
Stenzek cdd230c040
ImGuiOverlays: Fix input overlay glyph clipping 2024-10-25 12:45:50 +10:00
Stenzek 903213c818
Hotkeys: Add hotkey to open cheat settings 2024-10-25 12:45:29 +10:00
Stenzek 7d2216c289
GameList: Avoid double fopen/read of EXEs 2024-10-23 21:20:28 +10:00
Stenzek 2d04f2eff9
System: Support loading .CPE files 2024-10-23 21:08:17 +10:00
Stenzek a8d846ac8f
Cheats: Use libzip for reading archive 2024-10-22 21:25:27 +10:00
Stenzek 631f32a4c9
Common: Add ZipHelpers 2024-10-22 20:46:35 +10:00
Stenzek 4963dc1759
Host: Make resource routines fill error object 2024-10-22 20:41:33 +10:00
Stenzek 485f81a02f
GPUDump: Support XZ compression 2024-10-22 19:40:03 +10:00
Stenzek 3a76485e4b
CompressHelpers: Support XZ compression/decompression 2024-10-22 19:40:02 +10:00
Stenzek 164c043e1b
InputManager: Add pressure/deadzone to macros
Arguably less useful than on the PS2, but is still applicable
to the left/right analog sticks.
2024-10-22 19:39:56 +10:00
Stenzek 396e7d994a
System: Make global safe mode always take precedence 2024-10-22 01:11:31 +10:00
Stenzek bd5a97feca
Qt: Fix global safe mode checkbox 2024-10-22 01:08:50 +10:00
Stenzek c11b250efe
Cheats: Search archives with disc set serials
That way the list is auto-populated for all discs.
2024-10-21 20:25:07 +10:00
Anderson Cardoso 63685ce5f8
Atualização Português do Brasil (#3320)
- Confirmado linhas movidas;
- Adicionado linhas referente aos novos controles;
2024-10-21 20:24:49 +10:00
Stenzek 32e62725dd
Pad: Implement RX/TX IRQs 2024-10-21 00:38:05 +10:00
Stenzek 6e1d8c5213
Qt: Fix settings clear not resetting input profile 2024-10-21 00:29:54 +10:00
Stenzek a9bfe2642f
System: Simplify error path in BootSystem() 2024-10-21 00:18:12 +10:00
Stenzek b62e58776e
System: Fix GPU usage disappearing on renderer change 2024-10-21 00:12:20 +10:00
Stenzek be268d8bf1
Qt: Fix safe mode not resetting on gamesettings clear 2024-10-21 00:09:11 +10:00
Stenzek 05c285f760
Settings: Fix cheats/patches not being removed on clear 2024-10-21 00:08:56 +10:00
Stenzek c250209336
System: Fix input profiles inheriting base settings 2024-10-21 00:05:32 +10:00
Stenzek 0d3501d435
Misc: Pass SettingsInterface by const reference 2024-10-20 23:59:47 +10:00
Stenzek 60f6ee3055
RegTest: Build fix 2024-10-20 23:21:49 +10:00
Stenzek 825dd13c6b
GameDatabase: Fix crash with deinterlacing mode 2024-10-20 23:21:39 +10:00
Stenzek 4ab22921c4
GPUDump: Add GPU dump recording and playback
Implements the specification from:

https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek 428c3e3426
Host: Fix error when switching to surfaceless 2024-10-20 22:02:22 +10:00
Stenzek 4666057158
SettingWidgetBinder: Add enum overload that populates dropdowns 2024-10-20 21:56:15 +10:00
Stenzek b277035734
Qt: Use Qt 6.8 thread helpers 2024-10-20 13:41:15 +10:00
Stenzek 056b629837
ImGuiManager: Add 'Screen Margins' (i.e. safe zone) 2024-10-20 13:17:22 +10:00
Stenzek e0bc03b525
Controller: Fix localization with new types 2024-10-20 12:55:10 +10:00
Stenzek 6cc350a459
Cheats: Serialize access to zips
Prevents the UI thread from trashing the zip struct while the
emulation thread is also reading.
2024-10-20 12:43:11 +10:00
Stenzek 5c4a9f9f1c
MinizipHelpers: Close file after reading 2024-10-20 12:43:11 +10:00
Anderson Cardoso ecc0356fb9
Atualização Português do Brasil (#3319)
Confirmado linhas movidas;
Adicionado linhas referente aos 2 novos controles.
2024-10-20 12:42:54 +10:00
Víctor "IlDucci 8cd4982c62
Spanish (Spain) translation update 2024/10/19 (#3317) 2024-10-19 22:54:56 +10:00
Stenzek 163cb2f653
MemoryScanner: Fix default operator value 2024-10-19 22:51:52 +10:00
Stenzek c279376cff
Qt: Fix menu creation from incorrect thread 2024-10-19 17:05:17 +10:00
Stenzek 43ed92415d
GPU/HW: Fix assert triggering in debug mode 2024-10-19 17:05:06 +10:00
Stenzek 9050098e3e
GameDatabase: Rework deinterlace mode selection
The mode can either be preferred (if the user has not chosen
progressive), or force (ignore user's choice).

Also remove it from a bunch of games which apparently no longer
need it? Very strange...
2024-10-19 17:02:22 +10:00
Stenzek e4a358cacb
Controller: Add Pop'n and Densha De Go Controllers
Variants of digital controller with different buttons grounded.
2024-10-19 16:23:01 +10:00
Stenzek 41c709ef6f
CMake: Reference shaderc/spirv-cross unconditionally
Should fix build with Vulkan disabled.
2024-10-19 13:15:00 +10:00
Anderson Cardoso cc275b6ff8
Atualização Português do Brasil (#3313)
Atualizado para a última versão [again] ;p
2024-10-19 13:02:13 +10:00
Stenzek 49134efe4e
Settings: Fix PGXP suboptions getting disabled
Regression from 005d48a387
2024-10-19 13:01:05 +10:00
Stenzek f83cbbda12
Qt: Work around a couple of Linux issues 2024-10-19 12:44:07 +10:00
Stenzek 76208f5f2d
System: Display localized trait names 2024-10-19 01:16:05 +10:00
Stenzek 57cf0f2643
System: Reload cheats/patches on safe mode toggle 2024-10-19 01:13:32 +10:00
Stenzek baa9065d2e
System: Add taints to save states
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Anderson Cardoso f0be61b819
Atualização Português do Brasil (#3312)
Atualizado para a última versão.
2024-10-19 01:13:15 +10:00
Stenzek b99ee59224
Qt: Add 'Rename File' to memory card editor
And context menu for ease of use.
2024-10-19 00:03:07 +10:00
Stenzek 50d8bb091f
MemoryCard: Add RenameFile() and localize errors 2024-10-19 00:03:07 +10:00
Stenzek 854a109a0f
Qt: Qt 6.8 deprecation fixes 2024-10-18 22:25:31 +10:00
Stenzek 86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows 2024-10-18 20:48:30 +10:00
Stenzek 6dc2f0a60b
Host: Add 'Auxiliary Render Windows'
i.e. debugging windows
2024-10-18 20:48:30 +10:00
Stenzek eb46142ee7
GPUDevice: Extract swap chain to separate class 2024-10-18 20:48:29 +10:00
Stenzek c6055affbf
OpenGLDevice: Fix invalidating pipeline cache on Windows 2024-10-18 20:48:29 +10:00
Stenzek 005d48a387
System: Don't display setting warnings without game 2024-10-18 20:48:29 +10:00
Stenzek e2cb54d233
Settings: Use uint getter/setter for more fields 2024-10-18 20:48:29 +10:00
Stenzek d4f3e004cf
Host: Add missing SetBaseUIntSettingValue() 2024-10-18 20:48:29 +10:00
Stenzek 972a0693b2
Memmap: Compatibility with old libc without MAP_FIXED_NOREPLACE 2024-10-18 20:48:29 +10:00
Stenzek 219e890da5
GPU/HW: Write through VRAM transfers
Reduces the chances of rendering nothing after device loss.
2024-10-14 18:20:48 +10:00
Anderson Cardoso afd36560c1
Atualização Português do Brasil (#3310)
* Atualização Português do Brasil

Confirmação de textos movidos;
Correções de consistência.

* Update 2

Adicionado e corrigido erro de digitação.

* Update 3

* Update 4
2024-10-14 12:47:46 +10:00
Stenzek 2604df5917
Qt: Fix crash when players column is visible 2024-10-14 12:47:09 +10:00
Stenzek 11c212260c
System: Only check controller changes when valid 2024-10-14 12:46:54 +10:00
Stenzek 4a57ccc3e8
Cheats: Strip leading * when importing old files 2024-10-14 12:44:23 +10:00
Stenzek a11ed649bf
Qt: Add keyboard navigation to memory view 2024-10-13 17:34:07 +10:00
Stenzek b3ae9cbe4a
Qt: Swap compatibility star image to SVG
Images originally provided by KamFretoZ, adjusted to better fit the
column width.
2024-10-13 17:08:56 +10:00
Stenzek e0b6f6f1b2
Cheats: Rewrite cheat management system 2024-10-13 16:43:22 +10:00
Stenzek 2079bac40b
StringUtil: Add FromCharsWithOptionalBase() 2024-10-13 16:43:22 +10:00
Stenzek 0d05548459
MinizipHelpers: Add ReadZipFileToString() 2024-10-13 16:43:22 +10:00
Stenzek d8fef6f22e
GameDatabase: Store strings as views
Saves duplicating everything in memory, and a ton of heap allocations.
2024-10-13 16:43:22 +10:00
Stenzek 86d66ddf82
StringUtil: Don't call data() on empty string_view 2024-10-13 15:33:38 +10:00
Stenzek 21ec3c1152
Qt: Fix automatic binding button in per-game controller settings 2024-10-13 11:56:20 +10:00
Stenzek 5ab65ff484
Qt: Remove now-duplicate flag icons 2024-10-12 16:51:17 +10:00
Stenzek 6e26ba3e9e
Qt: Display language flags instead of region 2024-10-12 16:49:07 +10:00
Stenzek ba0708a4ff
GameDatabase: Add parsing of Language field
Also speed up lookups through binary search.
2024-10-12 16:23:47 +10:00
Stenzek 2fc5856c44
StringUtil: Add CompareNoCase() 2024-10-12 16:21:34 +10:00
Stenzek 38a331fde4
ImGuiFullscreen: Support loading SVGs 2024-10-11 22:52:11 +10:00
Stenzek 3e26b7ab73
Image: Support rendering SVGs 2024-10-11 22:52:11 +10:00
Stenzek 3d5503612b
Image: Span and Error-ify 2024-10-11 22:52:11 +10:00
Stenzek 8680900788
ImGuiFullscreen: Fix horizontal menu items getting clipped 2024-10-11 22:52:11 +10:00
Stenzek 83a1386d0b
FullscreenUI: Collapse macro button settings by default 2024-10-11 21:40:35 +10:00
Stenzek 407dccb1db
Qt: Move GDB server enable to advanced options
And expose the port as a setting.
2024-10-11 21:26:06 +10:00
Stenzek 7ce4c34936
VulkanDevice: Scissor rect should never be negative 2024-10-11 21:19:16 +10:00
Stenzek 26b6c704f0
MemMap: Support dynamic page size selection
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek 0c2ab82252
System: Fix no-disc startup in later versions 2024-10-11 16:54:46 +10:00
Stenzek 1778507995
Atualização Português do Brasil (#3306)
Atualizado para a última versão.
2024-10-08 19:41:03 +10:00
Stenzek 32e96b02ca
FullscreenUI: Various fixes
- Fix mismatched X/Y in landing page.
- Fix mismatched X/Y submenus.
- Fix window padding on save state submenu.
- Fix pressing back/close on save state submenu closing list.
2024-10-07 12:51:27 +10:00
Stenzek 9ff4fbd21c
StringUtil: Fix incorrect end_ptr computation 2024-10-07 01:42:19 +10:00
Stenzek 3fb5fb4c72
System: Fix saving of subimage index 2024-10-06 18:06:51 +10:00
Stenzek c9f7ef5f9a
System: Fix reset when booting EXE 2024-10-06 13:36:46 +10:00
Stenzek 80971dac5a
AnalogController: Allow negative vibration bias 2024-10-05 16:07:33 +10:00
Stenzek 08bdffac64
GPU/HW: Fix toggling texture replacement settings 2024-10-05 13:50:36 +10:00
Stenzek 71bb953253
GPU/HW: Handle redundant texture window updates
Significantly reduces draw count in THPS2.

~150 draw calls per frame to ~70.
2024-10-05 13:06:45 +10:00
Stenzek 52389f48a6
GPU/HW: Fix force-round-coords with texture cache 2024-10-05 13:06:43 +10:00
Stenzek 2f331540b1
BIOS: Fix OpenBIOS initializer 2024-10-05 12:18:46 +10:00
Stenzek a83b642a2d
Settings: Disable texture cache in safe mode 2024-10-04 14:49:42 +10:00
Stenzek c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
And fix it.
2024-10-04 14:48:10 +10:00
Stenzek 887d588029
System: Further improve fastboot behaviour
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek 4d5e0b6c54
Settings: Don't create dumps/audio in userdir
Was replaced by media capture.
2024-10-01 23:06:34 +10:00
Anderson Cardoso 785692dbe1
Atualização Português do Brasil (#3304)
Atualizado para a última versão.
2024-10-01 23:04:11 +10:00
Stenzek 7e72b9fb7b
GPU/TextureCache: Fix palette reduction in C4 mode
It was only looking at the first row...
2024-10-01 23:01:19 +10:00
Stenzek 51fefb36a0
System: Fix crash when toggling SW with interpreter 2024-10-01 22:41:01 +10:00
Stenzek bd050ebb63
OpenGLDevice: Fix 16-bit texture uploads without PBOs 2024-10-01 22:02:27 +10:00
Stenzek 0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES 2024-10-01 21:14:58 +10:00
Stenzek 45c8f6ea56
BIOS: Make GetInfoForHash() public
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek 08fe20ad76
CMake: Add spirv-cross include path to util 2024-10-01 21:13:12 +10:00
Stenzek ccc3b114d4
FileSystem: Slight ifdef tidy-ups 2024-10-01 21:11:19 +10:00
Stenzek 07f410bc6a
Achievements: Mirror whacky rcheevos header handling 2024-09-29 20:38:46 +10:00
Stenzek 6dc4fa5c75
CDROM: Physical => SubQ in variables
Better describes what it actually is.
2024-09-29 18:01:44 +10:00
Stenzek 060146a37a
CDROM: Add SubQ Skew option
Fixes corrupted boss sprites in Captain Commando.

One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek 3081c4f5cd
Qt: Fix disabling of some texture dumping options 2024-09-29 16:19:20 +10:00
Stenzek 73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action 2024-09-29 16:13:31 +10:00
Stenzek d32143b319
ImGuiOverlays: Make escape close save state selector 2024-09-29 15:29:40 +10:00
Stenzek e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek 4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek fee5f760ad
Qt: Put RAIntegration in root menu bar 2024-09-28 22:34:57 +10:00
Stenzek b51def8a99
Qt: Support update checking without installing
i.e. what I'm going to do with packages, just open the
download page and let the user install it.
2024-09-28 22:25:42 +10:00
Stenzek 7d8ae9aa11
Packaging: Add SPEC and PKGBUILD 2024-09-28 22:07:14 +10:00
Stenzek ca6b99401b
Common: Build fix when compiling with AVX2 march 2024-09-28 19:43:23 +10:00
Stenzek 036e11f7a8
Qt: Remove unused variable 2024-09-27 22:48:43 +10:00
Stenzek 615781be39
GPUBackend: Don't rely on g_settings 2024-09-27 20:59:04 +10:00
Stenzek 4e880280bd
Qt: Fix inconsistent multitap addressing
And remove multiple copies of the same variables while we're at it.
2024-09-27 20:59:04 +10:00
Anderson Cardoso 82ed6bb1f3
Atualização Português do Brasil (#3303)
Atualizado para a última versão.
2024-09-27 20:58:51 +10:00
Stenzek 5995471de6
FullscreenUI: Disable rewind options unless enabled 2024-09-26 21:54:51 +10:00
Stenzek df8e950e6e
Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
And move it to the bottom of the dialog.
2024-09-26 21:54:51 +10:00
Stenzek 29da7f7211
System: Add 'Fast Forward Boot' option 2024-09-26 21:40:48 +10:00
Stenzek b36e2ce6be
CPU/CodeCache: Don't create a branch block with no delay slot
Can't compile that.
2024-09-26 20:55:13 +10:00
Stenzek c46ec398dc
GPU: Move software fill/write/copy into rasterizer namespace 2024-09-26 18:30:46 +10:00
Stenzek 495a0da8d4
Pad: Pack state in struct 2024-09-26 17:54:46 +10:00
Stenzek 58dc24cb0d
CDROM: Pack state in struct
Ensures locality, as with other subsystems.
2024-09-26 17:49:35 +10:00
Stenzek a26c3e5620
System: Add new 'Type 1B' fast boot
This saves approximately 2 seconds of boot time, as it no longer copies
the shell from ROM to RAM. The actual byte reads only take in the order
of 75ms, but because the BIOS executes the memcpy() out of uncached ROM,
the repeated instruction fetches take it up to almost 2 seconds...

It would be faster to read it from the CD-ROM...
2024-09-26 16:28:47 +10:00
Stenzek 0e4ca9cd93
CDROM: Fix CDDA playback in some obscure edge cases
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
Stenzek 4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD 2024-09-26 13:39:01 +10:00
Stenzek 991927151c
ImGuiOverlays: Fix scrolling offscreen with no-serial 2024-09-26 13:38:57 +10:00
Stenzek fd8f97f4d3
GPU/HW: Fix adaptive downsampling
Also rewrite shaders to improve blurring around edges of 3D objects
(e.g. FF7).

As a trade-off, the background does blur slightly less, but (imo)
it looks better overall, since you'll notice the foreground being
blurred much more than the background.
2024-09-26 13:25:53 +10:00
Stenzek 114effd9a1
CDROM: Simulate backwards 1T jump on short seeks
Fixes hangs in LMA Manager, Nightmare Creatures PAL with Interpreter.
2024-09-25 01:37:07 +10:00
Stenzek 3808217298
SPU: Handle ignore loop address with IRQs on
This was actually the issue with World Cup 98, not anything to do with
disc timing. Which makes more sense.

Game has IRQs enabled, but because it wasn't keyed on, the condition
never held true, therefore the new repeat address was immediately
overwritten.
2024-09-25 01:37:07 +10:00
Stenzek 2cfad2126d
Common: Missed another SSE4 instruction 2024-09-25 01:37:07 +10:00
Anderson Cardoso c0ada65336
Atualização Português do Brasil (#3302)
Atualizado para a última versão.
2024-09-23 23:23:14 +10:00
Stenzek b971125469
MSBuild: Support creating legacy SSE2 builds 2024-09-23 21:19:28 +10:00
Stenzek ed7a9e2f8c
CI: Refactoring and add Linux SSE2 builds
Windows will follow at some point.
2024-09-23 20:27:58 +10:00
Stenzek bfc914aaa9
CMake: Add DISABLE_SSE4 option
NOT recommended. Only if you ABSOLUTELY need it.

The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00
Stenzek d67b826033
CI/Flatpak: Improve install behaviour
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek dae38cb309
Qt: Fix gap in advanced graphics settings on Linux 2024-09-23 19:18:29 +10:00
Stenzek bb3d27f153
GPU/SW: Drop dithering function specialization
Reduces the code size by roughly half, which may be beneficial on
icache-starved processors.

Also fixes too-bright values being fed into the blending equation.
2024-09-23 01:01:07 +10:00
Stenzek 2768d27c05
Qt: Make log window legible in light theme 2024-09-23 00:50:51 +10:00
Stenzek 23ec40d032
Settings: Set log level to none if no sinks enabled 2024-09-23 00:26:48 +10:00
Stenzek 206f32e511
Qt: Fix early console debug output 2024-09-22 21:06:05 +10:00
Stenzek c439de6364
Common: SSE2 backsupport for vector classes
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek e1c876671a
Misc: More iNN => sNN 2024-09-22 21:06:05 +10:00
Stenzek 986e207cff
GPU/HW: Make batch shaders independent on resolution
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek f9941c3f68
GPU/HW: Reduce shader dependence on global constants
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek f169b892c1
GPU: Defer frame done if not running events
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
PugsyMAME 88bc3a2278
Fixed typo in F4 Cheat Type code (#3300)
Typo in my code, this fix will make it work properly on multiple find & replaces.
2024-09-22 21:05:44 +10:00
Stenzek 3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek 88381209b3
System: Fix crash when disabling runahead 2024-09-21 22:26:06 +10:00
Stenzek 1754ecf4f9
SPU: Get rid of second output stream 2024-09-21 22:26:05 +10:00
Stenzek df17528b18
Qt: Move threaded rendering toggle to Debug tab
Frees up some space.
2024-09-21 22:26:05 +10:00
Stenzek 54e5d93165
GPU/SW: Enable SIMD path and make default 2024-09-21 22:26:05 +10:00
Stenzek 19698559c3
System: Drop IPC server
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek ac8461a28b
System: Fix bogus SW thread CPU in OSD 2024-09-21 22:26:05 +10:00
Stenzek e617f17294
System: Set GPU timing enable on init/destroy
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek e7aa0495ab
System: Not all setting changes need to interrupt 2024-09-21 22:26:05 +10:00
Stenzek 40670726b4
GPU/SW: Fix SSE4 path and add 256-bit AVX2 path 2024-09-21 22:26:05 +10:00
Stenzek a7747c5be3
Common: Add 256-bit integer vector wrapper 2024-09-21 22:26:05 +10:00
Stenzek d07c7e4b68
Qt: Fix 100% CPU usage while downloading files
The wonders of having fast internet, you never realize when this happens
because it completes too quickly...
2024-09-21 22:26:05 +10:00
Stenzek 5f80cb1188
GPU/HW: Fix inaccurate shader progress counter 2024-09-21 22:26:05 +10:00
Stenzek b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek e056bcb5ff
AudioStream: Fix incorrect padding 2024-09-21 22:26:05 +10:00
Stenzek 96ece5de1c
SmallString: MSVC warning fix 2024-09-19 22:25:35 +10:00
Stenzek 0538b95d9b
GPU/HW: Reduce number of shaders/pipelines in default config
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
Mrlinkwii a5cd3ee7a8
UI : remove issue tracker button 2024-09-19 21:35:21 +10:00
Marcin Mitura 64655818ed
feat: Polish localization updates 2024-09-18 22:35:54 +10:00
Stenzek 292c1e0f06
Misc: Normalize OSD message keys 2024-09-18 22:35:50 +10:00
Stenzek 369599202c
StringUtil: Speed up EncodeHex()/append_hex() 2024-09-18 21:42:46 +10:00
Stenzek 401295ebdb
Common: Allow PRINTFLIKE to work on Clang
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek 8ba85d62dc
Pad: Fix stuck inputs after loading mismatched state pad type 2024-09-18 21:21:57 +10:00
Stenzek 8b67ed8536
CPU: Display loadstore offsets in hex
Also add 0x prefix to logical immediate operands, since it is printed
in hex, and normalize arithmetic operands.
2024-09-15 17:29:33 +10:00
Stenzek b96e6d1425
Qt/Debugger: Connect breakpoint checkbox 2024-09-15 17:15:47 +10:00
Stenzek 8fa406061a
CPU: Add SetBreakpointEnabled() 2024-09-15 17:15:38 +10:00
PugsyMAME b5768266bb
Quality of Life changes to breakpoints (#3297)
1. Made it so that breakpoints are checked for a match on 28 bits rather than the full 32 bits. It's much simpler to use 12345 rather than 80012345 and risk getting the number of zeros wrong and also handles the mirror code/memory accesses using 00??????, 80?????? & A0??????.
2. Added bp.hit_count update to execution breakpoints.
3. Changed the Hit breakpoint message at the bottom of the debugger screen to include the hit count [see notes later].
4. Added bp.enabled check to the execution breakpoint (it uses it in the r/w breakpoints code already) [see notes later].

Notes:
3. I've added the hit count to the message as it's quicker to spot but it's also a partial workaround as the Hit Count in the Breakpoints tab doesn't seem to get refreshed.
       4. I thought the checkbox in the Breakpoints tab would set the bp.enabled but it seems it has no affect on any type of breakpoint. The only way to stop a breakpoint is to delete it.
2024-09-15 07:17:08 +01:00
Stenzek 1ffd2f4149
Qt/Debugger: Improve row scrolling
Don't center the current PC unless we're going off screen, or requested
a specific address.
2024-09-14 02:07:08 +10:00
Anderson Cardoso fbb92e9225
Atualização Português do Brasil
Atualizado para a última versão.

PS: Refente a recente mudança na licença do emulador
Comentado aqui #3295 da minha parte fica liberado a alteração por parte do desenvolvedor de coisas que faço e/ou fiz: ícones, temas, traduções alguns ajustes antigos e afins para que fique de acordo com a modificação da licença atual.

PS: Regarding the recent change in the emulator license
Commented here #3295 on my part, the developer is allowed to change things that I do and/or have done:

Icons, themes, translations, some old adjustments and the like so that they are in accordance with the change in the current license.
2024-09-13 10:39:01 -03:00
Stenzek 6d637127f2
Qt: Fix memory view colours in light themes 2024-09-14 00:44:44 +10:00
Stenzek 350cf7ee32
GPUDevice: Use suffixed shaderc libname
Avoids conflicts with other installations of shaderc, e.g. the Vulkan
SDK, which might be in the user's LD_LIBRARY_PATH.
2024-09-13 23:05:01 +10:00
Stenzek d28f0fa4e6
Qt: Enable word wrap in Settings window list 2024-09-13 21:22:48 +10:00
Stenzek e17eaf77dd
ImGuiFullscreen: Disable border animation when smooth scrolling is off 2024-09-13 21:14:07 +10:00
Stenzek e03deb4928
System: Set realtime constraints on MacOS
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:23:57 +10:00
Stenzek d330dca38a
MetalDevice: Use CocoaTools methods 2024-09-13 19:52:09 +10:00
Stenzek d981dc7471
MetalDevice: Implement pipeline cache 2024-09-13 19:26:44 +10:00
Stenzek ad67ab7ec3
MetalDevice: Use TranspileAndCreateShaderFromSource() 2024-09-13 17:31:59 +10:00
Stenzek 6f31e562a0
MetalDevice: Implement timed present 2024-09-13 15:19:29 +10:00
Stenzek f2720b98dd
System: Reduce force-displayed-warning scope
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
Stenzek ddcb0cb541
Misc: Warning fixes 2024-09-10 23:53:27 +10:00
KamFretoZ d7ce028a42
Qt: Make Virtual Controller List Word Wrapped 2024-09-10 20:13:01 +07:00
KamFretoZ 66b4391ab9
Qt: Tweak Grey Matter Theme 2024-09-10 20:12:29 +07:00
KamFretoZ b6414756e5
Qt: Expand Controller List Width 2024-09-10 20:02:35 +07:00
KamFretoZ 065beff2da
Qt: Rename NeGcon Rumble controller name 2024-09-10 19:59:41 +07:00
KamFretoZ 0abd7c0524
Qt: Expand Controller Profile Dropdown Width 2024-09-10 19:56:38 +07:00
Stenzek 20b4581bbe
Settings: Remove second source of truth for OSD notifications
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:42 +10:00
Stenzek 2813b4bece
Achievements: Open profile on leaderboard selection 2024-09-09 22:10:06 +10:00
Stenzek 6c3f33804f
ImGuiFullscreen: Fix whole menu being unscrollable
If the first/last menu items were not enabled, e.g. settings pages
2024-09-09 21:37:52 +10:00
Stenzek 891d5cefbe
ImGuiFullscreen: Allow smooth scrolling 2024-09-09 21:57:08 +10:00
Stenzek e93dea5ad8
SPU: Connect 0x1F801DB8/0x1F801DBA writes
But I'm not aware of any games that actually use this, and if there is a
sweep active, it will be soon overwritten anyway.
2024-09-09 21:04:47 +10:00
Stenzek d1770b616f
Settings: Default console logging to running from TTY 2024-09-09 20:55:15 +10:00
Stenzek fe9d06a194
Qt/Debugger: Snap code view to center on goto address 2024-09-09 20:41:10 +10:00
Stenzek 936c945e73
Qt/Debugger: Highlight selection on dump address 2024-09-09 20:37:04 +10:00
Stenzek c633a6bacc
Qt/Debugger: Invalidate blocks on manual memory edit
Ensures recompiler isn't executing stale code.
2024-09-09 20:19:26 +10:00
Stenzek 128d5254ca
MSBuild: Disable RTTI on Windows builds
It's not used.
2024-09-09 19:22:41 +10:00
Stenzek e2a3fe14f0
Cheats: Prevent inlining of memory functions
Clang is way too eager here and inlines the whole thing hundreds of
times within CheatList::Apply().
2024-09-09 18:53:51 +10:00
Stenzek 7bcdf11240
MediaCapture: Fix audio timestamp drift
Fixes capture lag after approximately 10 minutes.
2024-09-09 17:27:22 +10:00
Stenzek de551c1836
D3D12Device: Fix crash when using media capture 2024-09-09 17:27:10 +10:00
Stenzek 559aff0ad5
D3D12Device: Use DXC and 12.0 feature level 2024-09-09 00:23:30 +10:00
Stenzek 4c31218d2b
GPUDevice: Add API version field
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek c42fb7c16e
GPUDevice: Support ingesting SPIR-V
Will be transpiled to HLSL -> DXBC for DirectX backends.
2024-09-08 22:11:58 +10:00
Stenzek 6a5f16d89a
VulkanDevice: Handle rare case of unaligned SPIR-V 2024-09-08 21:55:51 +10:00
Stenzek 432fd80f3d
PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan 2024-09-08 19:43:18 +10:00
Stenzek 86bff869bc
dep/reshadefx: Update to 7bdfb03 2024-09-08 19:19:58 +10:00
Stenzek 3078339f64
Common: Extract out ryml helpers 2024-09-09 00:35:31 +10:00
Stenzek b10f043350
StringUtil: Fix typo 2024-09-09 00:35:12 +10:00
Stenzek 1d83e72887
Achievements: Fix incorrect plural string 2024-09-08 11:51:31 +10:00
Anderson Cardoso b6c4d6dda9
Atualização Português do Brasil (#3293)
Atualizado para última versão.
2024-09-07 22:53:49 -03:00
shikulja d29444e948
Update Russian translation (#3292)
* upd ts

* Update Russian translation

* Update Russian translation
2024-09-08 04:53:42 +03:00
Stenzek 1956575710
Cheats: Fix detection of ungrouped cheat import 2024-09-08 11:49:59 +10:00
Stenzek 32a3311208
System: Add option to automatically resize window 2024-09-07 22:05:54 +10:00
Stenzek 9d6ec23dc4
Common: Fix GSVector natvis 2024-09-07 21:53:32 +10:00
Stenzek 940cc636d6
GPU: Fix internal res screenshot AR with None cropping 2024-09-07 20:19:28 +10:00
Stenzek af777c16ff
MediaCapture: Log video size 2024-09-07 20:19:07 +10:00
Stenzek 47a3cd44f3
CDROM: Support reading MODE1 sectors 2024-09-07 16:05:53 +10:00
Stenzek 1b2ff7e0e8
CDImage: Support reading MODE1 sectors 2024-09-07 16:05:43 +10:00
Stenzek 6ea2bb1810
Qt/Debugger: Auto refresh memory every 100ms 2024-09-07 13:39:14 +10:00
Stenzek 71ec59be06
Qt/Debugger: Highlight changed bytes in memory view 2024-09-07 13:19:01 +10:00
Stenzek ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek 4b0c1fdbf2
GPUDevice: Add recovery from lost device 2024-09-07 12:48:44 +10:00
Stenzek 1c1b82ed66
GPUDevice: Purge threaded presentation
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Mrlinkwii 95185b7308
FSUI : some misc fixes (#3291)
FullscreenUI: Some misc fixes
2024-09-06 13:55:17 +01:00
Stenzek 2e080d4998
Qt: Add edit function to debugger memory view 2024-09-06 22:48:50 +10:00
Stenzek 153d95982b
RegTest: Compile fix 2024-09-06 22:14:29 +10:00
Stenzek 929b049bd8
Qt: Save/restore additional window positions
Cheat Manager, Memory Scanner, CPU Debugger.
2024-09-06 20:43:43 +10:00
Stenzek ab1c85790c
CPU: Refactor execution mode switching
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
Stenzek 4c59513c79
GPUDevice: Fix pipeline cache loading
(again)
2024-09-06 18:00:00 +10:00
Stenzek a074699dab
Qt: Fix 'Boot and Debug' menu option 2024-09-06 17:45:59 +10:00
spacepaw 5b4d625d23
Add *.psx as a supported PS-X EXE file type (#3290) 2024-09-06 09:33:19 +02:00
Anderson Cardoso 4a2714150e
Atualização Português do Brasil (#3288)
Atualizado para a última versão.
2024-09-03 10:36:21 -03:00
Stenzek 129df8410e
PostProcessing/FX: Log pipeline creation error description 2024-09-03 23:28:27 +10:00
Stenzek a53dc85035
GPUDevice: Fix initial pipeline cache not being created 2024-09-03 22:45:42 +10:00
Stenzek 0458dfe8be
MemoryCard: Don't display message for empty card 2024-09-03 21:49:51 +10:00
Stenzek a7d8e6d018
Host: Add disambiguation variants for translations 2024-09-03 21:39:00 +10:00
Stenzek 060c5553c0
INISettingsInterface: Use FileSystem atomic update routines 2024-09-03 20:43:42 +10:00
Stenzek 87eded4bce
FileSystem: Fix FD leak with atomic updated file on Linux
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:10 +10:00
Stenzek 1eb1b03141
MemoryCard: Defer creation of card until first save
Also do not overwrite the card if it failed to load.
2024-09-03 20:13:03 +10:00
Stenzek 1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek 94911abdca
System: Display disabled enhancements in safe mode 2024-09-03 19:29:59 +10:00
Stenzek f9a594058f
Settings: Force Frame Timings => Force Video Timing
Also drop from GameDB, an override doesn't make sense here anyway,
due to the low success rate with the enhancement.
2024-09-03 19:06:26 +10:00
Stenzek 6d0f92d4fb
dep/fmt: Bump to v11.0.2 2024-09-03 17:54:43 +10:00
Stenzek 6a3b1a2725
MDEC: Vectorize 16 and 24-bit copy-out
Speedup of 15% and 6% in FMV playback respectively.
2024-09-02 17:57:26 +10:00
spacepaw 63abdb7afd
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings (#3287) 2024-09-03 10:50:45 +02:00
Stenzek 4c51337edd
ImGuiManager: Don't rasterize full glyph range for debug font 2024-09-02 12:37:58 +10:00
Stenzek 164a353352
System: Fix possible race condition in presence update 2024-09-02 12:12:41 +10:00
KamFretoZ b564f928bd
DiscordRPC: Add Rcheevos Icon Support (#3286) 2024-09-01 22:02:28 +07:00
Stenzek 51cfea49fe
ImGuiManager: Split OSD and debug window fonts
Fixes the latter not fitting on screen anymore.
2024-09-02 00:27:48 +10:00
Stenzek 5ed8af4236
Achievements: Shrink URL buffer sizes
They never end up being 512 bytes.
2024-09-01 23:51:16 +10:00
Anderson Cardoso 0945a9a27f
Atualização Idioma Turco
Update Turkish to latest.
Validated by a native speaker.
2024-08-29 22:19:14 -03:00
Anderson Cardoso 7b178594a0
Atualização Português do Brasil
Atualizado para última versão.
2024-08-26 18:30:00 -03:00
zkdpower 7f9a69b977
Update the Simple-Chinese translation to latest. (#3282) 2024-09-01 21:27:57 +08:00
Víctor "IlDucci bee80b0fea
Spanish (Spain) translation update 2024/08/30 (#3285)
- Adding translations for the latest changes.
2024-09-01 13:27:46 +00:00
Stenzek 88ee70ef8a
Misc: Remove unused files 2024-09-01 23:17:17 +10:00
Stenzek 7f4e5d55db
Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek aa955b8ae2
GPU/SW: Split out rasterizer, add dynamic selection 2023-12-23 20:38:41 +10:00
Stenzek 3fbdcdb4ff
AudioStream: Rewrite and integrate expander 2024-09-01 13:16:10 +10:00
Stenzek 14ab642ff3
Common: Add aligned_unique_ptr 2024-09-01 13:02:58 +10:00
Stenzek 81c9bdeeef
GSVector: Add a bunch of fp64 operations 2024-09-01 12:00:09 +10:00
Stenzek b84d3f14fc
SPU: Vectorize reverb resampling 2024-08-31 17:30:25 +10:00
Stenzek cdba1fe25a
Common: Rename iNN -> sNN 2024-08-31 14:38:20 +10:00
Stenzek ac139d96f1
CDImage/ECM: Use EDC/ECC functions from libchdr 2024-09-01 19:43:39 +10:00
Stenzek 7df5764835
Data: Remove license-incompatible shaders 2024-09-01 20:01:34 +10:00
Stenzek 63c7f4a893
GPU/HW: Fix assert with accurate blending + true colour on 2024-08-27 23:46:34 +10:00
Stenzek d651c9f477
GameList: Support excluding disc sets 2024-08-26 21:42:35 +10:00
Stenzek 542ef3a6c0
GPUDevice: Warning fix 2024-08-26 21:37:29 +10:00
Stenzek 667d1bf7c8
GPUDevice: Use CompressHelpers
And compress the pipeline cache. Saves a fair bit of disk space.
2024-08-26 21:33:28 +10:00
Stenzek f243dc075d
Host: Use CompressHelpers for ReadCompressedResourceFile() 2024-08-26 21:33:00 +10:00
Stenzek c7a6e7e483
SHA1Digest: Span-ify 2024-08-26 21:27:51 +10:00
Stenzek ae2e79f401
Util: Add CompressHelpers 2024-08-26 21:27:30 +10:00
Stenzek 2c27b20090
ImGuiManager: Remove unused function 2024-08-26 18:53:30 +10:00
Stenzek 63bf64b05d
ImGuiOverlays: Use actual recording icon 2024-08-26 18:55:15 +10:00
Stenzek 05c7e6009c
InputManager: Don't set key down for binds when ImGui has focus
Fixes unpausing etc when alt-tabbing.
2024-08-26 17:57:28 +10:00
Stenzek 940200f7f3
FullscreenUI: More animation fixes 2024-08-26 17:56:47 +10:00
Stenzek 46a6681159
CDROM: Fix incorrect clamp with seek speedup
And bump the minimum time up around 0.29ms or so, hopefully improve
stability in FF7.
2024-08-26 16:45:23 +10:00
Stenzek 344a4a6215
FullscreenUI: Navigation improvements
Improve default item focus, eliminate some animation glitches.
2024-08-26 15:47:50 +10:00
Stenzek e54c4c8101
ImGuiManager: Tweak OSD message size 2024-08-26 14:41:58 +10:00
Stenzek 7a05d5aca5
Achievements: Reset focus when opening windows 2024-08-26 14:21:09 +10:00
Stenzek b04f721d55
Achievements: Use plural form for points 2024-08-26 14:07:07 +10:00
Stenzek c9f5cfc1bc
Host: Add TranslatePluralToSmallString() 2024-08-26 14:06:57 +10:00
Stenzek 88e4bf6aad
SmallString: Tidy-up and add wide string helpers 2024-08-26 14:06:18 +10:00
Stenzek 6deb2eb390
Achievements: Fix badge download bug
Where it would download the incorrect icon if the locked badge was the
first image seen.
2024-08-26 00:15:32 +10:00
Stenzek a7f3d7b02d
ImGuiManager: Add CompactFontRange() 2024-08-25 23:39:14 +10:00
Stenzek e8b787fb57
Misc: Change various icons 2024-08-25 23:17:05 +10:00
Stenzek f30844cc40
ImGuiManager: Move glyph ranges to separate file 2024-08-25 22:52:21 +10:00
Stenzek f37a97bf18
Host: Add ReadCompressedResourceFile() 2024-08-25 17:48:12 +10:00
Stenzek 707453b596
FileSystem: Swap vector for DynamicHeapArray
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek b378ffb975
ImGui: Enable lunasvg 2024-08-25 14:39:59 +10:00
Stenzek f2c0303875
Misc: Use lightgun controller icon 2024-08-25 13:57:05 +10:00
Stenzek c8e61307b2
StringUtil: Use unicode replacement character in DecodeUTF8() 2024-08-25 13:56:01 +10:00
Stenzek 096a0811bf
dep/imgui: Bump to v1.91.0 2024-08-25 18:17:45 +10:00
Stenzek a8cac70ee6
Qt: Ensure window is raised after recreation
Should hopefully help with raw input issues.
2024-08-24 21:28:21 +10:00
Stenzek 72fc81a705
CMake: Add install target
Do **not** use this with /usr or /usr/local. It creates subdirectories
for resources/translations in the install prefix.

It's intended for creating a relocatable, self-contained bundle, which
can be packaged.
2024-08-12 18:49:28 +10:00
Stenzek 873b540b82
Deps: Switch to libjpeg-turbo 2024-08-24 18:08:15 +10:00
Stenzek 96b8e53fbf
Deps: Bump shaderc 2024-08-24 18:08:53 +10:00
Anderson Cardoso 1425b2fb40
Atualização Português do Brasil (#3281)
Atualizado para a última versão.
2024-08-24 01:26:20 -03:00
Stenzek 9dd83c4f9f
InputManager: Remove unused pointer type 2024-08-24 14:23:32 +10:00
Stenzek f0deab2131
InputManager: Fix wheel scrolling in Big Picture 2024-08-24 14:15:27 +10:00
Stenzek bda6869084
Qt: Implement per-game controller configuration 2024-08-24 14:10:25 +10:00
Stenzek 9e3507e0f4
InputManager: Support multiple mice via raw input
Only on Windows for now.
2024-08-23 22:31:59 +10:00
Stenzek 8b3fd538ea
System: Fix HW/SW rendering swap 2024-08-23 15:59:31 +10:00
Stenzek 5433b30fec
Qt: Always display version info in settings 2024-08-23 15:50:17 +10:00
Stenzek 417c1e43dd
MediaCapture: Load media foundation on-demand
Saves loading a few megabytes worth of DLLs for a feature most users are
not going to use.
2024-08-23 15:41:54 +10:00
Stenzek 1aa9c2d564
GameDatabase: Add DisableSpriteTextureFiltering trait 2024-08-23 15:18:55 +10:00
Stenzek 3578572aa1
CPU/NewRec/x64: Fix data corruption on lwl/lwr with PGXP 2024-08-23 14:33:37 +10:00
Stenzek ccd7ba9acf
Qt: Move language/theme setting to window 2024-08-20 23:27:42 +10:00
Stenzek 2971b2f34c
CPU/PGXP: Inline valid flag updates 2024-08-20 21:18:07 +10:00
Stenzek d4d813f043
CPU/PGXP: Identifier name consistency 2024-08-20 20:43:21 +10:00
Stenzek dadf388657
CPU/PGXP: Make validate a member function 2024-08-20 21:09:12 +10:00
Stenzek 491179a447
CPU/PGXP: Remove remaining C-isms 2024-08-20 19:12:51 +10:00
Stenzek a764954977
CPU/PGXP: Eliminate extra copy in SLT/SLTU 2024-08-20 18:35:49 +10:00
Stenzek 8629efc39c
CPU/PGXP: Purge macros 2024-08-20 18:33:18 +10:00
Stenzek 514116e6c3
CPU/PGXP: Rewrite SLL handler
Shift flags as well as the values.
2024-08-20 17:24:04 +10:00
Stenzek bcd2424db3
CPU/PGXP: Combine logical/arithmetic shift functions 2024-08-20 17:23:36 +10:00
Stenzek 3548bbcf90
CPU/PGXP: Combine static/variable shift instructions 2024-08-20 17:18:33 +10:00
Stenzek 2662694c04
CPU/PGXP: Purge psx_value completely 2024-08-20 16:55:24 +10:00
Stenzek fc375d76b5
CPU/PGXP: Purge psx_value from shifts 2024-08-20 16:42:51 +10:00
Stenzek 302652df22
CPU/PGXP: Purge psx_value from first half of instructions 2024-08-20 16:27:39 +10:00
Stenzek 9a6de196a3
CPU/PGXP: Use Instruction type 2024-08-19 22:22:18 +10:00
Stenzek 7dc78dbcd5
CPU/PGXP: Make MTC2/LWC2 behave the same 2024-08-20 20:06:04 +10:00
Stenzek 64a28aac53
CPU/PGXP: Fix typo in SLTU() 2024-08-20 19:27:26 +10:00
Anderson Cardoso b656e1d4ca
Atualização Português do Brasil (#3280)
Atualizado para a última versão.
2024-08-19 23:09:26 -03:00
Stenzek b9679dfb0b
System: Remove contradictory statement 2024-08-20 12:08:59 +10:00
Stenzek 6dd29eb88f
VulkanDevice: Fix incorrect log 2024-08-20 11:54:16 +10:00
Stenzek b089eaf084
Qt: Reduce dialog height 2024-08-20 11:54:09 +10:00
Stenzek 3455a0d151
System: Fix lockup with runahead enabled 2024-08-20 11:50:52 +10:00
Stenzek ef59a0da12
CPU: Fix assertion tripping in debug builds 2024-08-19 22:03:07 +10:00
Stenzek 41c8607782
TimingEvents: Don't defer frame done callback 2024-08-19 19:41:14 +10:00
Stenzek 86d4d92753
TimingEvents: Switch to 64-bit counters 2024-08-13 23:52:25 +10:00
Stenzek a0fcbba45c
SPU: Refactor volume envelopes
Properly handle phase inversion. Fixes left channel audio in Wipeout 3.
2024-08-19 01:38:28 +10:00
Stenzek fda6140088
GameDatabase: Add DisableAutoAnalogMode trait
For games that can handle analog controllers, but the sticks do not do
anything.
2024-08-18 20:33:15 +10:00
Stenzek aa9a5e383d
ImGuiOverlays: Change icon colour depending on controller mode 2024-08-18 20:30:45 +10:00
Stenzek b2577ef8bd
Qt: Work around theme switching bug 2024-08-19 15:11:39 +10:00
Stenzek 304f69e350
CDROM: Fix rare interrupt race when cancelling commands
Fixes hang during loading in Street Fighter Alpha 3.
2024-08-19 15:11:37 +10:00
Stenzek ee98912a42
SPU: Fix SPU_DUMP_ALL_VOICES option 2024-08-18 15:58:48 +10:00
Stenzek 3175214c92
MediaCapture: Fix MP3 audio encoding 2024-08-18 15:52:54 +10:00
Stenzek 3772706603
System: Look up media capture settings on-demand
No need to store them, save some memory.
2024-08-18 15:52:54 +10:00
Stenzek e2ea0bfec2
Qt: Fix link colouring in setup wizard 2024-08-18 15:52:54 +10:00
Stenzek 6f9e8efee5
Qt: Fix a couple of theme switching glitches 2024-08-18 15:52:53 +10:00
Stenzek 9d7a3b10c2
Settings: Fix incorrect videos directory 2024-08-18 13:05:47 +10:00
Stenzek 7ac3e2fe50
Settings: Don't create deprecated achievement cache directories 2024-08-18 13:04:14 +10:00
Stenzek c6d14febd2
System: Log information on startup 2024-08-18 12:50:16 +10:00
Stenzek b274bf4d57
System: Switch to new capture file on video FPS change 2024-08-18 12:34:25 +10:00
Stenzek 44a12db931
Log: Flush on every write
Slower, but if we crash, need the whole thing.
2024-08-18 12:18:10 +10:00
xujibbs ce7bbb47d5
FullscreenUI: Make "version" in Big picture translatable (#3279) 2024-08-18 12:16:18 +10:00
Stenzek 052930a8d8
System: Fix reset with Type 2 fastboot 2024-08-18 12:13:57 +10:00
Stenzek 681fab5da3
Qt: Update glyph ranges 2024-08-17 22:18:41 +10:00
zkdpower 823ce581d9
update Simple-Chinese translation to latest. (#3278) 2024-08-17 22:18:10 +10:00
Anderson Cardoso 7810c95962
Atualização Português do Brasil (#3277)
Atualizado para a última versão
2024-08-17 22:17:59 +10:00
Stenzek add46248a3
Qt: Fix list focus restoration after system shutdown 2024-08-17 22:13:33 +10:00
Stenzek 2f5aa45e1f
SPU: Fix incorrect envelope rate 2024-08-16 21:39:33 +10:00
Stenzek 2e2451998c
Misc: Fix ARM32 build (again) 2024-08-14 21:39:29 +10:00
Stenzek 460acce561
MDEC: Ensure alignment of inputs 2024-08-14 21:39:04 +10:00
Stenzek f2896d55b8
RegTest: Report performance stats on exit 2024-08-14 21:39:04 +10:00
Stenzek 159254c37a
RegTest: Fix OOB array read 2024-08-14 21:39:04 +10:00
Stenzek f5815f3183
ImGuiFullscreen: Display checkmark on right of choice dialog 2024-08-13 18:09:30 +10:00
Stenzek 05f9f33ec6
ImGuiFullscreen: Fix choice popup selected drawing over border 2024-08-13 18:09:30 +10:00
Stenzek 7756c5a5e9
Qt: Fix log window mouse interaction 2024-08-13 18:09:30 +10:00
Stenzek 13a37418e6
FullscreenUI: Fix popup close resetting window scroll 2024-08-13 18:09:30 +10:00
Stenzek f99d5ff39d
FullscreenUI: Fix saving of list options (e.g. controller settings) 2024-08-13 18:09:30 +10:00
Renzo Pigliacampo 0af2c01a18
Updated Spanish (Latin America) translation (#3275) 2024-08-13 15:11:10 +10:00
Stenzek 09cdd986b9
Qt: Clarify BIOS support in setup wizard 2024-08-13 15:10:24 +10:00
Stenzek a6ba2b5e20
BIOS: Prioritize image enumeration
Launch console BIOS is de-prioritized due to bugs.
Late PAL is de-prioritized due to additional regional checks that break import booting without fast boot.
PS2 is de-prioritized due to requiring a dynamic fast boot patch.
PS2 PAL is further de-prioritized due to additonal region checks.
2024-08-13 15:09:13 +10:00
Stenzek 421bd23dc8
Bus: Add stub for SIO2 accesses
But only enable it when using a PS2 BIOS. I could put the check in the
handler registration, but realistically this is basically never going to
be called, so better to keep things simple.
2024-08-13 14:48:18 +10:00
Stenzek e96320daf0
BIOS: Add Type 2 fastboot patch (PS2) 2024-08-13 14:47:40 +10:00
Stenzek cbbfc2f11a
StringUtil: Add BytePatternSearch() 2024-08-13 14:47:11 +10:00
Stenzek 9e09f53566
Core: Add constexpr MIPS Encoder
From https://raw.githubusercontent.com/grumpycoders/pcsx-redux/main/src/mips/common/util/encoder.hh
2024-08-13 14:46:42 +10:00
Stenzek 71738d12e0
GPU: Clear RT before sending to media capture
Fixes junk in inactive areas on Mac.
2024-08-12 22:17:45 +10:00
Stenzek f48d3b4636
CMake: Copy FFmpeg dylibs into Mac bundle 2024-08-12 22:17:45 +10:00
Stenzek 5786f3a8c9
System: Fix loading state without media 2024-08-12 21:22:32 +10:00
Anderson Cardoso 3e708d066c
Atualização Português do Brasil (#3274)
Atualizado:

-Diretório de Pastas
-Janela principal
-Sitema/BIOS
-Atalhos

Novo:
-Opções de gravação
-Media e captura

Corrigido:
-Textto e consistência
2024-08-12 21:22:23 +10:00
Stenzek da4b5df656
MediaCapture: Add FFmpeg backend 2024-08-12 16:29:03 +10:00
Stenzek ee07e9e0f1
Hotkeys: Move Toggle Media Capture to General 2024-08-12 16:29:03 +10:00
Stenzek 8ad912c340
MediaCapture: Handle BGRA for MediaFoundation 2024-08-12 15:20:32 +10:00
Stenzek 422a0a0ead
MediaCapture: Fix OpenGL capture 2024-08-12 14:48:21 +10:00
Stenzek c30c4a5d0a
GPU: Fix possible race in screenshot 2024-08-12 14:48:21 +10:00
Stenzek 9a58327cf2
GPU: Vectorize VRAM fills 2024-08-12 00:20:53 +10:00
Stenzek abbb21ffec
GPU: Approxiate texture cache reload time for P8/C16 sprites 2024-08-11 23:50:37 +10:00
Stenzek db4e28f44c
GPU: Add cycle penalty for reloading CLUT 2024-08-11 23:50:37 +10:00
Stenzek 00a58eb4e5
Bus: Fix sideloading EXEs without initial SP value 2024-08-11 23:50:37 +10:00
Stenzek 62eb557832
MediaCapture: Warning fix 2024-08-11 23:50:37 +10:00
Stenzek af47eb6956
System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek 5f8082734e
VulkanDevice: Fix download inside render pass 2024-08-11 20:44:16 +10:00
Stenzek 290c44f4c0
Error: Add TakeDescription() 2024-08-11 20:43:13 +10:00
Stenzek 8295fd9c3a
GPUDevice: Fix debug assertion tripping in Vulkan 2024-08-10 14:05:30 +10:00
Stenzek b72e622ae0
CubebAudioStream: Remove leftover field 2024-08-10 13:15:55 +10:00
Stenzek 34df233a95
VulkanDevice: Enable VK_KHR_maintenance4 and 5 2024-08-10 12:33:01 +10:00
Stenzek 010c7dea33
dep: Bump vk_mem_alloc to 871913d 2024-08-10 12:21:51 +10:00
Stenzek 98b1a703f3
GPU/HW: Use texture instead of RTs for rewind/runahead w/o MSAA 2024-08-10 01:24:38 +10:00
Stenzek 76f6eafdbc
Qt: Fix folder selection title bar 2024-08-10 00:14:01 +10:00
Stenzek 55d095174f
CDROM: Defer init completion until after seek
Reduces leaky reverb in some games.
2024-08-10 00:13:59 +10:00
Anderson Cardoso 624ab4d377
Atualização Português do Brasil (#3273)
Atualização Português do Brasil 

	Atualizado:

- Opções de compressão
- Configurações avançadas
- Modo tela cheia e Interface de usuário

	Correção:
- Erros de digitação
2024-08-09 12:36:24 +10:00
Stenzek d1f0669374
SPU: Ensure all samples are generated prior to DMA write 2024-08-09 12:36:24 +10:00
Stenzek c97516b01d
CDROM: Further improve seek timing
Fixes background music in World Cup 98, background noise in Idol
Promotion - Yumie Island, probably others.
2024-08-09 12:36:24 +10:00
Stenzek 8ad133dbc0
FileSystem: Fix crash on file open fail in WriteAtomicRenamedFile() 2024-08-09 12:36:21 +10:00
Stenzek b2ca23e9da
GPU: Use full display rect for postfx calculations 2024-08-06 17:38:08 +10:00
Stenzek 4f16cb61b4
GPUDevice: Expose swap chain clear colour 2024-08-06 17:35:27 +10:00
Stenzek aeb9d383ce
System: Add save state compression mode options 2024-08-06 17:02:21 +10:00
Stenzek 70411783cd
System: Make more functions static 2024-08-06 16:10:15 +10:00
Stenzek e6a682f8d5
System: Reduce rewind/runahead memory usage w/o 8MB enabled 2024-08-06 16:02:18 +10:00
Stenzek 81295c8a7d
FileSystem: Correctly use lstat() on Linux 2024-08-06 15:52:26 +10:00
Stenzek 3a08ad1840
Qt: Purge some unused debug menu options 2024-08-06 15:32:40 +10:00
Stenzek efc821bc84
VulkanDevice: Fix incorrect condition in UnbindTexture() 2024-08-06 15:32:40 +10:00
Stenzek 0517aef5bd
CDROM: Don't allow deferred INT1 after Pause ACK 2024-08-06 13:34:11 +10:00
Stenzek e499f9052a
MemMap: Fix inverted condition 2024-08-05 13:08:42 +10:00
Anderson Cardoso 2fb5e4495d
Atualização Português do Brasil (#3272)
Atualizado para a última versão.
2024-08-05 12:55:52 +10:00
Stenzek 6c5ffba18e
MemMap: Fix object leak on fallocate() failure 2024-08-05 12:39:17 +10:00
Stenzek 79bb5f079c
GPUDevice: Fix SPIRV-Cross load error on Mac 2024-08-05 01:12:17 +10:00
Stenzek d862043f1d
CMake: Fill version in bundle info plist 2024-08-05 00:59:31 +10:00
Stenzek 6e795c8977
CMake: Fix duplicate SPIRV-Cross library on MacOS 2024-08-05 00:05:03 +10:00
Stenzek 35dd4fde36
Qt: Fix incorrect list access for async cover load 2024-08-04 22:48:10 +10:00
Stenzek 0c15c9eaa8
Qt: Fix bug where config-based RAIntegration occasionally failed 2024-08-04 21:03:42 +10:00
Stenzek c3bf267936
System: Remove redundant remap 2024-08-04 21:03:39 +10:00
Stenzek 02fbfae6a0
System: Add advanced 'Export Shared Memory' option
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek c538df317a
GameDatabase: Add crop mode override 2024-08-04 18:59:21 +10:00
Stenzek 6c0a0e6203
GPU: Fix incorrect lightgun line with force progressive 2024-08-04 17:54:19 +10:00
Stenzek ec5d8cb1d6
Achievements: Use badge IDs from server
Fixes icons not invalidating if they're changed/reassigned in the RA
database.
2024-08-04 17:00:08 +10:00
Stenzek f9079b0151
CDROM: Display XA coding info in debug window 2024-08-04 16:30:04 +10:00
Stenzek ee538ae0ea
CDROM: Improve resampling quality of 18900hz XA 2024-08-04 16:21:35 +10:00
Stenzek a2f98541b3
Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek 143acca03b
Core: Purge resources.cpp
Save around 64KB in binary size.
2024-08-04 14:13:15 +10:00
Stenzek 5b590d434b
D3D11Device: Fix blend state not applying to MRTs 2024-08-03 02:06:20 +10:00
Stenzek 30c5ebae72
GPUDevice: Fix instances of RWTexture not clearing 2024-08-03 02:05:21 +10:00
Stenzek 1b9b4699d9
Qt: Fix render-window-resize with 270deg rotation 2024-08-03 01:19:22 +10:00
Stenzek 7cbd67ecf1
MSBuild: Remove redundant include 2024-08-03 01:19:04 +10:00
Stenzek a793741747
Qt: Slightly bump grid view font size 2024-08-03 01:00:10 +10:00
Stenzek 9a626caad9
Qt: Reduce game list jank after shutting down VM
Prevents progress bar briefly appearing, and the list scrolling to the
top when you exit a game.
2024-08-03 00:50:04 +10:00
Stenzek 3a83c4265c
Misc: Fix a bunch of code analysis warnings
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek 4eb3b2a9a7
dep: Remove soundtouch 2024-08-02 21:59:57 +10:00
Stenzek 6d70d24bc4
AudioStream: Swap to shared soundtouch library
Yay licensing requirements.
2024-08-02 21:49:19 +10:00
shikulja 0afcbd3acc
Update Russian translation (#3269)
* upd ts

* Update Russian translation
2024-08-02 21:48:32 +10:00
Anderson Cardoso f1f57d88ce
Atualização Português do Brasil (#3267)
Atualizado para a última versão.
2024-07-29 22:07:03 +10:00
Víctor "IlDucci 2f90651c3f
Spanish (Spain) update - 2024/07/29 (#3266)
- More backported terms from PCSX2: save states and save state slots now share the same names.
- Backports of the Achievement texts.
- Added myself to the CONTRIBUTORS list, as all the Latin American Spanish translators were present and I was not.
2024-07-29 22:06:56 +10:00
Stenzek 33f6cc246e
System: Use default compression level
I'd intended to make this an option.
2024-07-29 22:06:21 +10:00
Stenzek 410cea0f12
PostProcessing/FX: Use ToChars instead of to_string()
More locale mess.
2024-07-29 20:38:55 +10:00
Stenzek e0911d7f54
GPU/HW: Fix spec violation with Vulkan fbfetch 2024-07-29 17:27:33 +10:00
Stenzek 0321a2cdc4
Common: Purge ByteStream 2024-07-29 17:27:32 +10:00
Stenzek 6ce9e571ed
Misc: Purge remaining ByteStream references 2024-07-29 17:27:32 +10:00
Stenzek a6518ff9dc
System: Rewrite save state I/O
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek dd8bf2c9d9
MemoryCard: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek b5009da2bc
GameList: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek 7aaaf7c575
GameDatabase: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek c83b5fdd05
FileSystem: Add AtomicRenamedFile 2024-07-29 17:27:32 +10:00
Stenzek ab7a3e1934
BinaryReaderWriter: Add class for files as well as spans 2024-07-29 17:27:32 +10:00
KamFretoZ a3f8162488
Qt: Add a new Justifier controller icon (#3264) 2024-07-29 13:22:38 +10:00
Stenzek b6b0997e70
Build: Favor git repositories over in-tree patches
Too messy.
2024-07-28 19:06:18 +10:00
Stenzek 876f212685
DynamicLibrary: Add patch to versioned filename 2024-07-28 19:06:17 +10:00
Stenzek 40356fc381
FileSystem: Remove unnecessary checks 2024-07-28 19:06:17 +10:00
Stenzek 6fe0c986fa
System: Rewrite EXE override/loading
Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.

Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
2024-07-28 19:05:56 +10:00
Stenzek 7b99fcbbf3
GPU: Fix edge bleeding with Bilinear Integer scaling 2024-07-28 14:08:28 +10:00
Stenzek a3acb0c5db
GPU/HW: Always allow shader blend with fbfetch 2024-07-27 19:52:08 +10:00
Víctor "IlDucci 5026e1b276
Spanish translation update 2024/07/27 (#3263)
- Added the latest strings.
 - Continued the backport of elements from PCSX2.
2024-07-27 14:32:05 +10:00
Anderson Cardoso fcd4e60af1
Atualização Português do Brasil (#3262)
Atualizado para a última versão.
2024-07-27 14:31:51 +10:00
Stenzek c2d24f436c
CDROM: Re-enable error-on-seeking-pause behaviour
See the comments in the diff. This **will** cause lag in Final Fantasy
VII during preload areas, but that has also been confirmed on console.

Duke Nukem - Total Meltdown does this silly Read -> Pause command chain,
except it sets its data/INT1 callback on the read, but never clears it
after the pause. Therefore, if it doesn't receive at least one sector,
the callback never gets cleared, and when the next read happens, it
stores the "current" callback in the "backup" variable, which should be
null, but now has the callback from the dud read.

The result is any INT1 during XA playback running the dud callback,
which says "hey, I'm not expecting any data, so pause, and stops the
background music playback. Making sure at least one sector from that
silly chain is delivered ensures the callback is cleared, and this does
not happen.

Since the pause first mentioned above will now error out until the first
sector is delievered, the game spams pause until it eventually does
succeed after the INT1. This behaviour has also been verified on
hardware, thanks to rama for the xStation logs.
2024-07-27 14:24:23 +10:00
Stenzek 440e08cf3e
Qt: Fix crash opening game compatibility report 2024-07-27 01:31:22 +10:00
Stenzek 7a3a72ec3d
GPU: Add display rotation option 2024-07-26 23:09:33 +10:00
Stenzek 5656f91bd2
Qt: Fix missing line on first postfx category 2024-07-26 15:34:49 +10:00
Stenzek 3282366ea7
PostProcessing/FX: Preserve option declaration order 2024-07-26 15:34:49 +10:00
Stenzek e455a5e371
ImGuiFullscreen: Fix incorrect notification width 2024-07-26 14:16:23 +10:00
Anderson Cardoso 1771bfad58
Atualização Português do Brasil (#3259)
Atualizado para a última versão.
2024-07-24 01:30:32 +10:00
Stenzek 0f4af03730
CMake: FreeBSD build fix
cpuinfo is still broken, will fix that another day.
2024-07-24 01:28:28 +10:00
Stenzek 0b5287f199
Bus: Implement RAM_SIZE register
Fixes Rock-Climbing - Mitouhou e no Chousen - Alps Hen (Japan) crashing
on boot. Silly game does a 512 word DMA from CDROM to 0x001FFF04, with the
mapped memory size set to 4MB, expecting the DMA to trigger a bus error,
because if it doesn't, then your kernel memory goes bye bye.

A bunch of other games do set the upper 4MB to be unmapped, but this
change appears to have no effect on them. As expected, they're probably
doing the correct thing.
2024-07-24 00:14:17 +10:00
Stenzek dce1221021
Bus: Log when RAM_SIZE changes 2024-07-23 23:00:44 +10:00
Stenzek 68575d15a4
CDROM: Shift instead of divide in ZigZagInterpolate 2024-07-23 22:10:04 +10:00
Stenzek 5ec9c8a397
CDROM: Fix handling of 8-bit ADPCM and decoder overruns
Fixes pops in menu music in Simple 1500 Series Vol. 92 - The Tozan
RPG - Ginrei no Hasha.

I haven't seen anything that _properly_ uses 8-bit ADPCM yet. The above
game does, but only in the inaudible portion of the start of the track.
2024-07-23 21:54:22 +10:00
Stenzek 861d4a5aa2
FullscreenUI: Reorder graphics settings to match Qt 2024-07-23 21:11:01 +10:00
Stenzek 5e8870ec69
D3D12: Avoid redundant render pass restarts 2024-07-23 21:11:01 +10:00
Stenzek 0407f939fc
CPU: Fix loading recompiler-saved states with interpreter 2024-07-23 21:11:01 +10:00
Anderson Cardoso b7bfbc0cf6
Atualização Português do Brasil (#3258)
Atualizado para a última versão.
2024-07-23 14:47:20 +10:00
Stenzek 2a617c505a
GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek 1006fa00da
GPUDevice: Add support for Raster Ordered Views 2024-07-23 14:46:06 +10:00
Stenzek e743c5d1b1
GPU/HW: Force update CLUT on save state
Fixes switching from hardware->software renderer in games that are
drawing without reloading the CLUT.
2024-07-22 21:25:14 +10:00
Stenzek 298f39a0c8
GPU/HW: Fully report shader/pipeline creation failures 2024-07-22 15:43:18 +10:00
Stenzek ba6b65401d
GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
Stenzek deed0c9713
GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
Stenzek fe55446c25
ImGuiManager: Fix stutter when multiple OSD messages lapse 2024-07-22 14:59:55 +10:00
zkdpower 28c74f1325
update the Simple-Chinese translation to latest. (#3257) 2024-07-22 14:38:58 +10:00
Stenzek 533022bb7d
Qt: Ensure fullscreen UI is stopped on exiting 2024-07-21 20:29:38 +10:00
Stenzek 2938602d75
Qt: Remove BIOS search directory from per-game settings
Rather than just disabling it and confusing the user.
2024-07-21 16:22:30 +10:00
Stenzek b4136d2834
TimingEvents: Avoid heap allocation in SortEvents() 2024-07-21 16:15:40 +10:00
Stenzek 022b2fc013
Qt: Disable incompatible settings in game properties 2024-07-21 16:10:39 +10:00
Stenzek ad374ef5e2
Sockets: Use epoll on Linux 2024-07-21 16:10:39 +10:00
Stenzek 78800870bc
Sockets: Properly handle POLLHUP events
Stops client socket leaking.
2024-07-21 16:10:39 +10:00
Stenzek 6b78364eab
Sockets: Ignore SIGPIPE on Linux
Stops our process terminating if the socket is disconnected
mid-write.
2024-07-21 16:10:39 +10:00
dreamsyntax d9ada75d4f
Qt: Toggle for DualSense Player LED (#3254) 2024-07-21 16:07:36 +10:00
Stenzek 3172eac8df
PINE: Disable nagle buffering 2024-07-21 13:43:21 +10:00
Stenzek cc667cd88c
Sockets: Add SetNagleBuffering() 2024-07-21 13:43:14 +10:00
Stenzek f2e88ce0e5
PINE: Add MsgReadBytes/MsgWriteBytes 2024-07-21 13:34:10 +10:00
Stenzek 79644bfb2a
CPU: Add Safe{Read,Write}MemoryBytes 2024-07-21 13:33:54 +10:00
Stenzek f1f89d3f0f
BinarySpanReaderWriter: Add subspan methods 2024-07-21 13:33:41 +10:00
Stenzek 52f9e8556a
CDROM: Deactivate command attempt before queueing another
Reduces chances of ending up with unordered events.
2024-07-20 22:35:32 +10:00
Stenzek efd8aab437
TimingEvents: Fix events ending up out-of-order 2024-07-20 22:35:32 +10:00
Stenzek 9b77a9aff7
TimingEvents: Move interrupt dispatch to end of loop
Saves another iteration.
2024-07-20 13:42:01 +10:00
Stenzek 4f7ddfaae6
TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek 56dd9878e1
Misc: RISC-V build fixes 2024-07-19 22:25:57 +10:00
Stenzek 0815aedca2
FileSystem: Drop use of stat64()
We define _FILE_OFFSET_BITS on 32-bit Linux anyway.
2024-07-19 22:25:57 +10:00
Stenzek 2e96931c32
CPU/CodeCache: Dynamically compute BIOS memory access timing
The timings can change if the game does so. Instead of forcing the
blocks to recompile, we can just manually multiply size * word_time.

Improves stability of Nightmare Creatures booting, and fixes corrupted
text in Formula Circus when using the cached interpreter.
2024-07-19 22:25:57 +10:00
Stenzek 5f36c2948f
Updater: Fix missing newline on MacOS 2024-07-19 17:47:51 +10:00
Stenzek d9a224ef6c
GameList: Fix bogus entries on disc change due to disc set 2024-07-19 15:51:25 +10:00
Stenzek 6a920b268e
CDROM: Handle BFRD clears inbetween DMA transfers
Fixes disc detection in Metal Gear Solid: Special Missions.
2024-07-19 15:51:25 +10:00
Stenzek f0945ca3ca
BIOS: Refactor loading/hashing of images
Fixes identification of PS2 BIOSes. However, they are not (yet) fastboot
compatible.
2024-07-19 15:51:25 +10:00
Stenzek 19063d4288
Bus: Mirror BIOS area up to 4MB
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
Stenzek 7217536fdd
MD5Digest: Span-ify 2024-07-19 15:51:25 +10:00
Stenzek 41e15539f9
FileSystem: Add Error parameter to more functions 2024-07-19 15:51:25 +10:00
Stenzek a6cf320776
Qt: Fix scan percent dropping back to 0% at end 2024-07-19 15:51:25 +10:00
Stenzek 6176a21ff1
ProgressCallback: Eliminate redundancy and drop C format strings 2024-07-19 15:51:25 +10:00
Stenzek 24ef76bfee
StringUtil: Purge StdStringFromFormat() 2024-07-19 14:01:16 +10:00
Stenzek 567b86ce79
Host: Purge ReportFormattedDebuggerMessage() 2024-07-19 14:00:29 +10:00
Stenzek aa94b07f30
Qt: Purge format string usage from AutoUpdaterDialog 2024-07-19 13:54:00 +10:00
Stenzek ca2a8f1e1f
Host: Purge C format string error overloads 2024-07-19 13:45:33 +10:00
Stenzek 00ccea84b8
GPUDevice: Replace remaining StdStringFromFromFormat() with fmt 2024-07-19 13:44:09 +10:00
Stenzek c286112966
Updater: Replace all StdStringFromFormat() with fmt 2024-07-19 13:28:48 +10:00
Stenzek 92038da3d5
CDROM: Handle speed change while reading
Fixes level music in Croc 2 demo.
2024-07-18 00:31:19 +10:00
Anderson Cardoso 0a86aba1cb
Atualização Português do Brasil (#3253)
Atualizado para a última versão.
2024-07-17 23:52:25 +10:00
Stenzek 9a89ab3bab
GameDatabase: Add deinterlacing mode override 2024-07-17 20:57:36 +10:00
Stenzek f1ca914512
CDROM: Further adjust IRQ delay
Fixes audio dropouts in Crime Crackers, Ogre Battle seems fine now as
well.
2024-07-17 20:57:36 +10:00
Stenzek 9392c19a70
CDROM: Handle audio sectors in 2X mode
Fixes menu background in 360 Three Sixty.
2024-07-17 20:57:35 +10:00
Stenzek 44b9d16d9f
CDROM: Defer set of autopause track
Pitball's menu music starts mid-second, and there's no pregap,
so the first couple of reports are for the previous track.

It doesn't enable autopause until receiving a couple, and it's
actually playing the track it wants.
2024-07-17 20:57:35 +10:00
Stenzek fb747d6ded
CDROM: Drop setloc on double Play
And limit the locations position is updated while seeking.

Fixes menu music in Hot Wheels: Extreme Racing.
2024-07-17 20:57:35 +10:00
Stenzek bc30569a6d
SPU: Reverb input should be muted when SPU muted
Fixes pause menu in Bubsy 3D, Tuning Car Battle Spec R.
2024-07-17 20:57:17 +10:00
Stenzek 889427e7f6
Qt: Disable a couple of unusable per-game settings 2024-07-15 22:17:42 +10:00
Stenzek 00cc3b65fc
Qt: Fix a few places per-game settings were not checked 2024-07-15 22:17:42 +10:00
Stenzek 5381ad9cd1
Qt: Adjust controller diagrams 2024-07-15 22:17:42 +10:00
Stenzek fae6b7ae86
System: Fix double error on load/boot cancel 2024-07-14 21:32:10 +10:00
Stenzek fee888758f
System: Purge unused RecreateSystem() 2024-07-14 21:30:52 +10:00
Stenzek 154a5b35b8
CDImageCHD: Refactor mode conversion to string_view
Incorrect length found by PVS-Studio.
2024-07-14 21:29:57 +10:00
Stenzek 640ed4a2d3
CPU/Recompiler: Eliminate redundant speculative reg read 2024-07-14 21:26:17 +10:00
Stenzek 59a2309a83
GPU: Use half width vector types where appropriate 2024-07-14 21:25:48 +10:00
Stenzek d70f5ddb32
GSVector: Remove unused functions 2024-07-14 21:25:48 +10:00
Stenzek df979d4648
Build: Fix DiscordRPC not being included in Mac bundle 2024-07-14 21:25:26 +10:00
Stenzek 500fbe5ef1
Achievements: Fix potential uninitialized data read 2024-07-14 21:25:25 +10:00
Stenzek 8698298499
CPU/NewRec: Fix incorrect condition in GenerateCall() 2024-07-14 21:25:25 +10:00
Stenzek a5a320720a
GPU/HW: Fix incorrect dirty rect union
Reduces GPU usage during screen waves effect in Um Jammer Lammy from
over 70% down to 3% on my 7900GRE at 9x.
2024-07-14 18:26:02 +10:00
Stenzek 5d4f6e44d2
Qt: Use device pixel ratio when scaling gameicons 2024-07-14 18:26:02 +10:00
Stenzek 594962d247
Qt: Scale down custom icon pixmaps
Don't want it going outside of the control bounds.
2024-07-14 18:26:02 +10:00
Stenzek fd0626aa6d
GameList: Re-extract memcard icon if deleted
But don't keep trying if the game doesn't have a save.
2024-07-14 18:26:02 +10:00
Stenzek ff77bd029f
ImGuiFullscreen: Don't upload failed-loaded images 2024-07-14 00:01:06 +10:00
Stenzek afea18f65e
Image: Fix crash loading corrupted/invalid JPEG files 2024-07-14 00:00:48 +10:00
Stenzek b7da118f96
Qt: Don't boot system twice on rapid clicking 2024-07-13 20:47:03 +10:00
Stenzek 5da6c926d9
GameList: Always open icon cache with r+b on Linux
Fixes flock() error on startup.
2024-07-13 18:32:42 +10:00
Stenzek 2cfa535784
System: Fix certain GPU settings not applying until unpause 2024-07-13 17:52:42 +10:00
Mrlinkwii 0f0cc4ea17
Qt: Re-add QDarkStyle theme option (#3250) 2024-07-13 12:55:01 +10:00
Stenzek 7c45ad3fed
GameList: Add dedicated gameicons directory 2024-07-11 17:17:25 +10:00
Stenzek 2ac2ad605e
CPU/Recompiler: Break blocks on invalid instructions 2024-07-11 17:17:25 +10:00
Stenzek 3b9c489787
CPU: Pass instruction query values by reference 2024-07-11 17:17:25 +10:00
Anderson Cardoso 58470cea09
Atualização Português do Brasil (#3249)
Atualizado para a última versão.
2024-07-11 17:17:12 +10:00
Stenzek 226a8eac81
MemoryCardIconCache: Ignore shared cards 2024-07-10 21:47:02 +10:00
Stenzek 11f7bfc461
CPU/PGXP: Refactor add/sub for small speedup 2024-07-10 20:56:42 +10:00
Stenzek e5c62b8baf
CPU/PGXP: Fix incorrect Y on invalid add/sub 2024-07-10 20:56:21 +10:00
Stenzek 5881133cf5
CPU/PGXP: Set valid on bitwise ops from lowprec 2024-07-10 19:10:56 +10:00
Stenzek 9be7a37416
GSVector: SIMD-ify YUVToRGB
Almost 10x speedup on the function alone, 15% in practice ingame.
2024-07-10 15:18:42 +10:00
Stenzek 18b0b11094
CommonTests: Add GSVector MDEC YUVToRGB test 2024-07-10 15:18:42 +10:00
Anderson Cardoso 989a19d144
Atualização Português do Brasil (#3246)
* Atualização Português do Brasil

Atualizado para a última versão.

* Atualização Português do Brasil

Atualizado para a última versão.
2024-07-09 21:49:17 +10:00
Stenzek a56ebf24b2
Qt: Fix incorrect sort indicator on loading 2024-07-09 21:49:17 +10:00
Stenzek 93836636a1
Qt: Center type icon in game list 2024-07-09 21:49:17 +10:00
Stenzek addadbabc6
Qt: Use memory card icon as window icon 2024-07-09 21:49:12 +10:00
Stenzek 9143116616
Qt: Show memory card icons in game list
You can disable it if you really hate it.
2024-07-09 21:38:38 +10:00
Stenzek 8659c8cca6
Core: Add MemoryCardIconCache 2024-07-09 21:38:38 +10:00
Stenzek ec851c9d6d
FileSystem: Add FTruncate64() 2024-07-09 21:38:38 +10:00
Stenzek de27e5de92
GPU: Add option to disable PGXP on 2D polygons 2024-07-09 20:37:58 +10:00
Stenzek f0e2d1a9fa
CPU/PGXP: Rewrite SLTI/SLTIU handlers
Don't read uninitialized memory...
2024-07-09 20:14:08 +10:00
Stenzek d922a43127
CPU/PGXP: Don't force valid input on slt/sltu 2024-07-09 19:45:44 +10:00
Stenzek 3b7844be5a
CPU/PGXP: Don't force valid inputs on mult/div 2024-07-09 19:21:47 +10:00
Stenzek d831cb69a9
CPU/PGXP: Normalize variable names 2024-07-09 19:16:16 +10:00
Stenzek 5410a42fd7
CPU/PGXP: Explicitly handle addi rt, zero, nnnn 2024-07-09 19:07:17 +10:00
Stenzek b6f7420018
CPU/PGXP: Don't force inputs to valid on add/sub 2024-07-08 17:18:27 +10:00
Stenzek 7f21226a99
GameDatabase: Warn if vertex cache is enabled but unnecessary 2024-07-07 14:29:29 +10:00
Stenzek d63ae8718f
GPU: Always calculate draw rect
Stops postfx shaders that depend on the draw rect going into NaN
territory.
2024-07-07 12:46:09 +10:00
Stenzek 6f50e12ea2
PostProcessing/FX: Remove debug shader dump 2024-07-07 12:46:09 +10:00
Nik Chizhov a3d600d5c3 fix: moved vairable access 2024-07-07 12:45:49 +10:00
Nik Chizhov 5cdcdb565f fix: string to c-string to string 2024-07-07 12:45:49 +10:00
Nik Chizhov 40048cbbc8 fix: remove duplicated code 2024-07-07 12:45:49 +10:00
Nik Chizhov e4470a9929 fix: out-of-border access 2024-07-07 12:45:49 +10:00
PugsyMAME d372609bdc
Add memory contents to "Addr=" string in debugger
Tweaks the format of the addr= string in the debugger/trace so that it includes the memory contents.
It will also take the 2nd character of the opcode and if it's b or h it will size it accordingly.
so
addr=800BC2D0
becomes
addr=800BC2D0[00000000]  or addr=800BC2D0[0000]  or addr=800BC2D0[00]

This change amongst other things will facilitate a widescreen cheat scanner, that will take a lot of the work away from making widescreen cheats.
2024-07-06 22:51:59 +10:00
Stenzek ed5a99066f
GPU: Cull off-screen sprites/lines
And further optimizations to culling in general.
2024-07-06 22:13:46 +10:00
Stenzek bc73dacea4
System: Use socket multiplier for sleeping when connected
Should significantly reduce PINE latency.
2024-07-06 21:56:30 +10:00
Stenzek 1fd8d2701d
Sockets: Add HasAnyClientSockets() 2024-07-06 21:56:30 +10:00
Stenzek b06fceffa4
GDB/PINE: Fix listen socket leak on shutdown 2024-07-06 21:56:30 +10:00
Stenzek 9a70003b70
MSBuild: Silence MSVC warning C4324 2024-07-06 19:45:16 +10:00
Stenzek eba0794b4f
FileSystem: Add Error to file writing 2024-07-06 19:36:15 +10:00
Stenzek 29b3fa2b95
GSVector: Add {min,max}v_{u8,u16} 2024-07-06 19:36:15 +10:00
Anderson Cardoso b9155ec5ac
Atualização Português do Brasil (#3242)
Atualizado para a última versão.
2024-07-06 19:34:58 +10:00
shikulja c51db5c6a7
Update Russian translation (#3241)
* Update ts

* Update Russian translation

* .
2024-07-06 19:34:48 +10:00
Stenzek 23962fd07e
GTE: Pack local config in struct 2024-07-06 19:33:38 +10:00
Stenzek b6a264b8b4
TimingEvents: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek a57101c1f0
Timers: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek f5cae1957b
MDEC: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek e1a4c7dfdd
DMA: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek 536b48d706
SPU: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek 77488db3dc
Misc: Align CPU state and SPU voices to cache lines
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek 4c0250716d
GPU/HW: Ensure buffers are freed prior to recreating 2024-07-04 21:54:44 +10:00
Stenzek 3749b812a3
GPUDevice: Add ExecuteAndWaitForGPUIdle() 2024-07-04 21:54:19 +10:00
Stenzek 9fcc98a60a
InputSource: Explicitly construct binding key 2024-07-04 21:40:32 +10:00
Stenzek c02bf0f662
CPU/NewRec/RV64: Compile fix 2024-07-04 21:40:19 +10:00
Stenzek 487eb102b7
Common: __m128 shouldn't be used in nosimd 2024-07-04 19:18:47 +10:00
Stenzek 87f2995f3d
TextureReplacements: Namespace-ify 2024-07-04 15:52:32 +10:00
Stenzek 69c35c9fcd
Deps: Remove rapidjson from in-tree 2024-07-04 15:52:32 +10:00
Stenzek f6d3a7987d
System: Load discord-rpc dynamically 2024-07-04 15:52:32 +10:00
Stenzek 00d2d862c2
Build: Use shared discord-rpc 2024-07-04 15:52:32 +10:00
Stenzek eb8df23366
Qt: Fix gap in advanced graphics settings on Linux 2024-07-04 13:25:27 +10:00
Stenzek 4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
Stenzek 7927ec647f
Qt: Fix a couple of instances of inconsistent sorting 2024-07-04 13:25:26 +10:00
Stenzek 63b30e2925
Qt: Annotate unofficial release builds 2024-07-04 13:25:26 +10:00
Stenzek d178853392
PostProcessing/FX: Fix incorrect draw rect 2024-07-04 00:32:22 +10:00
Stenzek 3c230ba1bf
PlatformMisc: Swap include order for Mac 2024-07-03 16:04:05 +10:00
Stenzek e0509ebd9f
Common: Remove Rectangle class 2024-07-03 15:54:32 +10:00
Stenzek 29533650a8
MetalDevice: Rectangle -> GSVector4i 2024-07-03 15:54:32 +10:00
Stenzek 2bcb85d431
GPU/HW: Push all draws/writes through a common path 2024-07-03 15:44:12 +10:00
Stenzek 9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
Stenzek ef152c47a6
GPU/HW: Interpolate native texture coordinates when upscaling 2024-07-03 15:44:12 +10:00
Stenzek 2a7de25505
Common: Remove gsvector.h dependency on assert.h 2024-07-03 15:44:12 +10:00
Stenzek 044d7a4797
GPU: Eliminate heap allocation on state load 2024-07-03 00:24:12 +10:00
Stenzek f9bf2e8239
GPU: Use GSVector for SW scanout 2024-07-03 00:24:12 +10:00
Stenzek 0968610ba7
CDROM: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek 69471950f0
ImGuiOverlays: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek faa151d5ad
CDImageCHD: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek 0654b2dc43
AudioStream: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek b094c9cd87
MDEC: Vectorize IDCT 2024-07-03 00:24:12 +10:00
Stenzek 0ae6ddcf7f
Common: Add GSVector
Mostly based on PCSX2.
2024-07-03 00:24:12 +10:00
Stenzek baab966b4e
System: Check for SSE4.1 in early hardware checks 2024-07-03 00:24:12 +10:00
Stenzek 173a61039c
System: Use cpuinfo for cache line size check 2024-07-03 00:24:12 +10:00
Stenzek aabe39d0f8
GPU: Allow DMAs in Mode 1
Exact behaviour is still unknown, but it works on console (Nicolas
Noble's torus demo).
2024-07-02 16:56:11 +10:00
Stenzek e1f90e6baf
MDEC: Store scale/IDCT matrix transposed 2024-07-02 16:56:10 +10:00
Stenzek 6d6659c85e
MDEC: Increase intermediate IDCT precision 2024-07-02 16:56:07 +10:00
Stenzek da2dc5fa1e
FIFOQueue: Optimize PopRange() for trivially-copyable types 2024-07-02 14:26:16 +10:00
Stenzek 1963d80d2c
RegTest: Fix crash on startup 2024-07-01 01:07:27 +10:00
Stenzek e169189441
GPU/HW: Fix possible crash when changing texture filtering 2024-07-01 01:07:27 +10:00
Nikolai Chizhov 037519936a
GL/ContextEGL: Fix red_size to blue_size (#3238) 2024-07-01 00:28:05 +10:00
Stenzek 422102989c
CMake: Remove unused macro 2024-06-30 16:55:04 +10:00
Stenzek 44142ab4f9
CPU/Recompiler: Prefer adrp over trampoline for +/-4GB branches 2024-06-30 16:45:51 +10:00
Stenzek f3671d21f3
CPU/CodeCache: Reduce far code size when using NewRec 2024-06-30 16:45:51 +10:00
Stenzek 9b42ad3859
CPU/CodeCache: Purge JitCodeBuffer 2024-06-30 16:45:51 +10:00
Stenzek be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
Reduces .bss size.
2024-06-30 16:45:51 +10:00