Commit Graph
1325 Commits
Author SHA1 Message Date
Jan Beich 7a16cff6de Common: implement GetExeDirectory on NetBSD 2017-11-24 14:46:07 +00:00
Henrik Rydgård cc3ba1bbf7 Fix _assert_ on Android to assert properly 2017-11-24 13:52:53 +01:00
Henrik Rydgård b6911d2764 Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163. Also improve some asserts. 2017-11-22 10:47:04 +01:00
Henrik Rydgård acdb89c898 Make our release mode asserts actually fire properly in release mode again... 2017-11-21 21:06:57 +01:00
Henrik Rydgård 2e9d59ad10 Android: Use __android_log_assert facility to get pretty message-asserts into crash dumps. 2017-11-21 18:06:26 +01:00
Henrik Rydgård 27a60f5e58 Fix message asserts on Android. Add more of them to check things in Vulkan code. 2017-11-20 12:11:47 +01:00
Henrik Rydgård 96d6f1cae5 Make sure the device supports transfers from swapchain images when taking screenshots. 2017-11-15 13:57:22 +01:00
Henrik Rydgård 10792cc8e7 Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though... 2017-11-15 13:18:29 +01:00
Henrik Rydgård 3594623a8d Vulkan: Show the preferred depth-stencil format in the feature list. 2017-11-15 09:08:30 +01:00
Unknown W. Brackets b1554ef061 Vulkan: Cut down on asserts during init.
In case something is horribly wrong, or our desired settings aren't
compatible, let's try to stumble our way out.

More things can fail, but the goal is to detect failure or at least be
able to render UI settings to swap out of Vulkan.
2017-11-12 21:56:55 -08:00
Henrik Rydgård 4346a54eb7 Vulkan: Speed up and simplify hardware tesselation by using storage buffers. 2017-11-12 13:55:42 +01:00
Henrik Rydgård ebac0143e0 Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions. 2017-11-12 10:28:55 +01:00
Henrik Rydgård 8d7bcd9d61 Vulkan hw tess: Assorted minor fixes. Works on Mali now. 2017-11-11 21:51:05 +01:00
Henrik Rydgård ee768ca949 Logging improvements, avoid resetting the Android text drawer unnecessarily 2017-11-10 13:02:24 +01:00
Henrik Rydgård 0a2b20bf59 More logging and tweaking 2017-11-10 12:09:42 +01:00
Henrik Rydgård 8b42d83123 Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård ec504756e0 Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes. 2017-11-09 16:02:05 +01:00
Henrik Rydgård 845b02a6c5 Ooops 2017-11-09 13:35:42 +01:00
Henrik Rydgård 25f32b1d78 Vulkan: Disable dual source blending on Intel GPUs, fixes #10074. 2017-11-09 13:16:06 +01:00
Henrik Rydgård ba846fdbc5 Show textual names of Vulkan GPU vendors 2017-11-09 12:30:07 +01:00
Henrik Rydgård c6c90d4cbc Improve Vulkan device selection mechanism to prefer discrete GPUs 2017-11-09 12:21:20 +01:00
Henrik Rydgård ca3be1877e Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup. 2017-11-08 17:03:27 +01:00
Henrik Rydgård 62b24edde1 Fix some minor things found by running Sizer on PPSSPP
Sizer: https://github.com/aras-p/sizer
2017-11-08 16:56:48 +01:00
Henrik Rydgård 70c70b1e76 Vulkan: Some error handling improvement. Might get us a clue for #10065 2017-11-07 00:08:39 +01:00
Unknown W. Brackets fc32a7b24e Vulkan: Show textures in GE debugger. 2017-11-06 00:29:01 -08:00
Anthony J. Bentley 9fc355eee4 Use W^X on OpenBSD. 2017-11-05 17:06:09 -07:00
Henrik Rydgård 3c591ad9ca Merge pull request #10052 from unknownbrackets/savestate-oom
Avoid Android OOM crashes on save state
2017-11-05 22:50:19 +01:00
Unknown W. Brackets 349b36f000 SaveState: Correct free on error and uncomp format.
The uncompressed path had diverged, so refactor to avoid this in the
future.  Also, some errors weren't freeing all buffers.
2017-11-05 10:19:09 -08:00
Unknown W. Brackets 66ddf592b4 SaveState: Use malloc to avoid Android OOM crash.
We have exceptions disabled on Android, which is exactly where we need the
OOM check most.
2017-11-05 10:04:22 -08:00
Unknown W. Brackets 8edc6eaf5e Vulkan: Fix segfault on swapchain fail.
This at least allows us to detect that the backend failed to init.

Happens when switching backends with debugger attached (probably driver
bug?)
2017-11-04 20:45:08 -07:00
Henrik Rydgård 0e5b398c9d Minor optimization. 2017-11-01 21:43:08 +01:00
Henrik Rydgård 94b16bf097 DenseHashMap: Speed up clearing. Became more important since I had to disable keeping descriptor sets around between frames. 2017-11-01 10:09:16 +01:00
Henrik Rydgård 96cd368878 Make VulkanTexture "immutable". 2017-11-01 08:49:48 +01:00
Henrik Rydgård 330bdb8be8 Add and update some comments. 2017-11-01 08:42:49 +01:00
Henrik Rydgård 74861d2d73 Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations. 2017-11-01 08:42:49 +01:00
Henrik Rydgård 3f503ca297 Implement the rest of Vulkan framebuffer depal. Not yet working though. 2017-10-31 12:34:59 +01:00
Henrik Rydgård c788dc896a Synchronization is HARD. need a rethink, methinks. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 1c5bd0f8dc Move the VulkanRenderManager stuff to thin3d, fits in better there. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 02f76ae4a8 Rendering basics now works. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 833916a906 A multitude of fixes. The UI now works correctly, though of course ingame still broken. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 0a0494ef8e It builds! With some shortcuts, of course. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 417b96a1b0 Use RenderManager for thin3d stuff 2017-10-26 10:56:59 +02:00
Henrik Rydgård 84ed793adf Initial work on render queue manager 2017-10-26 10:56:59 +02:00
Henrik Rydgård eabaf6ddcd Bit more Vulkan barrier cleanup. 2017-10-21 13:05:52 +02:00
Henrik Rydgård 804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård 5da165fad6 More work towards passing 1.61 Vulkan validation layers 2017-10-20 17:19:07 +02:00
Henrik Rydgård d0b9e5ed8f Initial work on passing the latest Vulkan validation checks. 2017-10-20 14:47:36 +02:00
Unknown W. Brackets dd98e877d4 Windows: Fix over/under write for multibyte chars. 2017-10-14 21:45:07 -07:00
Henrik Rydgård 3757070fe2 Extra safety when switching GPU backends, fix possible Vulkan shutdown issue. Should help #10005 2017-10-09 12:17:54 +02:00
Henrik Rydgård 356b25e3ce Vulkan: If there are no GPUs available, fail properly instead of asserting.
Seen on an obscure x86-64 android device when running 32-bit binaries
2017-10-02 14:09:30 +02:00