91 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
4e8e79eabd Vulkan: Add mipmapping support. 2016-07-31 13:47:10 +02:00
Hans-Kristian Arntzen
d39a3619d6 Begin implementation of LUTs in Vulkan. 2016-07-31 12:26:14 +02:00
Hans-Kristian Arntzen
f54b0c0ff0 Vulkan: Implement swap_interval > 1.
We have to fake it by duping since Vulkan has no native support for
this.
2016-07-24 00:34:48 +02:00
Hans-Kristian Arntzen
8c1b935969 Vulkan: Implement BFI. 2016-07-24 00:07:32 +02:00
Hans-Kristian Arntzen
8569028189 Vulkan: Use manual memory management for cached/incoherent devices. 2016-07-15 16:12:30 +00:00
Hans-Kristian Arntzen
4729ec9e1b Add support for signalling semaphores from frontend.
Useful for conserving framebuffer memory.
2016-06-27 20:54:53 +02:00
Hans-Kristian Arntzen
54c1759f45 Vulkan: Make a more general purpose symbol loader.
Avoids painful manual loading and wrapping function pointers everywhere
...

Reusable for cores, so move to libretro-common.
Also update built-in Vulkan headers.
2016-06-26 13:10:58 +02:00
Hans-Kristian Arntzen
b013a9c863 Vulkan: Replace prebaked shaders with glslc -mfmt=c.
Far more clean and avoids illegal punning.
2016-06-25 14:55:03 +02:00
Hans-Kristian Arntzen
972a5db7ae Vulkan: Fix shader module leak. 2016-06-25 14:06:14 +02:00
Hans-Kristian Arntzen
07880e3f45 Vulkan: Begin hooking up validation layers.
Found lots of regressions due to bad reformatting.
2016-06-25 13:52:33 +02:00
Hans-Kristian Arntzen
d043123f71 Vulkan: Add support for queue transfers in HW rendering. 2016-06-25 11:39:52 +02:00
twinaphex
281a33d61f Rename function to performance_counter_init 2016-05-16 09:58:45 +02:00
twinaphex
f5bc75c640 Rename retro_perf_start/retro_perf_stop 2016-05-16 09:53:54 +02:00
twinaphex
18355d4748 Rename retro_perf_stop 2016-05-16 09:48:14 +02:00
twinaphex
0d833c903a Merge remote-tracking branch 'origin/vulkan-windows' 2016-05-16 07:51:01 +02:00
twinaphex
fc56f6ebdb Add some HAVE_THREADS ifdefs 2016-05-11 10:10:30 +02:00
twinaphex
78783cc2aa Buildfixes for compiling without HAVE_MENU 2016-05-11 10:06:15 +02:00
twinaphex
4a7ab8366b Move libretro.h headers to libretro-common/include 2016-05-10 19:03:53 +02:00
twinaphex
b79b2dca13 Create performance_counters 2016-05-10 08:53:14 +02:00
twinaphex
dde471e001 Rename gfx_ structs 2016-05-10 02:39:09 +02:00
twinaphex
44ed8d1116 CXX_BUILD fixes 2016-05-09 05:48:47 +02:00
twinaphex
b20d550cc4 Rename video context driver functions 2016-05-08 20:32:56 +02:00
twinaphex
7399ba386a Rename gfx_ctx_ prefix 2016-05-08 19:24:23 +02:00
Hans-Kristian Arntzen
d723411436 De ioctl video_driver. 2016-05-08 14:00:51 +02:00
Hans-Kristian Arntzen
464a4add66 XMB ribbon works in Vulkan. 2016-05-08 11:11:28 +02:00
twinaphex
65dec874a8 Move some path settings 2016-04-28 19:52:25 +02:00
Hans-Kristian Arntzen
c7b96b75b8 Vulkan: Add more error logging. 2016-03-29 17:36:13 +02:00
Hans-Kristian Arntzen
38a305bb6e Vulkan: Add proc address query functions to HW interface.
Allows cores to avoid linking directly against any extra library.
Update HW interface version to 2 to signal ABI change.

Note that the interface is still experimental and can change at any time.
2016-03-29 16:35:31 +02:00
Hans-Kristian Arntzen
1ff4445ba0 Remove dead code with full_x/full_y.
Very confusing and no longer serves any purpose anyways.
2016-03-29 15:28:13 +02:00
Hans-Kristian Arntzen
82db5a4950 Vulkan: Use single UBO for all passes and sync indices.
Significantly reduces number of allocations.
2016-03-26 19:39:51 +01:00
Hans-Kristian Arntzen
3838b3c045 Vulkan: Add frame count suport. 2016-03-25 22:06:31 +01:00
Hans-Kristian Arntzen
83ab0d799f Vulkan: Begin implementing history and feedback. 2016-03-25 14:51:37 +01:00
Hans-Kristian Arntzen
f1a5725f66 Vulkan: Host writes are implicitly flushed on submit.
Use TOP_OF_PIPE/0 access instead to work
around spammy asserts on Anvil.

We still have to invalidate the caches however.
2016-03-21 16:57:04 +01:00
Hans-Kristian Arntzen
7899d449e6 Vulkan: Also invalidate fragment uniform buffer 2016-03-21 11:49:27 +01:00
Hans-Kristian Arntzen
a21687b5d7 Vulkan: Ensure vertex caches are invalidated. 2016-03-21 10:10:29 +01:00
Hans-Kristian Arntzen
84923a0465 Vulkan: Tighten up pipeline barrier usage.
Lots of memory barriers used with TOP_OF_PIPE which is not valid.
2016-03-21 10:02:00 +01:00
Hans-Kristian Arntzen
07524fe433 Vulkan: Log about format use. 2016-03-21 09:29:41 +01:00
Hans-Kristian Arntzen
f02faeea27 Vulkan: Fix segfault on nVidia. 2016-03-06 12:33:46 +01:00
Hans-Kristian Arntzen
c00d32f30f Vulkan: Get correct window mode size. 2016-03-06 12:18:11 +01:00
Hans-Kristian Arntzen
6cde59a8ad Vulkan: Add more detailed counters. 2016-03-06 12:11:44 +01:00
twinaphex
eebcde721b Rename video_coord_array 2016-03-05 07:28:02 +01:00
twinaphex
64a77af881 Use RARCH_DISPLAY_CTL_HW_CONTEXT_GET directly instead of
going through video_driver_callback
2016-03-04 20:49:55 +01:00
twinaphex
86a8899b0f (Android) Start preparing Android JNI Makefiles for Android 2016-03-01 18:46:40 +01:00
Themaister
bce0d55a43 Vulkan: Allocate correct number of descriptors.
Have to allocate for entire pool, not per set.
2016-03-01 09:44:18 +01:00
twinaphex
b79edb6095 Reimplement function pointers 2016-03-01 02:21:53 +01:00
twinaphex
937230564d move more code to vksym.h 2016-03-01 01:53:48 +01:00
twinaphex
4a1a623099 (Vulkan) Add more funcptrs 2016-02-29 23:09:05 +01:00
twinaphex
0e60d20705 Add Command Function pointers 2016-02-29 23:04:17 +01:00
twinaphex
67ea4e1d6b (Vulkan) Pipeline function pointers 2016-02-29 22:55:31 +01:00
twinaphex
1fbac78e35 (Vulkan) Go through function pointer for vkDestroyPipelineCache 2016-02-29 22:38:58 +01:00