Commit Graph

416 Commits

Author SHA1 Message Date
Henrik Rydgård fdca06d208 More work on shutdown, still hanging though. 2018-01-27 15:10:17 +01:00
Henrik Rydgård 062608ad78 Start moving the framebuffer stuff over to the render manager 2018-01-27 15:10:17 +01:00
Henrik Rydgård 5d3c1e7871 Additional header cleanup 2018-01-20 21:55:25 +01:00
Henrik Rydgård 133bef575a Split Android graphics context implementations into their own files. 2018-01-20 21:47:16 +01:00
Unknown W. Brackets 766b40aad8 GPU: Reset GPUBackend on graphics init.
This way, when using a port that doesn't support Vulkan, it doesn't just
silently use upside down GL, etc.
2017-12-26 16:02:55 -08:00
Unknown W. Brackets d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Henrik Rydgård 2250ef799c Avoid including platform-specific headers in VulkanContext.h 2017-12-18 12:54:25 +01:00
Unknown W. Brackets 2943bbdbfd UI: Cancel loaders on shutdown.
Improves backend switching / locking / etc. performance when the recent
list has games that aren't currently available.

Also, remove unnecessary duplicate gameinfo flush on EGL loop shutdown.
Already happens in NativeShutdownGraphics().
2017-12-09 16:48:38 -08:00
Henrik Rydgård 7d0fc9ce65 Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. 2017-12-07 15:05:59 +01:00
Unknown W. Brackets 9c046d7518 Android: Fix race condition on lock/unlock.
This might be related to the recreate from bad orientation - sometimes, it
was pause/resuming pretty quick, which would get stuck waiting for a join.
2017-12-03 20:32:17 -08:00
Unknown W. Brackets 79f03a0767 Android: Fix crash on shutdown/restart.
The text drawing textures needed to be deleted before shutting down their
allocator.  Fixes #10244.
2017-12-03 14:39:00 -08:00
Henrik Rydgård 51a6c67502 Crash in a more appropriate place if missing a drawcontext (happens on really weak devices only) 2017-11-29 19:29:53 +01:00
Henrik Rydgård 6ea669368c Crash reports from 5% rollout of 1.5: Make some asserts dbg_asserts for now, try to fix an issue with framebuffers when postproc is enabled. 2017-11-29 18:53:52 +01:00
Henrik Rydgård 234f30a372 Minor error checking improvement 2017-11-26 14:52:26 +01:00
Henrik Rydgård ee759d83e3 Oops, android buildfix 2017-11-22 14:42:01 +01:00
Henrik Rydgård b1fce1c61a Android: Fix #9697 where we'd hang if we lacked permission and got a filename as a command. 2017-11-21 13:55:14 +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 1fb7560a14 Android: When creating shortcuts, put the file path in data, not in Extras.
Actually, let's keep extras around now for very limited backwards compatibility but check data first.
2017-11-16 14:45:47 +01:00
Henrik Rydgård a1e593b6ba Fix the "vulkan not found" message on android. Fixes #10034 2017-11-16 13:45:15 +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 1c76d28843 Avoid double-initializing the Vulkan backbuffer on startup. 2017-11-10 13:13:56 +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 3cc5d8f40a More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same. 2017-11-10 12:41:06 +01:00
Henrik Rydgård 0a2b20bf59 More logging and tweaking 2017-11-10 12:09:42 +01:00
Henrik Rydgård 6eb58b1252 Keep the draw context up to date in a bunch of places. More logging. 2017-11-09 16:28:22 +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 4e04780adc Upgrade glslang to a fresh version (used to compile Vulkan shaders). Might help #10065 ?) 2017-11-09 13:36:18 +01:00
Henrik Rydgård c6c90d4cbc Improve Vulkan device selection mechanism to prefer discrete GPUs 2017-11-09 12:21:20 +01:00
Unknown W. Brackets ebe9dcafde Vulkan: Wait for queue idle in DestroyBackbuffers.
Otherwise it's only done after destroying Draw, so no need to mutex.
2017-11-05 08:44:14 -08: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 b9ba525de1 Don't call functions in asserts, they get compiled out in release... 2017-10-20 14:45:00 +02:00
Henrik Rydgård 017d3da067 Allow D3D9 context creation to bail if shader compilation fails (D3D9 runtime not installed).
Fixes an issue where after switching to D3D9 on a PC without the D3D9 runtime, it's impossible to start PPSSPP anymore.
2017-10-20 11:53:07 +02:00
Henrik Rydgård 42cb559a8d Merge pull request #9927 from Florin9doi/master
Integrate sceUsbGps and sceUsbCam with Android
2017-08-31 09:47:25 +02:00
Henrik Rydgård 55e9807a53 Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. 2017-08-28 14:12:56 +02:00
Florin9doi 892bc8617d Integrate sceUsbGps and sceUsbCam with Android 2017-08-27 17:19:11 +03:00
Henrik Rydgård 560eaa5390 Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. 2017-08-17 17:57:37 +02:00
Henrik Rydgård d94351ef90 Initial work on supporting sustained perf mode 2017-08-15 16:41:13 +02:00
Henrik Rydgård 2de5e2b5c0 Android: Fix bug where the surface size could be wrong after task switching and automatic recreation 2017-08-08 13:41:45 +02:00
Henrik Rydgård 5627d82891 Format string fixes in DPI logging 2017-08-08 11:40:56 +02:00
Henrik Rydgård 6ee8cb5f2e Review fixes, thanks unknown 2017-08-08 10:14:20 +02:00
Henrik Rydgård ae64519f05 More splitting of dpi vars 2017-08-07 15:03:07 +02:00
Henrik Rydgård f4cf501cf6 Separate X and Y dpi_scale 2017-08-07 13:37:01 +02:00
Henrik Rydgård 11c75476f7 Turn g_dpi into a float, because why not 2017-08-07 12:16:08 +02:00
Henrik Rydgård a453dc8123 Make a state object for the Android audio wrapper 2017-08-01 15:28:45 +02:00
Henrik Rydgård 3a640ff8aa Address comments, make things closer to the Win32 code. Things work better. 2017-06-06 11:30:20 +02:00
Henrik Rydgård 0d3d642371 It works! 2017-06-05 23:09:12 +02:00
Henrik Rydgård d9c43642c2 Fix assorted JNI issues, the calls work now. 2017-06-05 23:09:10 +02:00
Henrik Rydgård 871260fcc4 Start sketching native text rendering for Android 2017-06-05 23:09:04 +02:00
Henrik Rydgård 01635a5cd6 Android: Just like on Windows, prompt to restart when changing graphics backend. 2017-05-31 11:12:11 +02:00
Henrik Rydgård d21a1f8813 Android: Fallback to OpenGL if Vulkan fails to init. 2017-05-30 10:31:41 +02:00