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
Henrik Rydgård
191c4ddb0d
Add a bit of logging to try to figure out #10477
2017-12-30 21:04:05 +01:00
Unknown W. Brackets
9ff812b313
arm64jit: Negate in ADDI2R/SUBI2R as well.
...
Should've done this at the same time as CMN. It's not as common, mostly
catches addu calls, but it's good to have these generic for other uses.
2017-12-30 11:11:04 -08:00
Unknown W. Brackets
c00044c5d8
arm64jit: Avoid arithmetic movs.
...
ORR is the preferred encoding and may be faster on some chips.
2017-12-29 17:30:18 -08:00
Unknown W. Brackets
b59c0d0b45
arm64jit: Use CMN for CMPI2R if possible.
...
It's not hit all that often, but it is hit.
2017-12-29 17:30:13 -08:00
Unknown W. Brackets
1ecce2a2e1
arm64jit: Reuse code in I2R funcs.
2017-12-29 17:30:07 -08:00
Unknown W. Brackets
b21af3321a
arm64jit: Allow ANDI2R/etc. with zero.
...
Since they're all possible anyway, and it's easy to forget to special case
0.
2017-12-28 14:36:37 -08:00
Unknown W. Brackets
6fd17fb026
arm64jit: Use reg sum for LDR/STR.
...
Skips an add, and should be less ops anyway.
2017-12-28 10:19:55 -08:00
Unknown W. Brackets
257a4fdd12
arm64jit: Reprotect fixed code after icache flush.
2017-12-27 19:33:04 -08:00
Unknown W. Brackets
4a27e99ee9
arm64jit: Remove buggy icache invalidate.
...
This is always of size 0, and crashes on iOS anyway...
2017-12-27 19:30:10 -08:00
Greg V
52234dae91
Remove VULKAN_STATIC
2017-12-26 16:09:31 +03:00
Greg V
f3783bdb44
Add support for Vulkan on Wayland
2017-12-26 16:09:27 +03:00
Unknown W. Brackets
a7b3a1eb96
Vulkan: Decimate the texture allocator.
...
Thin3D wasn't calling Begin/End, which lead to leaks eventually and OOM.
Was causing softgpu to crash.
2017-12-24 10:39:42 -08:00
Henrik Rydgård
7f758d52dc
Statically link a vulkan loader on Linux. Use to to init vulkan on X11. Unfortunately, it's broken.
2017-12-21 11:02:11 +01:00
Henrik Rydgård
ea387b2a48
WIP vulkan on linux stuff
2017-12-21 10:48:00 +01:00
Henrik Rydgård
b0528f3794
Vulkan: Fix bug where we'd do the initial layout transition for an image before binding memory to it. Should help the issue uncovered in #10413
2017-12-20 16:40:09 +01:00
Henrik Rydgård
2250ef799c
Avoid including platform-specific headers in VulkanContext.h
2017-12-18 12:54:25 +01:00
Henrik Rydgård
ef66892f70
Update vulkan headers, add linux .so loader lib for easy builds, like Sascha does.
2017-12-15 16:40:38 +01:00
Henrik Rydgård
e488227398
Just some log cleanup
2017-12-15 16:33:49 +01:00
Henrik Rydgård
b4a44c5e02
Another buildfix, sigh. Also extend the safe region a little bit to the thing from a couple commits ago.
2017-12-13 22:28:30 +01:00