Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Unknown W. Brackets
f65481668c
Vulkan: Fix a log formatting issue.
2018-04-14 10:47:06 -07:00
Unknown W. Brackets
7811c03c3b
Vulkan: Report old allocations when enabled.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
3445a82567
Vulkan: Allow reusing memory more aggressively.
...
This causes allocated slabs to get reused more, which means more smaller
slabs are kept around. However, it also reduces fragmentation.
2018-04-06 21:42:32 -07:00
Unknown W. Brackets
1c253ee271
Vulkan: Add code to track allocator usage info.
...
This way we can potentially debug leaks, if any.
2018-04-06 21:42:32 -07:00
Henrik Rydgård
6505f7762c
GCC buildfix (can't use things without definitions in templates).
...
Could also have included base/logging.h but meh.
2018-03-27 16:28:33 +02:00
Henrik Rydgård
d125fa00e1
Make sure the renderpass cache hashmap is never accessed from the main thread at runtime. Should help #10811
2018-03-27 14:45:41 +02:00
aliaspider
4113ba74f2
libretro: msvc build fix.
2018-03-24 22:47:12 +01:00
aliaspider
686717eb71
add missing include.
2018-03-24 11:40:16 +01:00
aliaspider
ed12b95091
Windows/Vulkan: use the width and height arguments in ReinitSurface when
...
provided.
2018-03-24 11:09:55 +01:00
Henrik Rydgård
da8d5fa280
Merge pull request #10767 from aliaspider/temp
...
fix cmake build for mingw and msvc.
2018-03-24 09:24:53 +01:00
aliaspider
f94e9b1e74
set _WIN32_WINNT to 0x0601 in stdafx.h
2018-03-23 22:54:12 +01:00
Henrik Rydgård
fb798cf6b2
Win32 textdrawer: Fix rare crash affecting Patapon 2 in savedata manager. See 10764.
2018-03-23 10:27:08 +01:00
aliaspider
54d9406713
fix mingw and msvc cmake builds.
2018-03-23 03:18:13 +01:00
aliaspider
8fcf93e462
vulkan: perform delete callbacks first since they can also queue
...
deletes.
2018-03-22 22:23:28 +01:00
aliaspider
fc9a5ff65c
prevent use-after-free.
2018-03-22 22:10:05 +01:00
aliaspider
2d1128db76
fix va_list reuse without a va_copy.
2018-03-22 22:04:49 +01:00
Henrik Rydgård
f76e5e70a7
Enable FlushInstructionCache on UWP, it's been allowed finally.
...
Minor warning fixes, UWP buildfix
Retarget UWP project to latest SDK.
2018-03-20 20:30:33 +01:00
Henrik Rydgård
8f87a9f5c5
Vulkan: De-duplicate pipelines when storing cache
...
The new variety of renderpasses with different transitions causes
duplication. Hopefully drivers are smart enough to re-use work
between similar pipelines as much as possible...
2018-03-19 11:18:37 +01:00
Henrik Rydgård
216bab8a4a
Vulkan: Fix a barrier to be more permissive, there's no outstanding writes from the GPU to wait for.
2018-03-18 09:57:17 +01:00
Henrik Rydgård
473c87273f
Maybe slightly safer vulkan detection code. Might help #10732
2018-03-17 19:22:59 +01:00
Henrik Rydgård
08c3e13517
Do more detailed checks for Vulkan availability. Should hopefully solve #10729 .
2018-03-17 11:36:16 +01:00
Henrik Rydgård
614cabb115
Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
...
The raw pipeline cache got pretty large. Instead, store IDs like GL.
There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
3cd92b4d90
Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues
2018-03-15 16:23:23 +01:00
Henrik Rydgård
cd75c46d47
Sort Vulkan function pointers by use. Might save us a cacheline or two during command submission..
2018-03-12 20:05:50 +01:00
Henrik Rydgård
9f9903c02e
Fixes to vulkan restart logic on Android. Should help #10696
2018-03-11 17:14:11 +01:00
Henrik Rydgård
1e940f4973
Buildfix, warning fixes
2018-03-01 13:50:56 +01:00
Henrik Rydgård
ee752f5399
Some error handling and assert improvements, trying to understand #10662
2018-03-01 12:21:58 +01:00
Henrik Rydgård
83c82a5ebd
GL: Fix depal issue where we forgot to set vp/scissor properly. Update some asserts.
2018-02-28 18:45:14 +01:00
Henrik Rydgård
39bf5b1f55
Minor naming and init cleanups in VulkanTexture
2018-02-26 10:50:29 +01:00
Henrik Rydgård
eb73cc23cd
Some log level changes.
2018-02-26 10:48:29 +01:00
Henrik Rydgård
e1852321a0
Vulkan: Remove the old method of uploading images.
2018-02-25 12:15:29 +01:00
Henrik Rydgård
eb014e8c6b
Try to be more consistent when initializing vulkan structs.
2018-02-25 12:15:29 +01:00
Henrik Rydgård
5f8118b82b
Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases.
2018-02-25 10:27:59 +01:00
Unknown W. Brackets
0e2a586c1b
Global: Fix some type comparison/shadow warnings.
2018-02-11 07:03:23 -08:00
Unknown W. Brackets
2bec3bf3ac
Windows: Trigger StopThread() on shutdown.
...
Otherwise, we end up hanging in the loop waiting for emuThreadState to
become STOPPED. It actually has, but ThreadFrame() will block until a new
frame is queued... while will never happen, because the emuthread has
stopped.
2018-02-10 16:55:44 -08:00
Henrik Rydgård
c3629b4a53
Warning fixes
2018-02-04 13:42:04 +01:00
Henrik Rydgård
67b8c4527d
b.sh: Add a build option for address sanitizer. When enabled, we turn on some compatibility options to make it work right.
2018-01-31 14:29:23 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
...
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
c60c8ed68a
Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour.
2018-01-29 19:38:10 +01:00
Henrik Rydgård
fdca06d208
More work on shutdown, still hanging though.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
57615344e4
Fix for deletes, add some debugging stuff
2018-01-27 15:10:17 +01:00
Henrik Rydgård
af6431986d
OpenGL: Now run GL on a secondary thread. Sync issues remain.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
2656ad7d40
Vulkan: Use push_back instead of resize(+1)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
42f2312030
Remove the old CPU threading remains, start redesigning interfaces.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
60a966c5ec
PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
133bef575a
Split Android graphics context implementations into their own files.
2018-01-20 21:47:16 +01:00
Greg V
025c382b9b
Check for Vulkan Xlib/Wayland surface support before enabling
...
The Vulkan loader will error if a requested extension is not available,
and the nvidia proprietary driver does not support the Wayland one.
2018-01-12 22:18:58 +03:00
Henrik Rydgård
b9726245ac
Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it.
2017-12-30 21:31:43 +01:00
Henrik Rydgård
25a9573f8b
Typo fix
2017-12-30 21:30:31 +01:00