Commit graph

2278 commits

Author SHA1 Message Date
Anderson_Cardoso b117326d59
Quick update - Pt-Br - Again
Cosmetic stuff - nothing really important.
2020-09-04 19:57:54 -03:00
Silent 89e0290d06
Fix resource leaks in AutoStagingTexture::EnsureSize and D3D11HostDisplay::DownloadTexture 2020-09-04 23:44:19 +02:00
Connor McLaughlin fd0a009a7f System: Add missing <cctype> include 2020-09-03 12:25:59 +10:00
Connor McLaughlin 42d49426e8 CPU/Recompiler/AArch64: Fix crash when calling >26-bit away functions 2020-09-03 00:11:40 +10:00
Connor McLaughlin a2eaaf0e89 PGXP: Allocate large storage dynamically
This causes performance issues on ARM otherwise.
2020-09-03 00:11:40 +10:00
Anderson_Cardoso 355b162758
Quick update - Pt-Br and Workaround
Translation Notes: 
- Quick workaround fix for some ~, é, ç accentuations not properly being show;
- Translation of other bunch more user settings added recently;
- Same Tabs still not translatable as before;
2020-09-01 21:28:05 -03:00
Connor McLaughlin b2057ac6cc GameSettings: Add disallow force NTSC timings trait 2020-09-02 00:03:53 +10:00
Connor McLaughlin c9cefe4020 GameSettings: Add a bunch more user settings 2020-09-02 00:00:48 +10:00
Connor McLaughlin bf85fbe331 GameSettings: Fix widescreen hack not saving to cache 2020-09-01 20:32:55 +10:00
Connor McLaughlin 0af22825ad FrontendCommon: Drop imgui deps for libretro build 2020-09-01 12:48:57 +10:00
Connor McLaughlin 6bbbb96d4b Move GameList to FrontendCommon
Reduces libretro core dependencies further.
2020-09-01 12:46:44 +10:00
Connor McLaughlin 13e3095801 Core: Don't link to imgui for libretro core 2020-09-01 12:22:32 +10:00
Connor McLaughlin dd0ae0fc9d Vulkan/StagingTexture: Keep mapped throughout transfers
The underlying bug here was not invalidating the buffer after mapping (is
this supposed to be necessary?). But by keeping it mapped, we invalidate
it anyway.

Fixes screen corruption in Final Fantasy IX on Mali GPUs.
2020-09-01 12:02:39 +10:00
Connor McLaughlin e21fc9e253 GPU/Vulkan: Use half width framebuffer for VRAM readbacks 2020-09-01 12:02:04 +10:00
Connor McLaughlin d59eb05d94 Timers: Fix update interval for timer2 IRQs being too low 2020-08-31 22:01:05 +10:00
Connor McLaughlin f187ee4971 TimingEvents: Switch from heap to sorted linked list 2020-08-31 22:00:20 +10:00
Sam Pearman 0efd0953b1 Remove mistakenly leftover icons.qrc file
Remove mistakenly leftover icons.qrc file, which has been superceded by resources.qrc and causes build to fail if existing items in icons.qrc are removed.
2020-08-31 14:06:22 +09:00
Connor McLaughlin 101907a731
Merge pull request #811 from andercard0/patch-3
Update of Translation
2020-08-31 00:25:45 +10:00
Sam Pearman 32410b4254 Translation assistance scripts
Translation assistance tool for quick and easy file generation/update/edit for future translators.
2020-08-30 22:47:59 +09:00
Connor McLaughlin 1eac603c79 CPU/Recompiler: AArch64 compile fix 2020-08-30 11:15:02 +10:00
Connor McLaughlin 8d49c71ec1 PGXP: Fix out-of-bounds write in hi/lo 2020-08-30 11:13:27 +10:00
Anderson_Cardoso e35c2182e5
Update of Translation
Translation Notes:

Untranslatable Texts:

- Port 1 | Port 2 Options in Controller Configuration;
- Crosshair Image Path and Crosshair Image Scale  (when choose Namco GunCon option);
- Left and Right in Playstation Mouse binding options screen
- Up, Down, Left, Right Steering option in NeoGcon options screen
- Tabs: General, Graphics, Save States and Audio in Shortcut configuration screen
- Save Game State 1 Load Game State 1~2.. etc. in Save States screen
- Save Global State 1~9 in Save States screen 
- Keyboard/keypad+Minus and - Keyboard/keypad+Plus in Audio screen
2020-08-29 18:58:31 -03:00
Connor McLaughlin 3d3e552266
Merge pull request #808 from CookiePLMonster/fix-properties-dialog
Give GamePropertiesDialog a parent
2020-08-30 00:02:12 +10:00
Connor McLaughlin 2b902f6d09
Merge pull request #806 from CookiePLMonster/axis-to-button-map
Allow mapping axes to buttons
2020-08-29 23:35:18 +10:00
Silent 800c5303de
Give GamePropertiesDialog a parent 2020-08-29 14:42:28 +02:00
Silent 057bf986c4
Allow mapping half axes to buttons
This allows to bind pressure sensitive NeGcon buttons to keyboard,
mouse and controller buttons
2020-08-29 14:19:28 +02:00
Connor McLaughlin 547cc4dbf6 Qt: Clear OSD messages on system stop 2020-08-29 22:19:09 +10:00
Connor McLaughlin 914f3ad447 GameSettings: Add trait for recompiler icache 2020-08-29 22:11:10 +10:00
Connor McLaughlin 19d6037b99 CPU: Implement instruction cache simulation
Implemented for all execution modes. Disabled by default in the cached
interpreter and recompiler, always enabled in the pure interpreter.
2020-08-29 22:07:40 +10:00
Connor McLaughlin efc00a2d0e GameSettings: Make override messages translatable 2020-08-29 21:58:25 +10:00
Connor McLaughlin 3aecf6be27 GameSettings: Rename 'enable' options to 'force'
As per discussion on Discord.
2020-08-29 21:53:53 +10:00
Connor McLaughlin ca723d699b Make ALWAYS_INLINE_RELEASE specify inline in debug too
Stops us needing the static qualifier as well.
2020-08-29 21:22:41 +10:00
Connor McLaughlin 5a9f49c1d9
Merge pull request #799 from andercard0/patch-2
Minor Update and corrections for - Brazilian Portuguese Language
2020-08-26 00:16:10 +10:00
Connor McLaughlin 4391d63d0c Build: Create macOS .app for Qt 2020-08-25 22:04:55 +10:00
Anderson_Cardoso 6ca7e12111
Update duckstation-qt_pt-br.ts
Translation notes |  Not translatable:
- Compatibility Settings Tab as well the options below
* Force Interpreter
* Disable true color
* Disable PGXP 

