Commit Graph
100 Commits
Author SHA1 Message Date
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
Connor McLaughlin f690165b52 Merge pull request #571 from ggrtk/discord
CommonHostInterface: Use largeImage fields in Discord presence payload
2020-06-27 15:55:30 +10: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
Connor McLaughlin f1cfe1b954 Merge pull request #568 from ggrtk/qt-theme
Qt: Reset palette and style when selecting default theme
2020-06-25 12:13:21 +10: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
Connor McLaughlin e6f5009245 Merge pull request #567 from ggrtk/aspect-ratio-setting
HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
2020-06-24 12:23:46 +10: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
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
Connor McLaughlin c8082fcdf1 Merge pull request #557 from lioncash/data
cd_image: Make use of std::array where applicable
2020-06-23 19:55:25 +10: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
Connor McLaughlin 9265dd72ba Vulkan/ShaderCache: Skip writing pipeline cache when size matches
Comparing all the data wasn't working, at least for Intel. I'm guessing
there's some modification time field in there which keeps changing.
2020-06-22 15:58:10 +10:00
Connor McLaughlin eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
Connor McLaughlin f846817848 Vulkan: Fix crash when opening settings window -> resizing 2020-06-22 15:58:00 +10:00
Connor McLaughlin 1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
Connor McLaughlin 82a0ad8a10 Qt/Settings: Make GPU adapter more sensible
Add a default entry, rather than leaving it blank.
2020-06-22 15:57:43 +10:00
Connor McLaughlin 1667d0a271 Update compatibility list from @macattack222 and @HeroponRikiBestest 2020-06-22 15:56:00 +10:00
Connor McLaughlin eb1b6b6272 GPU/HW: Fix D3D11 upscaled line GS 2020-06-22 15:53:05 +10:00
Connor McLaughlin 73cdd676ad GPU/Vulkan: Fix incorrect srcfactor selection 2020-06-21 16:24:37 +10:00
Connor McLaughlin ce75168238 GPU/Vulkan: Don't assume support for dual-source blend 2020-06-21 01:33:15 +10:00
Connor McLaughlin bf60f9dd61 GPU/Vulkan: Use geometry shader for line rendering at >1xIR 2020-06-21 01:33:08 +10:00
Connor McLaughlin 97ef905f10 GPU/Vulkan: Fix race/crash when changing settings live 2020-06-21 01:33:00 +10:00
Connor McLaughlin f54876deb0 Vulkan/Context: Use VK_MVK_macos_surface not VK_EXT_metal_surface
Will change this over some time in the future when I can work on a Mac
again and set up the layer.
2020-06-20 20:37:38 +10:00
Connor McLaughlin fed53b565f GPU/Vulkan: Fix inverted transparency
Fixes FF7 menu, map screen in Porsche Challenge.
2020-06-20 20:22:24 +10:00
Connor McLaughlin a08c398d4b GPU/HW: Provide depth in vertex rather than computing
Fixes mask bit effects in Vulkan (e.g. Silent Hill).
Significantly reduces the number of mask bit refreshes in OpenGL/Vulkan.
2020-06-20 20:21:33 +10:00
Connor McLaughlin 7192b8d83a Vulkan/ShaderCache: Hopefully fix macOS build 2020-06-20 03:39:46 +10:00
Connor McLaughlin cab5e70ccc Update compatibility list with data from @macattack222 2020-06-20 03:36:47 +10:00
Connor McLaughlin 4d827e23c5 Qt: Add GPU/adapter selection to settings 2020-06-20 03:34:19 +10:00
Connor McLaughlin 77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +10:00
Connor McLaughlin 1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
Connor McLaughlin 4a04800132 Vulkan: Handle potential duplicate GPU/adapter names 2020-06-20 03:34:19 +10:00
Connor McLaughlin 7fce9b102e FrontendCommon: Add GPU enumeration methods to D3D11/Vulkan host displays 2020-06-20 03:34:19 +10:00
Connor McLaughlin 85edbce3ca Qt: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin 1e26ded73c SDL: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin 6eb2079088 FrontendCommon: Add D3D11 helper for host display 2020-06-20 03:33:34 +10:00
Connor McLaughlin 8ae04f66a1 Update compatibility list with data from @Zet-sensei 2020-06-19 01:42:36 +10:00
Connor McLaughlin 3114eb51f9 Update README.md with Vulkan renderer 2020-06-19 01:40:08 +10:00
Connor McLaughlin c023bcd234 Linux build fix 2020-06-19 01:36:46 +10:00
Connor McLaughlin 1212d24ea9 Merge branch 'vulkan' 2020-06-19 00:19:18 +10:00
Connor McLaughlin 49a9f01327 Qt: Support Vulkan 2020-06-19 00:18:53 +10:00
Connor McLaughlin d168947ae4 SDL: Support Vulkan 2020-06-19 00:18:51 +10:00
Connor McLaughlin 6aacf0019a FrontendCommon: Add a Vulkan host display interface 2020-06-19 00:18:19 +10:00
Connor McLaughlin 49d11988bf Core: Add Vulkan GPU renderer 2020-06-19 00:18:17 +10:00
Connor McLaughlin 3cd5b7ae74 Core: Add Vulkan renderer types 2020-06-19 00:18:14 +10:00
Connor McLaughlin 1399e95b77 Common: Add a range of Vulkan helper/wrapper classes 2020-06-19 00:18:07 +10:00
Connor McLaughlin 2c0a28398c dep/imgui: Add Vulkan renderer 2020-06-19 00:16:59 +10:00
Connor McLaughlin 5bbcde7835 dep: Add glslang 2020-06-19 00:16:59 +10:00
Connor McLaughlin da83059e31 dep/vulkan-loader: Add Vulkan headers and basic dynamic loader 2020-06-19 00:16:59 +10:00
Connor McLaughlin 63cc4ab197 CommonHostInterface: Release save state selector before display
This can have GPU objects, so needs to be released first.
2020-06-19 00:16:59 +10:00
Connor McLaughlin bd164d2735 Common/FileSystem: Add {Read,Write}BinaryFile helpers 2020-06-19 00:16:59 +10:00
Connor McLaughlin 0890164987 Common: Add scope_guard.h from Dolphin 2020-06-19 00:16:59 +10:00
Connor McLaughlin 47138aa9cf GPU: Consider interlaced rendering for GPU timings
Fixes menu screen flickering in Chrono Cross, summary screen breakage in
Mr. Driller G.
2020-06-18 17:37:13 +10:00
Connor McLaughlin 5c2b178709 Merge pull request #552 from ggrtk/advanced-settings
Qt/AdvancedSettings: Fix swapped widget bindings
2020-06-18 11:34:49 +10:00
Connor McLaughlin 7aa71529d6 Merge pull request #551 from ggrtk/advanced-settings
Qt: Connect tweak/hack settings to Qt frontend
2020-06-18 03:12:13 +10:00
Connor McLaughlin 8daff5e677 Common: Add dimensional_array.h 2020-06-18 03:10:33 +10:00
Connor McLaughlin 0e3fdebb11 Qt: Don't set native window to GL surface
Might be related to the GLX crashes some people are experiencing...
2020-06-18 03:10:33 +10:00
Connor McLaughlin b141042952 Merge pull request #549 from ggrtk/qt-rebind-all
Qt: Simplify Rebind All behavior
2020-06-15 13:26:48 +10:00
Connor McLaughlin 41d66f5c73 Qt: Add icon to executable 2020-06-15 03:29:35 +10:00
Connor McLaughlin 91734e35b0 SDL: Add icon to executable 2020-06-15 03:29:21 +10:00
Connor McLaughlin fc0560087f GPU: Skip primitives where clip area is invalid
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
2020-06-14 01:01:01 +10:00
Connor McLaughlin 16c47f4553 Settings: Change default GPU FIFO size to 16
While this has the potential to be slower, there seems to be quite a few
games which break with the larger FIFO. In some cases, they wait for the
DMA interrupt, then busy wait for the GPU to go idle again. If the FIFO
is larger, this wait time till be longer, breaking things.
2020-06-13 01:40:05 +10:00
Connor McLaughlin bda528d70a GPU: Alter timings to reflect new clock 2020-06-13 01:40:05 +10:00
Connor McLaughlin dad63f2303 GPU: Run draw clock at sysclk * 2 2020-06-13 01:40:05 +10:00
Connor McLaughlin 0dfb9f7d90 Merge pull request #548 from ggrtk/qt-aboutdialog
Qt: Add about dialog
2020-06-12 18:50:06 +10:00
Connor McLaughlin 8d2c7db224 Qt: Source input profiles from program and user directory
This way Linux users as well as Windows users who use the Documents
user directory can use the shipped input profiles.
2020-06-12 02:47:40 +10:00
Connor McLaughlin 814edecd05 README.md: Add note about unsupported Windows versions 2020-06-12 01:55:47 +10:00
Connor McLaughlin 2504d187d3 Qt: Add separate menu items for rescan all/scan for new games 2020-06-12 01:49:17 +10:00
Connor McLaughlin 34d27bad4a Timers: Add missing event update after resetting count/target 2020-06-12 01:37:39 +10:00
Connor McLaughlin bdf9c91271 GPU: Fix double shader compilation 2020-06-09 03:04:02 +10:00
Connor McLaughlin 86f0d32e70 CubebAudioStream: Fix crash in PulseAudio on Linux 2020-06-09 03:03:53 +10:00
Connor McLaughlin d7f083559e Add initial libretro implementation 2020-06-09 02:44:42 +10:00
Connor McLaughlin 5dedd8707b Add subset of headers from libretro-common 2020-06-09 02:41:39 +10:00
Connor McLaughlin f5fd37c4c4 Qt: Fix compatibility column not showing by default 2020-06-09 02:41:24 +10:00
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin 444a09efd4 AudioStream: Don't call FramesAvailable() while locked 2020-06-09 02:05:49 +10:00
Connor McLaughlin 7b4b2d5dc5 GameList: Ignore all whitespace characters in SYSTEM.CNF
Fixes some games not having serials displayed, e.g. Chrono Cross.

Thanks to @TzakShrike for narrowing down the cause.
2020-06-08 03:05:27 +10:00
Connor McLaughlin a56d7385eb SDL: Support rendering software cursor in D3D11 2020-06-08 02:59:38 +10:00
Connor McLaughlin f9eb3719e3 HostInterface: Add software cursor mode
This will probably need to be extended in the future.
2020-06-08 02:53:55 +10:00