twinaphex
e661cf3cfd
Rewrite video_context_driver_init_first
2018-10-14 08:13:05 +02:00
Themaister
a1989afba9
Vulkan: Fix race condition in threaded mailbox emulation.
2018-09-10 19:35:13 +02:00
Themaister
d338dac277
Only do mailbox emulation for fullscreen.
...
Too large impact on performance in Windowed mode.
2018-09-08 16:27:25 +02:00
Themaister
d39f66a738
Emulate mailbox by wrapping acquire in a thread.
...
Needed on nVidia Windows since they don't support timeout == 0 ...
2018-09-08 15:56:49 +02:00
Themaister
9ebac87638
Vulkan: Emulate mailbox on Windows.
2018-09-08 11:47:58 +02:00
Themaister
af534f0fa8
Vulkan maintenance fixes.
...
- Use VkBuffer instead of linear VkImage for staging uploads.
Not guaranteed to be supported, and desktop IHVs recommend using
buffers.
- Fix validation error where swapchain recreation with reuse of the old
VkSwapchainKHR does not create a fence properly, leading to validation
error next time that swapchain index is observed.
2018-09-08 11:47:58 +02:00
Themaister
f2cae17021
Vulkan: Try to avoid creating swapchains redundantly.
...
Win32: Only make resize events when needed.
Do not create swapchain unless necessary.
Deal better with Windows WSI workarounds.
2018-07-01 16:21:09 +02:00
Themaister
c4ba8d26a0
Support multiple displays in VK_KHR_display.
2018-07-01 01:21:51 +02:00
Stuart Carnie
411bcf8bdd
feat(apple): Metal support for macOS
...
* includes rgui
* shader support
This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Stuart Carnie
0a4ff225be
Update Vulkan
2018-05-13 21:35:18 +02:00
twinaphex
72428a23c5
(shader_vulkan.cpp) Move some functions to vulkan_common.c
2018-04-24 07:07:58 +02:00
gblues
6904101c44
Clean up trailing whitespace
...
== DETAILS
Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
Themaister
f8447c4648
Set correct buffer size.
2017-12-09 17:28:20 +01:00
Themaister
714684a4d3
Don't wait for WSI fence unless it has been signalled.
2017-12-09 17:28:20 +01:00
twinaphex
3a92a60a8e
Cleanups
2017-09-09 01:30:47 +02:00
aliaspider
36137d22e5
Vulkan: use the command buffer provided as parameter in
...
vulkan_copy_staging_to_dynamic.
2017-05-15 05:35:17 +01:00
twinaphex
f928e57064
Combine video_context_driver.c and video_driver.c
2017-05-09 01:25:59 +02:00
hunterk
a1124b8ded
(Vulkan) add bokeh menu shader for vulkan
2017-02-20 22:59:05 -06:00
twinaphex
4fb3315091
Change to 6 * 2
2017-02-20 21:52:49 +01:00
twinaphex
0d873b6da1
(Vulkan) Add fancy snow for Vulkan
2017-02-20 21:51:58 +01:00
Hans-Kristian Arntzen
2d88530c98
Vulkan: Simple snow pipeline works.
...
Some other fixes too.
2017-02-20 20:53:59 +01:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
twinaphex
467451fccc
Cleanup more header includes
2016-09-01 18:18:55 +02:00
twinaphex
aff2812fde
Try to get rid of double definition of type
2016-09-01 06:08:06 +02:00
Hans-Kristian Arntzen
4e8e79eabd
Vulkan: Add mipmapping support.
2016-07-31 13:47:10 +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
8569028189
Vulkan: Use manual memory management for cached/incoherent devices.
2016-07-15 16:12:30 +00:00
Hans-Kristian Arntzen
e9046dd06f
Begin implementing VK_KHR_display.
2016-07-06 19:37:47 +02: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
1da2e2dbab
Vulkan: Hook up negotiation interface device creation.
2016-06-26 10:40:07 +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
01390f8ceb
Use retro_common_api.h
2016-06-03 08:06:49 +02:00
twinaphex
0d833c903a
Merge remote-tracking branch 'origin/vulkan-windows'
2016-05-16 07:51:01 +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
Hans-Kristian Arntzen
464a4add66
XMB ribbon works in Vulkan.
2016-05-08 11:11:28 +02:00
Hans-Kristian Arntzen
8ade7fb274
Vulkan: Attempt Windows backend support.
...
Completely bind since I cannot test myself, but compiles.
2016-03-29 15:50:12 +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
twinaphex
86a8899b0f
(Android) Start preparing Android JNI Makefiles for Android
2016-03-01 18:46:40 +01:00
twinaphex
de27720044
We don't need to link against libvulkan.so implicitly anymore
2016-03-01 02:47:16 +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
a6048b4218
Add vksym.h
2016-02-29 23:38:49 +01:00
twinaphex
7a907a97a7
Start preparing to split this code up
2016-02-29 23:31:51 +01:00
twinaphex
9a10ef5591
(Vulkan) Add more Vulkan function pointers
2016-02-29 23:28:12 +01:00
twinaphex
860b7fde62
(Vulkan) Add DeviceWaitIdle function pointer
2016-02-29 23:25:25 +01:00
twinaphex
1d9220d9d1
(Vulkan) Add vkCmdBindVertexBuffers function pointer
2016-02-29 23:22:56 +01:00
twinaphex
c8b9bb609f
(Vulkan) More image function pointers
2016-02-29 23:19:23 +01:00
twinaphex
30eac5b778
(Vulkan) Add vkDestroyDescriptorPool fp
2016-02-29 23:13:13 +01:00
twinaphex
6023a5f06e
Add vkAllocateDescriptorSets fp
2016-02-29 23:11:00 +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
twinaphex
a7df7be64b
Add vkAllocateMemory/vkFreeMemory
2016-02-29 22:36:53 +01:00
twinaphex
a53e7a5437
(Vulkan) Add pipeline barrier function pointer
2016-02-29 22:30:23 +01:00
twinaphex
1b85ee442f
Go through funcptr for vkAllocateCommandBuffers
2016-02-29 22:23:35 +01:00
twinaphex
83dc7db6c7
(Vulkan) Add descriptor set layout function callbacks
2016-02-29 22:04:23 +01:00
twinaphex
caed6c61cb
(Vulkan) Function pointer for vkFreeCommandBuffers
2016-02-29 21:58:10 +01:00
twinaphex
1e407079e4
Add function pointers for image view functions
2016-02-29 21:55:54 +01:00
twinaphex
a6eb40b3d2
Add funcptr for vkAllocateCommandBuffers
2016-02-29 21:51:42 +01:00
twinaphex
4771c45ed3
Add render pass command function pointers
2016-02-29 21:43:04 +01:00
twinaphex
7f5d0f2763
(Vulkan) More function pointers for command buffer functions
2016-02-29 21:37:35 +01:00
twinaphex
860ffff3c9
(Vulkan) Go through funcptr for vkEndCommandBuffer
2016-02-29 21:31:51 +01:00
twinaphex
a1c8a47665
(Vulkan) Go through funcptr for vkDestroyInstance
2016-02-29 21:27:18 +01:00
twinaphex
c62971042d
(Vulkan) Cleanups
2016-02-29 21:20:36 +01:00
twinaphex
eae652d6a5
Go through funcptr for vkDestroyCommandPool
2016-02-29 21:17:21 +01:00
twinaphex
f0458495f4
Go through funcptr for vkDestroyPipeline
2016-02-29 19:41:25 +01:00
twinaphex
d45f0e0946
Some cleanups
2016-02-29 19:39:49 +01:00
twinaphex
670eede306
Go through function pointer for vkCmdClearAttachments
2016-02-29 19:34:40 +01:00
twinaphex
fc7a972466
Go through function pointers for vkMapMemory/vkUnmapMemory
2016-02-29 19:20:42 +01:00
twinaphex
b660fb8878
Create sampler function pointers
2016-02-29 19:11:09 +01:00
twinaphex
0e91bb6852
Go through more function pointers
2016-02-29 19:03:18 +01:00
twinaphex
1d96e80b05
(Vulkan) More funcptrs
2016-02-29 18:40:30 +01:00
twinaphex
ef93f92ea2
Cleanups
2016-02-29 17:22:57 +01:00
twinaphex
a8ccf2531d
Cleanups
2016-02-29 17:21:40 +01:00
twinaphex
a4c9d02953
Add DestroyImage funcptr
2016-02-29 17:16:01 +01:00
twinaphex
874b5b7e17
Go through more funcptrs
2016-02-29 17:13:13 +01:00
twinaphex
6836b5f868
vkCreateImage - go through funcptr
2016-02-29 16:48:55 +01:00
twinaphex
3677144d18
Start going through VKFUNC
2016-02-29 16:47:21 +01:00
twinaphex
6c9e8041c6
Add function pointer for vkCreateCommandPool
2016-02-29 16:41:49 +01:00
twinaphex
6dce80ea07
Add function pointers for vkCreatePipelineCache and vkCreatePipelineLayout
2016-02-29 16:37:15 +01:00
twinaphex
778b50fc28
Add funcptr for vkCreateFramebuffer
2016-02-29 16:32:34 +01:00
twinaphex
361cce328d
vkCreateRenderPass - add funcptr
2016-02-29 16:30:45 +01:00
twinaphex
277e2977ff
(Vulkan) Add function pointer to vkDestroyDevice
2016-02-29 16:28:12 +01:00
twinaphex
4248e244a8
Go through funcptr for vkCmdCopyImage
2016-02-29 06:52:08 +01:00
twinaphex
89ee08214d
We need to grab a function pointer to vkCmdDraw later after
...
vkCreateDevice
2016-02-29 06:21:42 +01:00
twinaphex
be5333371b
(Vulkan) More funcptrs
2016-02-29 06:16:31 +01:00
twinaphex
bfd38e171b
(Vulkan) More Vulkan funcptrs
2016-02-29 05:57:38 +01:00
twinaphex
3abea50cbf
Move function pointers to vulkan_context
2016-02-29 05:49:05 +01:00
twinaphex
cf03851cc8
Add vkGetDeviceQueue funcptr
2016-02-29 05:37:37 +01:00
twinaphex
5e970637d4
(Vulkan) Add more function pointers
2016-02-29 05:32:10 +01:00
twinaphex
25d741e26a
Start setting up more function pointers
2016-02-29 04:21:08 +01:00
twinaphex
ffd94d3ac0
We cannot rely on vulkan_intel.h being available, so just
...
include its contents inside vulkan_common.h
2016-02-23 01:24:15 +01:00
Hans-Kristian Arntzen
cece4e5ae2
Vulkan: Add workaround for broken VkImageView swizzling.
...
Certain early drivers fail to apply swizzle mask.
2016-02-21 13:52:30 +01:00
Hans-Kristian Arntzen
4259ea3d06
Merge branch 'master' of git://github.com/libretro/RetroArch
2016-02-21 12:45:26 +01:00
Hans-Kristian Arntzen
36eb07e067
Vulkan: Use copy paths if needed.
2016-02-21 12:33:16 +01:00
twinaphex
254e0bbd90
vulkan_common.h - style nits
2016-02-21 10:11:35 +01:00
Hans-Kristian Arntzen
5542427246
Try to use cached memory for readbacks.
...
Speeds up nVidia readbacks by order of magnitude.
2016-02-20 12:04:53 +01:00