Etc..
2020-08-23 17:31:16 -03:00
Connor McLaughlin 032127a7d6 Qt: Fix widescreen hack value for game settings
Also fixes an .ini entry being created on right click->properties.
2020-08-24 00:49:41 +10:00
Connor McLaughlin 421c65ea69 GPU/Vulkan: Fix reverse subtract blending with texture filtering
Fixes pointer in Final Fantasy VII with texture filtering.
2020-08-24 00:22:56 +10:00
Connor McLaughlin 8f54711c72 Make additional strings in controller settings translatable 2020-08-24 00:22:49 +10:00
Connor McLaughlin 559dc23e4e CDROM: Set playing bit in status after starting
Fixes menu music in Army Men 3D.
2020-08-24 00:22:49 +10:00
Connor McLaughlin 5115c75f88 CommonHostInterface: Clear input map before changing interface
Should hopefully fix the crash when changing controller backends.
2020-08-24 00:22:49 +10:00
Connor McLaughlin 9254fc9e63 GPU/HW: Fix UB with reverse subtract and texture filtering on 2020-08-24 00:22:49 +10:00
phoe-nix b929afc33f
Update duckstation-qt_zh-cn.ts (#762)
* Update duckstation-qt_zh-cn.ts

* Merge duckstation-qt_zh-cn.ts with master

Co-authored-by: Connor McLaughlin <stenzek@gmail.com>
2020-08-24 00:22:28 +10:00
Connor McLaughlin 78d080615e
Merge pull request #791 from RaydenX93/master
Update duckstation-qt_it.ts
2020-08-24 00:19:57 +10:00
Connor McLaughlin 419259bda0
Merge pull request #788 from CookiePLMonster/xinput-improvements
Xinput improvements
2020-08-24 00:19:37 +10:00
RaydenX93 9966d7a0da Update duckstation-qt_it.ts
translation is now up-to-date with minor fixes
2020-08-23 14:53:00 +02:00
Connor McLaughlin 17b5c749bf libretro: Re-enable hw context switch, add auto option 2020-08-23 14:51:23 +10:00
Connor McLaughlin df14519a97 libretro: Recreate resources after context reset 2020-08-23 14:23:34 +10:00
Connor McLaughlin 32921acc5a Timers: Don't read out of bounds for invalid address 2020-08-23 14:03:36 +10:00
Connor McLaughlin 60eb22537b CPU/Recompiler: Flush caller-saved regs before calling functions
Should provide a very small performance boost.
2020-08-23 14:03:10 +10:00
Silent 8def7420c4
XInput: Try to use XInput 1.3 if 1.4 is not present
This simple change enables the use of Guide button
for Windows 7 users, provided they have DirectX End-User
Runtimes installed. XInput 9.1.0 does not have the hidden
XInputGetStateEx export, so it was not possible to poll for
Guide button.
2020-08-22 22:52:54 +02:00
Silent 1c4bbc8cde
XInput: Do not use XINPUT_CAPS_FFB_SUPPORTED
There are several reasons for this:
1. XINPUT_CAPS_FFB_SUPPORTED flag was introduced in Windows 8,
   and therefore only supported by XInput 1.4
2. Despite the name, this flag does NOT indicate whether normal rumble
   is supported. This flag is reserved for more complex force feedback,
   and according to MSDN it may have went unused on Windows.

This fixes a future (the method is not used yet) bug where
XInputControllerInterface::GetControllerRumbleMotorCount would
erroreously report no rumble support.
2020-08-22 22:46:12 +02:00
Connor McLaughlin 136a9d60e9 Qt: Fix booting system from context menu 2020-08-23 01:41:55 +10:00
Connor McLaughlin d3f530f96e CPU/CachedInterpreter: Very slight optmization 2020-08-23 01:41:55 +10:00
Connor McLaughlin d37fba81ed CPU/Interpreter: Fix incorrect downcount comparison 2020-08-23 01:41:55 +10:00
Connor McLaughlin 34c125050e Qt: Update display after loading state
Fixes display not updating after loading state while paused.
2020-08-22 18:16:48 +10:00
Connor McLaughlin 2768c2c91d System: Fix VRAM sometimes getting lost when loading state 2020-08-22 18:16:35 +10:00
Connor McLaughlin 3c46f7b44c ControllerInterface: Add XInput controller backend 2020-08-22 16:50:19 +10:00
Connor McLaughlin 62d0ec5584 Qt/AudioSettingsWidget: Mark some help text as translatable 2020-08-22 14:38:57 +10:00
Connor McLaughlin 1d4d1d06a7 CPU/Recompiler: Disable static code buffer on macOS/Haiku 2020-08-22 13:24:57 +10:00
kwyxz 31695c4ff7
Haiku port of duckstation libretro core (#716)
* Haiku build 1st attempt

* fix load on Haiku

* Removed debugging flags

* Added a couple ifndef
2020-08-22 13:20:37 +10:00
Abbanon 8151594d60
Update gpusettingswidget.cpp (#741)
* Update gpusettingswidget.cpp

* Update gpusettingswidget.cpp

Minor fix

Co-authored-by: Connor McLaughlin <stenzek@gmail.com>
2020-08-22 13:11:03 +10:00
Connor McLaughlin 0f88c0e817
Merge pull request #760 from Richard-L/patch-1
Update audiosettingswidget.cpp
2020-08-22 13:09:53 +10:00
Connor McLaughlin 7100277ad5
Merge branch 'master' into patch-6 2020-08-22 13:09:16 +10:00
Connor McLaughlin ab002e78e1 Support translating strings in emulator core 2020-08-22 13:06:20 +10:00
Hugo Hromic 1e10bef09e SDLControllerInterface: Add support for optional game controller database
If an optional "gamecontrollerdb.txt" file exists in the user directory,
then SDL game controller mappings will be loaded from it.

There is an officially endorsed community sourced database in
https://github.com/gabomdq/SDL_GameControllerDB
2020-08-21 23:51:07 +01:00
Connor McLaughlin f852be74e8 Compile fix for Linux/libretro 2020-08-21 00:26:22 +10:00
Connor McLaughlin bca609a2a6 Qt: Add option to disable per-game settings 2020-08-21 00:09:37 +10:00
Connor McLaughlin 5fca2d1d1c Qt: Add toggles for toolbar/status bar 2020-08-21 00:09:37 +10:00
Connor McLaughlin c3ce9135bf Fix recompiler not auto-disabling with PGXP-CPU mode 2020-08-21 00:09:37 +10:00
Connor McLaughlin 60d3fffec1 Add per-game overrides (mainly for compatibility) 2020-08-21 00:09:37 +10:00
Anderson_Cardoso e94ea87a84
Update duckstation-qt_pt-br.ts
Update of Brazilian Portuguese language translation with new options recently added; 
some typo fixed as well.
2020-08-19 21:37:19 -03:00
Connor McLaughlin 0d4fe1eb71
Fix Linux build again 2020-08-20 01:21:36 +10:00
Connor McLaughlin 6a17a558bb CPU: Linux compile fix 2020-08-20 01:05:03 +10:00
Connor McLaughlin b17335d812 GTE: Increase z precision in PGXP mode 2020-08-20 00:49:42 +10:00
Connor McLaughlin b98dbc75e9 Qt: Use scm date in update dialog 2020-08-20 00:49:39 +10:00
Connor McLaughlin e3e8e47ffc scmversion: Add date 2020-08-20 00:49:39 +10:00
Connor McLaughlin 71a38adbc7 Qt: List changes between current->latest build in auto updater
Thanks to @hhromic for the API endpoint tip.
2020-08-20 00:49:39 +10:00
Connor McLaughlin 07cc926775 SDL: Fix mismatch between saved and running settings 2020-08-20 00:49:39 +10:00
Connor McLaughlin daa72aba10 CPU: Skip executing nop instructions
Makes PGXP CPU mode quicker, as well as a performance improvement to the
regular interpreter.
2020-08-20 00:49:39 +10:00
Connor McLaughlin 2e9f656546 CPU: Implement PGXP CPU Mode
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
Connor McLaughlin db6b9e3bf4 Qt: Fix default value of auto update check 2020-08-19 20:54:02 +10:00
Connor McLaughlin f704cc64c3 libretro: Use bitmasks for input 2020-08-19 00:45:08 +10:00
Connor McLaughlin e1c29510f1 GPU/OpenGL: Fix incorrect framebuffer clear for interlacing 2020-08-19 00:45:08 +10:00
Connor McLaughlin 0682b31044 libretro: Set both strong and weak rumble motors 2020-08-19 00:19:50 +10:00
Connor McLaughlin de388d342f libretro: Add rumble interface 2020-08-19 00:06:51 +10:00
Connor McLaughlin c9c2c00c1a GPU: Update GPUSTAT.13 with field
Doubt this'll change much..
2020-08-19 00:02:37 +10:00
Connor McLaughlin 67fb9253cb Qt: Hide debug menu by default 2020-08-19 00:01:57 +10:00
Connor McLaughlin 6d75f42e12 CDROM: Update last subq even when auto-pausing
Fixes music looping in Fighting Force.
2020-08-18 00:13:21 +10:00
Connor McLaughlin a895c02789 Common/ByteStream: Use wide paths for committing updates
Fixes save states to UTF-8 paths.
2020-08-17 13:10:36 +10:00
Connor McLaughlin e3721460a2 Qt: Connect Italian translation 2020-08-17 11:54:10 +10:00
Connor McLaughlin 7c697f363e libretro: Make single cards for playlist the default, fix disabled case
This bug was causing the option to act as if it was disabled anyway.
2020-08-17 11:51:47 +10:00
Connor McLaughlin 881d21985d libretro: Fix load devices from state option 2020-08-17 11:51:47 +10:00
RaydenX93 d10e17cb6c Create duckstation-qt_it.ts
R0
2020-08-16 20:36:51 +02:00
posix aeeb41801a
Update consolesettingswidget.cpp 2020-08-16 19:31:00 +02:00
Connor McLaughlin f65651823e GPU: Simplify hsync handling
Fixes character lighting in Monkey Hero.
2020-08-17 01:22:03 +10:00
Connor McLaughlin 4e62b32d60 Add option to dump the contents of RAM to a file 2020-08-16 23:20:36 +10:00
Connor McLaughlin 3ca1d5b275 CommonHostInterface: Fix lag when OSD message display disabled 2020-08-16 01:40:18 +10:00
Connor McLaughlin 10a46a7fd8 OSD: Add option to show display resolution 2020-08-16 00:20:11 +10:00
Connor McLaughlin 26aa627deb GPU/HW: Include resolution in scale change message 2020-08-16 00:20:11 +10:00
Connor McLaughlin f5fb8186c7 Switch some messages to the OSD and increase durations 2020-08-16 00:20:10 +10:00
Connor McLaughlin 810b359234 libretro: Add single-memcard-for-playlist option 2020-08-16 00:20:10 +10:00
Connor McLaughlin f3c3be7f09 Qt: Make right click game -> state menus translatable 2020-08-16 00:20:10 +10:00
Connor McLaughlin ae3ad04bfc Qt: Fix modifier key bindings not having any effect 2020-08-16 00:20:10 +10:00
Connor McLaughlin e0e76b881d System: Bump save state version 2020-08-16 00:20:10 +10:00
Connor McLaughlin 86799775ce Qt: Add UI for playlist disc switching 2020-08-16 00:20:10 +10:00
Connor McLaughlin d9893bb127 System: Add option to use a single memory card for playlists 2020-08-16 00:20:10 +10:00
Connor McLaughlin dedeee1698 System: Track playlists in save states 2020-08-16 00:20:10 +10:00
Connor McLaughlin 8fa965a1ac GameList: Support playlist entries 2020-08-16 00:20:10 +10:00
Connor McLaughlin d4665e8b22 GPU: Tweaks to ODE handling
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +10:00
posix e0c6617b7c
Update duckstation-qt_de.ts
I updated the .ts, opened it in Wordpad, and copy pasted it over, in the hope it'll only show stuff I changed.
2020-08-15 14:05:21 +02:00
posix 54f1ef6f59
Update audiosettingswidget.cpp 2020-08-15 13:14:14 +02:00
Connor McLaughlin 9bac40d6d8 Qt: Connect Spanish translation 2020-08-15 11:37:45 +10:00
Connor McLaughlin 9c413275c2 Qt: Update Portuguese (Br) translation 2020-08-15 11:37:20 +10:00
Connor McLaughlin 852edaa3f9
Merge pull request #758 from Hipnosis183/master
Added universal Spanish translation
2020-08-15 11:30:06 +10:00
Renzo Pigliacampo 97bd7109b2
Added universal Spanish translation 2020-08-14 19:09:56 -03:00
Albert Liu cd0ac1a2bc Qt: Add Chinese (Simplified) translation 2020-08-14 13:47:23 -07:00
Connor McLaughlin 16a4398fdb Qt: Use native name for Portuguese in list 2020-08-15 00:14:49 +10:00
Connor McLaughlin 71bd009eed Qt: Connect Hebrew translation 2020-08-15 00:14:48 +10:00
Connor McLaughlin c5db7db182 Build: Compile source as UTF-8 with MSVC 2020-08-15 00:04:38 +10:00
Connor McLaughlin 025e01ca47 CPU: Fix exceptions clobbering cop0.cause.Ip
Fixes Gran Turismo 2 (PAL).
2020-08-14 23:55:16 +10:00
MojoJojoDojo da596722bc Hebrew Translation 2020-08-14 12:47:59 +03:00
Connor McLaughlin 323574348b
Merge pull request #742 from ggrtk/qtutils
QtUtils: Improve QTableView column resizing
2020-08-13 01:06:12 +10:00
Connor McLaughlin 8e8588adaf
Merge pull request #749 from dankcushions/coreopts
Prefix libretro core options with core name.
2020-08-13 01:05:13 +10:00
dankcushions 971d262b0c Prefix libretro core options with core name. 2020-08-12 12:15:07 +01:00
Albert Liu 6e0b71ace4 QtUtils: Improve QTableView column resizing 2020-08-11 11:19:03 -07:00
Connor McLaughlin e6156e2adb GPU/ShaderGen: Move transparent compensation to bilinear function 2020-08-12 02:27:52 +10:00
Connor McLaughlin bb344a4e1e GPU/D3D11: Fix crash/hang when toggling bilinear setting 2020-08-12 02:27:52 +10:00
Connor McLaughlin d1ee6c0da7 GPU/HW: Make settings update slightly safer 2020-08-12 02:27:52 +10:00
Connor McLaughlin ba5458c1c3 Qt: Fix a rare crash when rapidly changing settings 2020-08-12 02:27:52 +10:00
Connor McLaughlin 17a1719450 GPU/HW: Fix incorrect texel offset when upscaling
Fixes incorrectly coloured triangles in Tomb Raider.
2020-08-12 02:27:52 +10:00
posix 79fd77444a
Update consolesettingswidget.cpp
This the way to do it?
2020-08-10 21:35:36 +02:00
Connor McLaughlin d733553425 GPU/HW: Don't display a deleted texture in D3D/OpenGL when updating settings 2020-08-11 04:03:11 +10:00
Connor McLaughlin 2130d3b004 GPU/Vulkan: Don't add UV limits as attribute when unused 2020-08-11 03:58:59 +10:00
Connor McLaughlin fba2488bc5 GPU/D3D11: Don't add UV limits to input layout when unused 2020-08-11 03:58:59 +10:00
Connor McLaughlin bf9ac64183 GPU/D3D11: Don't leak input layout objects 2020-08-11 03:48:24 +10:00
Connor McLaughlin 3a020ef87e HostInterface; Fix crash on shutdown if boot fails 2020-08-11 03:01:08 +10:00
Connor McLaughlin 8c472a8258
Merge pull request #732 from Abbanon/master
Update gpusettingswidget.cpp
2020-08-11 03:00:32 +10:00
jpchow26 2a43b8b182
Update ini_settings_interface.cpp (#734)
* Update ini_settings_interface.cpp

Fix compiler error on Windows.
2020-08-11 02:59:58 +10:00
Connor McLaughlin 5df116b608 libretro: Expose bilinear texture filtering option 2020-08-10 23:28:37 +10:00
Connor McLaughlin 9963bde034 Qt: Remove note about bilinear filtering being broken 2020-08-10 23:28:37 +10:00
Connor McLaughlin e59200b8c2 Qt/ConsoleSettingsWidget: Support adding help 2020-08-10 23:28:37 +10:00
Connor McLaughlin 5c6e92cdfc GPU/HW: Disable coordinate clamping when unnecessary 2020-08-10 23:28:37 +10:00
Connor McLaughlin b95ce993e0 GPU/HW: Clamp interpolated UVs to polygon limits
Fixes texture filtering and PGXP issues in some games.
2020-08-10 23:28:37 +10:00
Abbanon f0cd42dc1a
Update gpusettingswidget.cpp
Second pass, making some changes to my own changes. Still not entirely sure what I'm doing.
2020-08-10 09:00:19 -04:00
Connor McLaughlin f14dc6de27 Update Portuguese (Pt) translation 2020-08-10 20:40:28 +10:00
Connor McLaughlin ac42510780 INISettingsInterface: Fix saving/loading with Unicode paths 2020-08-09 04:40:21 +10:00
Connor McLaughlin 5b9db71b87 CPU/Recompiler: Fix mid-block software interrupts not updating pc
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00
Connor McLaughlin 223074b78f SPU: Fix activating transfer event with a downcount of 0
Happened when loading states.
2020-08-09 04:29:43 +10:00
Connor McLaughlin 96b86acb4f Qt: Move debug GPU device to advanced options 2020-08-09 00:03:07 +10:00
Connor McLaughlin 70767dc6bf CPU/Recompiler/AArch64: Use cmn for negative constant comparisons 2020-08-08 23:44:13 +10:00
Connor McLaughlin 901ca71fdc CPU/Recompiler: Add temporary inhibiting of register allocation 2020-08-08 23:44:13 +10:00
Connor McLaughlin 1d5f810a4b CPU/Recompiler: Disable memory access exceptions by default
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
2020-08-08 23:44:13 +10:00
Connor McLaughlin b1377fe0d9 CPU/Recompiler: Add a fast block lookup array
Up to 15% perf improvement.
2020-08-08 23:06:28 +10:00
Connor McLaughlin f6e88353eb CPU/Recompiler: Make generated code invariant to virtual PC 2020-08-08 23:06:28 +10:00
Connor McLaughlin 8d4216068a CPU/Recompiler: Implement div/divu 2020-08-08 23:06:27 +10:00
Connor McLaughlin a2f271c505 CPU: Simplify some exception checks in cop0-3 2020-08-07 17:05:01 +10:00
Connor McLaughlin 80be38b7c8 Updater/Win32: Grammar fix in message 2020-08-07 16:34:48 +10:00
Connor McLaughlin 472f1c1c6b Updater: Display a more helpful message if ran manually 2020-08-07 03:40:19 +10:00
Connor McLaughlin 92bc65d883 Qt: Turn language list into radio buttons 2020-08-07 03:34:40 +10:00
Connor McLaughlin e5c46a54b7 System: Restore/reset state on recreating GPU/updating settings
Fixes display corruption on RetroArch when switching renderers.
2020-08-06 23:20:52 +10:00
Connor McLaughlin 359234080a D3D11: Set GS to null when restoring state
Fixes the D3D11 renderer being broken on RetroArch due to it leaving a
geometry shader bound.
2020-08-06 23:19:19 +10:00
Connor McLaughlin 7ab521f740 Updater: Handle UTF-8 paths when launching at end 2020-08-06 22:38:34 +10:00
Connor McLaughlin f0e3373cb2 Qt: Add message about unofficial builds auto-update incompatibility 2020-08-06 22:37:30 +10:00
Connor McLaughlin 72053e5500 Qt: Fix non-auto-update-enabled builds 2020-08-06 22:22:35 +10:00
Connor McLaughlin c2a60b766d CI: Tag Windows builds so they can be updated 2020-08-06 22:11:08 +10:00
Connor McLaughlin c09bfc4d2b Qt: Add automatic updater 2020-08-06 22:08:22 +10:00
Connor McLaughlin 070b16e611 Updater/Win32: Use shell for deleting directories 2020-08-06 22:07:56 +10:00
Connor McLaughlin 512a8b2b39 FileSystem: Make more functions UTF-8 compatible on Windows 2020-08-06 22:07:43 +10:00
Connor McLaughlin f1315b182f Updater: Fix hang instead of skipping updater.exe 2020-08-06 20:54:59 +10:00
Connor McLaughlin e956bbdab8 Updater: Don't always open console window 2020-08-06 20:11:31 +10:00
Connor McLaughlin 8bc6433be1 scmversion: Include the current commit hash 2020-08-06 20:11:22 +10:00
Connor McLaughlin 12bef7caa2 Add update installer program (Windows only for now) 2020-08-06 19:36:41 +10:00
Connor McLaughlin 045e6dff61 Common: Add Win32ProgressCallback 2020-08-06 19:33:08 +10:00
Connor McLaughlin 7cafb8c515 Common: Add MinizipHelpers (RAM and UTF-8 compatible fopen) 2020-08-06 19:33:02 +10:00
Connor McLaughlin 6e586311e8 Common: Add title, modal information to ProgressCallback 2020-08-06 19:32:53 +10:00
Connor McLaughlin 8c1a72f640 Qt: Unmark window info error for translation 2020-08-06 19:30:47 +10:00
Connor McLaughlin 05f0ce6da8 libretro: Fix build 2020-08-06 01:50:02 +10:00
Connor McLaughlin 2cc1fe9c02 libretro: Expose CD-ROM preload option 2020-08-06 01:20:12 +10:00
RibShark 1ebbb1e42a
Only force 2 second pregap for track 1
Fixes #579
2020-08-05 15:19:28 +01:00
Connor McLaughlin b6d25c46e4 Qt: Add de language to update_translations.bat 2020-08-05 20:42:48 +10:00
Connor McLaughlin a7dbb9ab28 CDImage: Work around cue parser requiring new line at end 2020-08-05 03:14:06 +10:00
Connor McLaughlin 466e4099d4 CDROM: Fix handling of logical seeks to audio sectors
Fixes Wizard's Harmony.
2020-08-05 03:14:04 +10:00
Connor McLaughlin fbdc9ae631 CommonHostInterface: Remove additional API reset/restore on screenshot 2020-08-04 21:08:56 +10:00
Connor McLaughlin dd9705ef31 GPU/HW: Fix last row of oversized writes not applying
Combined with the wrap changes, fixes Namco Museum motherboard scene.
2020-08-04 14:40:00 +10:00
Connor McLaughlin 0b0bc32afb GPU/HW: Use texture samplers rather than fetching for batches
Enables wrap-around.
2020-08-04 14:40:00 +10:00
Connor McLaughlin 0fc301d654 GPU/HW: Use wrap texture address modes 2020-08-04 14:40:00 +10:00
Connor McLaughlin 231c0b5ff6 GPU/SW: Wrap texture coordinates when sampling 2020-08-04 14:40:00 +10:00
Connor McLaughlin 69cbc0b5a2 GL/Texture: Add wrap texture mode option 2020-08-04 14:40:00 +10:00
Connor McLaughlin 3df1670809 libretro: Try for a GLES context first depending on preferred renderer 2020-08-04 14:40:00 +10:00
Connor McLaughlin e198e31598 Qt: Add German/Deutsch translation 2020-08-03 13:32:55 +10:00
Connor McLaughlin 8b4624a98e Update Portuguese (Br) translation 2020-08-03 13:23:34 +10:00
Connor McLaughlin 818892cb1b GPU: Claer interlaced field buffer when enabling
Fixes old frames getting briefly displayed.
2020-08-03 03:26:13 +10:00
Connor McLaughlin 23df239469 GPU/HW: Debug build compile fix 2020-08-03 03:26:00 +10:00
Connor McLaughlin f712c42c21 GPU/HW: Add more details to debug window 2020-08-03 03:06:23 +10:00
Connor McLaughlin 9b7512f7b8 GPU/HW: Implement automatic resolution scale from window size 2020-08-03 03:06:03 +10:00
Connor McLaughlin be6ae8b70b GPU/Vulkan: Work around Mali crash with readbacks 2020-08-03 02:03:33 +10:00
Connor McLaughlin b527118c0a GPU/HW: Fix macOS compile 2020-08-02 18:04:00 +10:00
Connor McLaughlin 92975b2e81 GPU/HW: Tiny performance optimization in polygon loading 2020-08-02 17:32:43 +10:00
Connor McLaughlin 96ba9198ef GPU/HW: Expand lines into triangles before rendering
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin 568cfa1865 GPU/OpenGL: Fix possible error on shutdown 2020-08-02 17:16:51 +10:00
Connor McLaughlin 4d9c2c1b6c GPU: Ensure pending time is used in events
Fixes long delay in Syphon Filter.
2020-08-02 14:09:22 +10:00
Connor McLaughlin 75156b76af CMake: Fix Linux build 2020-08-02 13:21:16 +10:00
Connor McLaughlin ba9ada1100 Qt: Add Portuguese (Pt) translation 2020-08-02 13:14:52 +10:00
Connor McLaughlin bd0c403672 GPU/HW: Fix mask bit test regression
Fixes white boxes in Silent Hill. Again.
2020-08-02 13:04:25 +10:00
Connor McLaughlin 5f9481dd3d Qt: Fix game list settings headings not being translatable 2020-08-02 03:06:23 +10:00
Connor McLaughlin 9a9d66882c Qt: Fix game list headings not being translatable 2020-08-02 03:06:23 +10:00
jdgleaver 363804c48b (libretro/Vulkan) Fix glslang shader-related crashes 2020-08-01 15:29:59 +01:00
Connor McLaughlin 0c1b637549 PGXP: Add initial implementation 2020-08-02 00:25:07 +10:00
Connor McLaughlin 013497cf20 Qt/GPUSettings: Fix typo in force NTSC timing description 2020-08-01 22:35:28 +10:00
Connor McLaughlin e9882a10aa System: Move restore/reset graphics API state to System
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin 3532ab8d72 Qt: Update interlaced rendering option help 2020-08-01 14:04:52 +10:00
Connor McLaughlin 7067b8f6e3 CDImage/CHD: Handle UTF-8 strings when opening 2020-08-01 14:01:23 +10:00
Connor McLaughlin ede8de92f6 FileSystem: Use wide strings for FindFiles and StatFile on Windows 2020-08-01 14:00:58 +10:00
Connor McLaughlin 2eb9384275 Replace more instances of fopen() with FileSystem::OpenFile() 2020-08-01 14:00:22 +10:00
Connor McLaughlin 2885d2e547 CPU/CodeCache: Hopefully fix 32-bit compile errors 2020-08-01 03:53:53 +10:00
Connor McLaughlin b6f871d2b9
JIT optimizations and refactoring (#675)
* CPU/Recompiler: Use rel32 call where possible for no-args

* JitCodeBuffer: Support using preallocated buffer

* CPU/Recompiler/AArch64: Use bl instead of blr for short branches

* CPU/CodeCache: Allocate recompiler buffer in program space

This means we don't need 64-bit moves for every call out of the
recompiler.

* GTE: Don't store as u16 and load as u32

* CPU/Recompiler: Add methods to emit global load/stores

* GTE: Convert class to namespace

* CPU/Recompiler: Call GTE functions directly

* Settings: Turn into a global variable

* GPU: Replace local pointers with global

* InterruptController: Turn into a global pointer

* System: Replace local pointers with global

* Timers: Turn into a global instance

* DMA: Turn into a global instance

* SPU: Turn into a global instance

* CDROM: Turn into a global instance

* MDEC: Turn into a global instance

* Pad: Turn into a global instance

* SIO: Turn into a global instance

* CDROM: Move audio FIFO to the heap

* CPU/Recompiler: Drop ASMFunctions

No longer needed since we have code in the same 4GB window.

* CPUCodeCache: Turn class into namespace

* Bus: Local pointer -> global pointers

* CPU: Turn class into namespace

* Bus: Turn into namespace

* GTE: Store registers in CPU state struct

Allows relative addressing on ARM.

* CPU/Recompiler: Align code storage to page size

* CPU/Recompiler: Fix relative branches on A64

* HostInterface: Local references to global

* System: Turn into a namespace, move events out

* Add guard pages

* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin 1f9fc6ab74 BIOS: Fix Linux build 2020-07-31 16:34:25 +10:00
Connor McLaughlin 8802177e25 BIOS: Add more revision filenames/hashes 2020-07-31 16:28:15 +10:00
Connor McLaughlin 66e79091d3 BIOS: Use fopen() wrapper from FileSystem 2020-07-31 16:04:10 +10:00
Connor McLaughlin 8b0c3f0dc8 FileSystem: Use wide strings for fopen on Windows 2020-07-31 16:04:06 +10:00
Connor McLaughlin 3edb8e113e StringUtil: Add wide string<->utf8 conversion for Windows 2020-07-31 16:04:00 +10:00
Connor McLaughlin f443691ad0 Qt: Fix deprecreated errors with 5.15 2020-07-31 03:40:51 +10:00
Connor McLaughlin fb85e2b441 Qt: Update Portuguese (Br) translation 2020-07-31 03:32:48 +10:00
Connor McLaughlin 5634e821c5 CDROM: Reset audio decoder state immediately after pause or seek
Fixes stuttering dialogue in Dino Crisis (control room at beginning of
game).
2020-07-30 01:55:37 +10:00
Connor McLaughlin 5a34a15bf2 CDROM: Include FIFO size in debug window 2020-07-30 01:03:59 +10:00
Connor McLaughlin 167169a03b Qt: Update Portuguese translation 2020-07-30 00:49:32 +10:00
Connor McLaughlin dd48a1f585 System: Handle large event timing overshoots better
Usually a result of DMA cycle stealing. Instead of adding all time, add
min(all_events.downcount) at a time. 1.5% performance improvement, but
fixes desyncs between the SPU and CD-ROM.
2020-07-30 00:47:19 +10:00
Connor McLaughlin 0317541477 libretro: Remove VRAM resolution from scale text 2020-07-29 20:01:22 +10:00
Connor McLaughlin 415c21dc84 libretro: Possible fix for crash when reloading content 2020-07-29 03:00:00 +10:00
Connor McLaughlin 77481f5b23 Qt: Add context menu and open directory to game directory list 2020-07-29 02:51:52 +10:00
Connor McLaughlin 8956fc27ce Qt: Make about dialog more translation-friendly 2020-07-29 02:38:04 +10:00
Connor McLaughlin c7b457de9e CubebAudioStream: Continue even without minimum latency
Fixes audio not functioning on Android.
2020-07-29 02:38:04 +10:00
Connor McLaughlin 982c428074 Qt: Improve auto-sizing for settings dialog 2020-07-29 02:38:04 +10:00
Connor McLaughlin bc6f6d1a6d Qt: Display Portuguese language as Portuguese (Br) 2020-07-29 02:38:04 +10:00
Connor McLaughlin f82e64a60c Qt/Settings: Add recommended resolution to scale
Apparently the framebuffer/VRAM dimensions were too confusing.
2020-07-28 20:33:09 +10:00
Connor McLaughlin b894b882ed Qt/Settings: Add help for GPU adapter 2020-07-28 20:33:09 +10:00
Connor McLaughlin 20ff075c3f Qt: Mark individual setting help as translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin e187597dec Qt: Make settings main help text translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 27f62723c7 Qt: Make gmae list headings translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 79c8b9f52c Qt: Add Portuguese translation 2020-07-28 20:33:09 +10:00
Connor McLaughlin 3edb255eca Qt: Add translation support and language setting 2020-07-28 19:14:44 +10:00
Connor McLaughlin 8665a24eee CommonHostInterface: Fix crash when there's no controller interface 2020-07-26 23:59:47 +10:00
Connor McLaughlin cdab84e210 GPU/Vulkan: Display shader compiling message 2020-07-26 23:59:06 +10:00
Connor McLaughlin 7c54129409
Merge pull request #665 from ggrtk/analog-controller
AnalogController: Expose axis scale setting to frontend
2020-07-26 23:57:40 +10:00
Connor McLaughlin caf9943418 GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug 2020-07-25 15:17:29 +10:00
Albert Liu 79576ca956 AnalogController: Expose axis scale setting to frontend 2020-07-24 19:18:41 -07:00
Connor McLaughlin d711baaa31 GPU/HW: Fix lines being one pixel too short
Fixes lines in screen wipe effect in Vagrant Story.
2020-07-25 02:37:01 +10:00
Connor McLaughlin 08b26edceb CDImage: Fix incorrect track length
Shouldn't affect much, other than the game properties window.
2020-07-25 02:36:41 +10:00
Connor McLaughlin 10f23667c9 CDImage: Fix incorrect pregap file offset calculation
Should fix repeating audio at the start of some tracks.
2020-07-24 13:47:21 +10:00
Connor McLaughlin 5a955a4fdc Qt: Fix audio volume/mute being lost when restarting emulation 2020-07-24 02:55:00 +10:00
Connor McLaughlin 4a3e5ed644 VulkanHostDisplay: Fix custom crosshair rendering on NVIDIA 2020-07-24 02:40:46 +10:00
Connor McLaughlin 99b0ba3f20 libretro: Use correct path for shared mode memcards 2020-07-24 02:40:46 +10:00
Connor McLaughlin 90aaee86c7 libretro: Use duckstation_shared_card_N.mcd in shared mode
shared_card_n.mcd is too ambiguious when it's sharing a directory with
other cores.
2020-07-24 02:40:46 +10:00
Connor McLaughlin e30c0a6881 Qt: Don't allow booting when changing disc from game list 2020-07-24 02:40:46 +10:00
Albert Liu bf597aab44 Settings: Specify GPU resolution scale as VRAM size 2020-07-23 01:03:18 -07:00
Albert Liu e782b678b6 Qt/GPUSettings: Update aspect ratio help text 2020-07-22 12:08:01 -07:00
Connor McLaughlin a6acd33ce6 libretro: Include m3u in valid_extensions 2020-07-23 03:00:49 +10:00
Connor McLaughlin 104b80f111 HostInterface: Move 'System shut down' message to SDL
Only frontend where it makes sense anyway.
2020-07-23 02:45:20 +10:00
Connor McLaughlin 961afdf765 Qt: Ignore resume states when "Save state on exit" is unchecked 2020-07-23 02:44:06 +10:00
Connor McLaughlin f3df4f91a2 libretro: Implement disk control interface 2020-07-23 02:36:23 +10:00
Connor McLaughlin 8e1c0a4fe4 System: Support loading m3u playlists 2020-07-23 02:36:05 +10:00
Connor McLaughlin 266d70c629 Common/FileSystem: Add IsAbsolutePath() and tests 2020-07-23 02:35:37 +10:00
Connor McLaughlin d46c104d1b System: Preload CD images to RAM when switching/loading state 2020-07-23 02:35:23 +10:00
Connor McLaughlin 6c162eb3c5 Qt: Support binding multiple buttons/axis to controllers 2020-07-23 02:35:15 +10:00
Connor McLaughlin 08a8434140 GPU/HW: Fix off-by-one in wrap-around VRAM writes 2020-07-23 02:35:03 +10:00
Connor McLaughlin 10cd00c8dd CDROM: Play audio when reading and mode.0 is set 2020-07-22 15:23:13 +10:00
Connor McLaughlin e9db1d0f6f GPU/OpenGL: Use base class helper for filling VRAM copy uniforms 2020-07-22 14:47:09 +10:00
Connor McLaughlin 2dc62ab987 GPU/HW: Fix VRAM updates when Y >= 512 2020-07-22 14:46:52 +10:00
Connor McLaughlin 622e50fa73
Merge pull request #637 from jdgleaver/psp-660-bios
Finish adding support for PSX BIOS included in PSP firmware 6.60
2020-07-22 13:01:11 +10:00
Albert Liu 855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 2020-07-21 17:14:11 -07:00
jdgleaver 49f9ddfa0e Finish adding support for PSX BIOS included in PSP firmware 6.60 2020-07-21 17:06:38 +01:00
jdgleaver 7478e75ed6 (libretro) Fix 'Fast Boot' option 2020-07-21 16:32:36 +01:00
Connor McLaughlin f28ef01d24 CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
2020-07-22 00:05:52 +10:00
Connor McLaughlin f9bbbbbaec Settings: Make auto-detect the default console region 2020-07-22 00:03:31 +10:00
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 2020-07-22 00:03:22 +10:00
Connor McLaughlin 3187d07d03 CDImage: Add memory CD image class 2020-07-22 00:03:07 +10:00
Connor McLaughlin 8b91bf5e57 Core: Add loading screen based progress callbacks 2020-07-22 00:03:01 +10:00
Connor McLaughlin cf366d3fba CDImage: Fix crash reading subq from lead-in 2020-07-22 00:02:51 +10:00
Connor McLaughlin 03c3b10054 CDSubChannelReplacement: Use subq union directly 2020-07-22 00:02:44 +10:00
Connor McLaughlin 93528db388 System: Use existing CD media when loading state where possible 2020-07-22 00:02:37 +10:00
Connor McLaughlin 75a8a7fcca Settings: Make per-game memory cards for slot 1 the default 2020-07-21 20:15:52 +10:00
Connor McLaughlin b2595a3b3b Qt: Fix volume slider slowing down emulation 2020-07-21 20:10:17 +10:00
Connor McLaughlin 2fb00faa67 Qt: Delay settings save by one second 2020-07-21 20:10:11 +10:00
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin eb7da791ea CommonHostInterface: Fix command line help not printing on Windows 2020-07-21 20:09:54 +10:00
Connor McLaughlin bddd098a66
Merge branch 'master' into qt-inisettings 2020-07-21 13:28:18 +10:00
Connor McLaughlin f67862de5f
Merge pull request #622 from ggrtk/qt-gamelistsettings
Qt/GameListSettings: Use native path separators
2020-07-19 12:58:00 +10:00
Elizabeth 39917117d2
Disable Interlacing description "Unchecked"
As noted by Kurayami6, Disable Interlacing should show "Unchecked" as the default option for this enhancement.
2020-07-18 13:21:13 -04:00
Albert Liu 2853bf851a Qt/GameListSettings: Use native path separators
Fixes possible duplicate game list entries on Windows.
2020-07-17 18:43:30 -07:00
Connor McLaughlin 1069e12bff Qt: Add binding how-to text to hotkey page 2020-07-18 01:33:51 +10:00
Connor McLaughlin 389f452e10 Qt/GameListSettings: Use push button for all buttons 2020-07-18 01:33:36 +10:00
Connor McLaughlin 5c5ee17fa7 Qt: Fix widescreen hack option positioning 2020-07-18 01:28:35 +10:00
Connor McLaughlin 2702eb90bf libretro: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin 1e6740762d Qt: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin 8c3051ae14 SDL: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin 5c1c467e38 GTE: Add widescreen hack 2020-07-18 00:28:37 +10:00
Connor McLaughlin 5f76140aa5 libretro: Expose main RAM to frontend 2020-07-18 00:28:37 +10:00
Connor McLaughlin 401ecfa872 Bus: Make memory map public 2020-07-18 00:28:37 +10:00
Albert Liu a92fd98d7f Qt/GameListSettings: Fix QToolButtons staying highlighted after use 2020-07-17 03:50:02 -07:00
Albert Liu 79adabeb91 CommonHostInterface: Bump to settings version 3
This is required for phasing out QSettings usage because game paths were
being saved using the QSettings multi-value format, which is
incompatible with SimpleIni.
2020-07-16 20:35:49 -07:00
Albert Liu 97be6c922c Fix MSVC build 2020-07-16 20:35:49 -07:00
Albert Liu 4e2b3189b0 Qt: Replace QtSettingsInterface with INISettingsInterface 2020-07-16 20:35:49 -07:00
Albert Liu 9b2740b395 HostInterface: Save tweak/hack defaults to settings file
Fixes tweak/hack defaults not displaying correctly in Qt frontend.
2020-07-16 20:35:18 -07:00
Albert Liu 9d6325f828 QtHostInterface: Fix compiler warning 2020-07-16 20:32:42 -07:00
Connor McLaughlin 71cef1de3f GL/ContextGLX: Add additional logging 2020-07-15 15:50:30 +10:00
Connor McLaughlin dd9a4191e6 AnalogController: Fix swapped rumble test
Fixes weak rumble test in MGS.

I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
2020-07-15 02:38:16 +10:00
Connor McLaughlin 7ba1bed37b Settings: Leave interlacing on by default
Too many games break without it.
2020-07-14 01:27:57 +10:00
Connor McLaughlin 48be73be5a SDL: Fix crash when changing debug settings while running 2020-07-14 01:26:43 +10:00
Connor McLaughlin 6ed67468d2 CDROM: Prevent games which spam Reset from getting wedged 2020-07-14 01:26:37 +10:00
Albert Liu 91f51c2833 Settings: Add 1:1 pixel aspect ratio 2020-07-12 17:09:15 -07:00
Albert Liu 9e316e4502 Settings: Add 8:7 display aspect ratio
Requested by users for some 256-width 240p titles (effectively 1:1 PAR
at 256x224 when overscan cropping is turned on).
2020-07-12 17:08:28 -07:00
Connor McLaughlin 1ed57a9fdf Qt: Hook up mouse events to ImGui 2020-07-13 02:39:59 +10:00
Connor McLaughlin dbce58e07d CDROM: Display paused position in debug window 2020-07-13 02:23:56 +10:00
Connor McLaughlin 35093818c6 libretro: Add resolutions up to 16x 2020-07-12 23:31:21 +10:00
Albert Liu c44e74db80 GPU: Compute VRAM display width from GP1(06h) values
Fixes overpadding in some specific cases, e.g. when cropping overscan in
Captain Commando.
2020-07-11 10:57:23 -07:00
Connor McLaughlin 8febf5df04 D3D11HostDisplay: Fix reversed feature level order 2020-07-12 00:44:13 +10:00
Connor McLaughlin 113b0f57d6 libretro: Fix Vulkan context creation on Mali
We don't use the loader functions here anyway, so no need to try to
retrieve them.
2020-07-12 00:41:53 +10:00
Connor McLaughlin 3ad780b52e libretro: Fix logging breaking when retro_set_environment called twice 2020-07-12 00:41:09 +10:00
Connor McLaughlin 282f166e7a Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer
Fixes crash on Mali.
2020-07-12 00:40:05 +10:00
Connor McLaughlin fb6538da35 Vulkan/Context: Allocate SSBO descriptors in global set
Fixes vram write buffer creation failing on Mali.
2020-07-12 00:38:27 +10:00
Connor McLaughlin 50a25b63b1 CDROM: Track seek position when resetting
Fixes Blasto hanging after starting game.
2020-07-11 20:35:36 +10:00
Connor McLaughlin d1a2ebd8f3 GPU/HW: Eliminate CPU round trip on oversized VRAM writes 2020-07-11 20:35:33 +10:00
Connor McLaughlin 86c6be41b3 SDL: Wayland support 2020-07-11 03:28:57 +10:00
Connor McLaughlin 4ce5f7e802 GLContext: Wayland support 2020-07-11 03:28:25 +10:00
Connor McLaughlin eab70546c8 CDROMAsyncReader: Only log warning when waiting time exceeds 1ms 2020-07-11 03:21:05 +10:00
Connor McLaughlin c5e8327e7a CDROM: Seek to LBA 0 when resetting
Fixes Love & Destroy.
2020-07-10 20:55:15 +10:00
Connor McLaughlin 71157b171e CDROM: Use partial seek position when re-seeking 2020-07-10 20:55:00 +10:00
Connor McLaughlin 4d1880091e GPU: Ignore display start bit 0 instead of reducing width 2020-07-10 20:31:58 +10:00
Connor McLaughlin 93abf8e53d GPU: Drop least significant bit of display start address
Fixes extra column in some games, e.g. Nascar Thunder 2004,
U.S. Navy Fighters.
2020-07-10 20:23:27 +10:00
Connor McLaughlin 604ff20b0d AnalogController: Treat rumble as binary on/off
Fixes vibration in Final Fantasy 8.
2020-07-10 20:15:46 +10:00
Connor McLaughlin d6ec1fd84e Build fix 2020-07-10 14:46:44 +10:00
Connor McLaughlin c01854e9d1 Define LIBRETRO macro when building core, skip swap chain 2020-07-10 14:02:45 +10:00
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin 60a739e305 D3D11HostDisplay: Add __has_include check for dxgi1_5.h 2020-07-09 13:24:56 +10:00
Connor McLaughlin 9685be9064 D3D11/ShaderCache: Remove feature level 12 enum usage
It's not used anyway.
2020-07-09 13:00:44 +10:00
Connor McLaughlin 5984f977ca D3D11HostDisplay: Ensure we only get feature level 10-11 2020-07-09 13:00:31 +10:00
Connor McLaughlin 46dfccef81 Common/DimensionalArray: Don't break clang 2020-07-08 15:40:08 +10:00
Connor McLaughlin 532c2a0c15 cmake: Drop msbuild-based libretro dll in top-level dir too 2020-07-08 15:18:49 +10:00
Connor McLaughlin a68bbb3e85 Common/DimensionalArray: Work around VC2017 issue 2020-07-08 15:04:47 +10:00
Connor McLaughlin 068b244303 libretro: Do SET_CORE_OPTIONS unconditionally 2020-07-08 12:48:57 +10:00
Connor McLaughlin 57cf40d1ae Bus: Work around VS2017 bug with std::array 2020-07-08 12:45:53 +10:00
Connor McLaughlin 6ae5caa23b Common/StringUtil: Add missing include 2020-07-08 12:45:49 +10:00
Connor McLaughlin 209d7c67e9 GPU/OpenGL: Prefer SSBOs over small texel buffers+subimage 2020-07-08 02:05:36 +10:00
Connor McLaughlin 922003ba50 libretro: Ignore renderer changes
RetroArch does not support hot swapping renderers.
2020-07-08 02:05:36 +10:00
Connor McLaughlin 97a946bd62 CommonHostInterface: Implement frame step hotkey 2020-07-08 02:05:36 +10:00
Connor McLaughlin 01287cb7da build: Support building libretro core for Android 2020-07-07 20:27:14 +10:00
Connor McLaughlin c242d4707f build: Drop Linux libretro core in current directory too 2020-07-07 20:27:14 +10:00
Connor McLaughlin 089b1d465f build: Drop libretro DLL in build directory 2020-07-07 19:09:14 +10:00
Connor McLaughlin 9a631ff52c build: Don't build unit tests for libretro core 2020-07-07 18:54:02 +10:00
Connor McLaughlin 729e1b3392 GLContext: Fix Android context creation 2020-07-07 00:59:49 +10:00
Connor McLaughlin da180a1c4f Vulkan: Fix crash when device creation fails 2020-07-07 00:59:42 +10:00
Connor McLaughlin 1d4b5e22cb Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported 2020-07-07 00:59:35 +10:00
Connor McLaughlin d1eae288bf GameList: Add EntryCompatibilityRatingToString 2020-07-07 00:59:28 +10:00
Connor McLaughlin 5274fa32ac Qt: Pump events on main thread when waiting for init 2020-07-06 02:47:33 +10:00
Connor McLaughlin 76cb52407b SDLControllerInterface: Init joystick API as well 2020-07-06 02:47:33 +10:00
Connor McLaughlin 547e8b239b libretro: Reduce base width/height
Stops the window opening so large.
2020-07-06 02:47:33 +10:00
Connor McLaughlin 11c0601a67 libretro: Work around hw render interface pointer being freed 2020-07-06 02:47:33 +10:00
Albert Liu e42d5fed75 GPU: Adjust 4-pixel boundary alignment formula
Fixes missing edge in Tenchi wo Kurau II: Sekiheki no Tatakai.
2020-07-05 06:00:36 -07:00
Albert Liu 000a51298a GPU: Don't round screen size to 4-pixel multiple 2020-07-05 06:00:36 -07:00
Albert Liu e2b1158514 GPU: Report CRTC padding as signed in debug window 2020-07-05 06:00:36 -07:00
Connor McLaughlin 67bc14dac9 CI: Use libretro core naming convention 2020-07-05 13:15:12 +10:00
Connor McLaughlin 511c3133f1 GPU: Let GPU catch up before handling GP1 reset commands
Fixes trashed VRAM writes in some homebrew.
2020-07-05 02:25:56 +10:00
Connor McLaughlin b0b3901722 libretro: Fix DualShock analog mode auto-enable 2020-07-05 00:05:14 +10:00
Connor McLaughlin c76bb5eb6a libretro: Fix display aspect ratio 2020-07-04 22:33:07 +10:00
Connor McLaughlin 343e3ba3b7 libretro: Better handle resolution changes 2020-07-04 22:14:07 +10:00
Connor McLaughlin e15fafe428 libretro: Reduce OSD message durations 2020-07-04 22:14:07 +10:00
Connor McLaughlin 8408d3b6bf libretro: Disable shader cache
Can't seem to see somewhere we can save shader blobs. It wasn't working
anyway because it would generate invalid paths.
2020-07-04 22:14:07 +10:00
Connor McLaughlin f9622b2450 libretro: Fix memory card save locations 2020-07-04 22:14:07 +10:00
Connor McLaughlin 9b3e344ad8 Renderers: Support empty shader cache 2020-07-04 22:14:07 +10:00
Connor McLaughlin f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
Connor McLaughlin b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
Connor McLaughlin 218f6721d3 libretro: Fix display rendering in D3D11/OpenGL 2020-07-04 20:05:49 +10:00
Connor McLaughlin 2c4fce3f0d D3D11HostDisplay: Don't create swap chain for headless 2020-07-04 17:37:50 +10:00
Connor McLaughlin b3359dadc9 Qt: Save original style name for restoring after theme switch 2020-07-04 15:54:26 +10:00
Connor McLaughlin 1231f6dafe GPU: Handle GP1 command mirrors 2020-07-04 01:28:18 +10:00
Albert Liu 0a0a2024fd SDLControllerInterface: Prefer cbutton.which for button events
Functionally the same as caxis.which due to SDL_Event union, but prefer
using SDL_ControllerButtonEvent members for button events.
2020-07-02 17:45:44 -07:00
Connor McLaughlin 2d74062abb CPU: Delay interrupts by one instruction/block
Fixes Gameshark Sampler Disc.
2020-07-03 01:51:08 +10:00
Connor McLaughlin 8a8ce8d41c NamcoGunCon: Use correct GPU clock as reference 2020-07-03 01:51:05 +10:00
Connor McLaughlin 0710e3b6d3 CDROM: Ignore sectors with channel number=255
Some games (Taxi 2 and Blues Blues) have junk audio sectors with a channel number of 255.
We need to skip them otherwise it ends up playing the incorrect file.

TODO: Verify with a hardware test.
2020-07-02 00:50:53 +10:00
Connor McLaughlin bff5432879 Pad: Improve ACK timing
Fixes random pauses in Moto Racer.
2020-07-02 00:50:53 +10:00
Connor McLaughlin b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin 655dff84e2 VulkanHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin 400ee3d9b3 OpenGLHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin 8cd9e0887e libretro: Use framebuffer view dimensions not texture dimensions 2020-07-01 01:57:25 +10:00
Connor McLaughlin 70f4ce7cde libretro: Add auto analog mode option for controllers 2020-07-01 01:57:25 +10:00
Connor McLaughlin f65a50d84b HostDisplay: Use surface scale for drawing software cursor 2020-07-01 01:57:25 +10:00
Connor McLaughlin bf08385051 WindowInfo: Add surface_scale field 2020-07-01 01:57:25 +10:00
Connor McLaughlin e374853cf5 HostInterface: Better configuration of custom crosshair/software cursor 2020-07-01 01:57:25 +10:00
Connor McLaughlin f0c1dfefe7 Core: Add resources file
Currently includes a crosshair icon.
2020-07-01 00:56:46 +10:00
Connor McLaughlin ed6065d7f5 D3D11HostDisplay: Fix software cursor rendering 2020-07-01 00:56:46 +10:00
Connor McLaughlin 7d88bba764 Common: Add an image helper class 2020-07-01 00:56:46 +10:00
Connor McLaughlin 78cf890c6c Qt: Hook up per-controller-type-settings to UI 2020-07-01 00:56:46 +10:00
Connor McLaughlin bcc6d5d53d Qt: Support float settings in setting widget binder 2020-07-01 00:56:46 +10:00
Connor McLaughlin 0b11a14e24 Qt: Better handling of default settings not in ini 2020-07-01 00:56:46 +10:00
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 2020-07-01 00:56:46 +10:00
Connor McLaughlin f3b2953e40 Common/StringUtil: Add FromChars overload for bool 2020-07-01 00:56:46 +10:00
Connor McLaughlin 38aa485f8f libretro: Analog controller/DualShock support 2020-06-30 03:03:56 +10:00
Connor McLaughlin 51b4776b8f libretro: Work around video driver switching crash in RetroArch 2020-06-30 03:03:56 +10:00
Connor McLaughlin 861b98ed3b libretro: Additional work
- Reliable resolution switching.
 - Hook up logging.
 - Memory cards and controller type settings.
 - Save state support.
 - Direct3D support.
2020-06-30 03:03:56 +10:00
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Connor McLaughlin 936d92dfb8 System: Add option to force start in software mode 2020-06-30 02:44:19 +10:00
Connor McLaughlin 919494079b System: Make saving screenshots to state optional 2020-06-30 02:44:09 +10:00
Connor McLaughlin dc7cc3b67f Common/ByteStream: Fix buffer corruption in MemoryByteStream 2020-06-30 02:44:01 +10:00
Connor McLaughlin e5f56fcd33 MDEC: Slightly reduce block timing
Fixes FMVs in Disney's Treasure Planet.

Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin 614ea632a5 SPU: Log warning when data is lost due to reg clear 2020-06-29 14:45:03 +10:00
Connor McLaughlin ea1066f76e GL/StreamBuffer: Use glBufferData() on all drivers 2020-06-29 14:44:16 +10:00
Connor McLaughlin 745b53e4cb GL/Context: Fix crash in some GLX drivers 2020-06-27 17:35:08 +10:00
Connor McLaughlin 15afe4f436 GPU/Vulkan: Fix incorrect vkCmdPushConstants() call 2020-06-27 16:26:20 +10:00
Albert Liu 1a45ee3018 CommonHostInterface: Use largeImage fields in Discord presence payload
Fixes application icon not showing up in Discord Rich Presence.
2020-06-26 22:28:48 -07:00
Connor McLaughlin 0b261e836b GPU/Vulkan: Fix shader VRAM copies
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin 58b0e6859a Frontend: Reset/restore GPU state before saving screenshot
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Connor McLaughlin b94de1924d GPU/ShaderGen: Round normalized colours before converting to integer
Fixes broken rendering/precision issues on Intel Ivy Bridge GPUs.

Many thanks to linkmauve from Dolphin for the idea - seems Dolphin also
had a similar problem a few years ago.
2020-06-26 21:40:53 +10:00
Connor McLaughlin 16ca214d09 GPU/OpenGL: Fix VRAM writes breaking on <GL4.3 2020-06-26 21:39:37 +10:00
Connor McLaughlin 34d7b752d8 GPU/ShaderGen: Enable GL_ARB_shader_storage_buffer_object on <GL4.3 2020-06-26 21:39:12 +10:00
Connor McLaughlin 998ec85b16 CDROM: Log slow sector reads in Release builds too 2020-06-26 17:17:25 +10:00
Connor McLaughlin 737337a526 CDROM: Fix incorrect sector read after incomplete seek->read
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
2020-06-26 17:15:41 +10:00
Connor McLaughlin b8a2487abf GPU/HW: Fix incorrect offset application in line upscaler
Fixes green line in pause screen of Spyro.
2020-06-26 03:26:06 +10:00
Albert Liu 788a9a6768 Qt: Reset palette and style when selecting default theme
Fixes palette and style getting stuck when switching to default theme
after having used dark fusion theme earlier in the same session.
2020-06-24 16:08:36 -07:00
Connor McLaughlin ad727c7991 CPU/Recompiler: Check interrupts after mtc0 sr/cause
Fixes Jackie Chan Stuntmaster in Recompiler mode.
2020-06-25 01:33:00 +10:00
Connor McLaughlin b00f50c927 CPU/Recompiler: Emit test/jz instead of bt/jnc for bits < 8
Likely very slightly faster.
2020-06-25 01:33:00 +10:00
Connor McLaughlin 55a2c73097 Qt: Add Dark Fusion theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin a6d976240a Qt: Add theme selection and dark theme 2020-06-25 01:33:00 +10:00
Albert Liu 28d38c9867 LibretroHostInterface: Report aspect ratio setting to frontend 2020-06-23 09:24:50 -07:00
Albert Liu 7c206766ae HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
Fixes inconsistency with default settings saving to PixelAspectRatio,
but loading from AspectRatio instead. PixelAspectRatio was not being
used elsewhere.
2020-06-23 09:24:50 -07:00
Connor McLaughlin 832c7a1192 Vulkan: Support using SSBOs instead texel buffers 2020-06-24 01:40:01 +10:00
Connor McLaughlin 08ef8c1e8d GPU/HW: Support SSBOs instead of texture buffers for VRAM writes 2020-06-24 01:39:53 +10:00
Connor McLaughlin eec37df1e0 Settings: Make the recompiler the default CPU mode 2020-06-24 01:39:42 +10:00
Connor McLaughlin f6aae5e67c Settings: Add 2:1 (VRAM 1:1) display aspect ratio 2020-06-24 01:39:35 +10:00
Connor McLaughlin f32028a736
Merge pull request #566 from ggrtk/analog-controller
ControllerInterface: Customizable axis scaling and deadzone size
2020-06-24 01:33:26 +10:00
Connor McLaughlin 2cfb811569
Merge pull request #565 from lioncash/stamp
timestamp: Correct duplicate conditionals
2020-06-24 01:32:52 +10:00
Connor McLaughlin 84d4423719
Merge pull request #564 from lioncash/leak
file_system: Prevent resource leaks in DeleteDirectory()
2020-06-24 01:31:52 +10:00
Connor McLaughlin da0885af0d
Merge pull request #563 from lioncash/fs
file_system: Correct duplicate conditionals in CreateDirectory()
2020-06-24 01:30:04 +10:00
Connor McLaughlin 4b31034efa
Merge pull request #562 from lioncash/amp
spu: Make use of logical AND within IsPitchModulationEnabled()
2020-06-24 01:29:42 +10:00
Albert Liu 293c2f50cd ControllerInterface: Make axis-to-button deadzone customizable 2020-06-23 08:15:17 -07:00
Albert Liu 6b7c068f83 ControllerInterface: Implement axis scaling for axis-to-axis mappings
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07:00
Lioncash 4c82705e34 timestamp: Correct duplicate conditionals
Previously, the milliseconds field wasn't being used in comparisons on
Windows.
2020-06-23 06:24:06 -04:00
Lioncash 987b11a1d2 timestamp: Implement operator!= in terms of operator==
Same behavior, less code.
2020-06-23 06:20:29 -04:00
Lioncash 83a01c27a2 file_system: Prevent resource leaks in DeleteDirectory()
We need to remember to close the search handle in the error cases.
2020-06-23 06:13:54 -04:00
Lioncash 292a0a6800 file_system: Correct duplicate conditionals in CreateDirectory() 2020-06-23 06:09:38 -04:00
Lioncash 20d17b953b spu: Make use of logical AND within IsPitchModulationEnabled()
It seems awfully suspect to use a bitwise AND here.
2020-06-23 06:00:11 -04:00
Connor McLaughlin 3ca9d578b3
Merge pull request #559 from lioncash/field
bitfield: Make interface fully constexpr
2020-06-23 19:58:06 +10:00
Connor McLaughlin 6de24f620e
Merge pull request #558 from lioncash/psf
system: Correct error dialog in PSF load case
2020-06-23 19:57:19 +10:00
Connor McLaughlin daf9afe221
Merge pull request #560 from lioncash/xy
playstation_mouse: Amend initial x value
2020-06-23 19:56:43 +10:00
Connor McLaughlin e228588823
Merge pull request #561 from lioncash/rectangle
rectangle: Correct assignment of right within SetExtents
2020-06-23 19:56:16 +10:00
Lioncash e064196f25 rectangle: Correct assignment of right within SetExtents
Previously left was being assigned twice in a row.
2020-06-23 05:50:43 -04:00
Lioncash 7a05f8402b playstation_mouse: Amend initial x value
Previously the last host y position was being written to twice, which
seems like a typo.
2020-06-23 05:48:25 -04:00
Lioncash 0abe4c60b4 cd_image: Make use of std::array where applicable
Simplifies array copies.
2020-06-23 05:35:26 -04:00
Lioncash a27aa45e6a bitfield: Make interface fully constexpr
Given C++17 is being used, the entire interface is capable of being
constexpr.
2020-06-23 05:27:40 -04:00
Lioncash 76af96f15b system: Correct error dialog in PSF load case
Corrects the error message to state that the PSF couldn't be loaded
rather than EXE.
2020-06-23 05:13:47 -04:00
Connor McLaughlin 840a80670f CDROM: Reset XA resampler on file switch
Pure guess work, probably won't affect anything.
2020-06-22 15:58:22 +10:00