Commit graph

1315 commits

Author SHA1 Message Date
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
Henrik Rydgård
ce21642a61 Merge pull request #9978 from LunaMoo/ctrl_extra
Add more PSP keys(for some homebrew and cwcheats)
2017-09-28 18:51:16 +02:00
LunaMoo
d96232be72 Finish making extra psp keys mappable. 2017-09-23 15:37:10 +02:00
twinaphex
4855b2d6f1 mingw patches 2017-08-31 22:15:05 +02:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgård
ff3d799871 Remove snprintf compatibility hacks for MSVC versions before 2015 2017-08-31 16:46:54 +02:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
twinaphex
157d04b2a5 Simplify this conditional 2017-08-30 19:47:15 +02:00
twinaphex
db404adb95 More mingw patches 2017-08-29 22:24:20 +02:00
twinaphex
78b6636a2b Remove this too - we will use UNICODE and _UNICODE defines for
mingw build
2017-08-29 18:49:36 +02:00
twinaphex
cc24b158ac Change this to _MSC_VER 2017-08-29 18:46:31 +02:00