Commit Graph

354 Commits

Author SHA1 Message Date
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 2a621a8424 Go through vkEnumeratePhysicalDevices funcptr 2016-02-29 05:37:37 +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
Alcaro 7a6463a300 Add escape hatch if rarch (or the core) is in an infinite loop. 2016-02-23 16:11:39 +01:00
Alcaro 04ac09f579 One thing less to worry about when copypasting this, less risk of repeating 2d5e10e840. 2016-02-23 16:08:57 +01:00
Alcaro f8452e23c8 Don't use uninitialized variables. 2016-02-23 16:06:37 +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
twinaphex 7da0739b61 Get rid of global g_egl_api now too 2016-02-22 11:54:55 +01:00
twinaphex 22a677b3a8 Don't use egl_common's 'api' variable anymore 2016-02-22 11:54:19 +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 6e7f1371dd Vulkan: Fix scenario where we limit the number of frames too much. 2016-02-21 13:03:26 +01:00
Hans-Kristian Arntzen 9e060bf088 Fix STATIC texture upload. 2016-02-21 13:01:53 +01:00
Hans-Kristian Arntzen 0dddd671f8 Vulkan: Use more approriate barrier 2016-02-21 12:59:11 +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
twinaphex f462954609 Style nits pt. 2 2016-02-21 10:09:41 +01:00
twinaphex 8ce2665383 Style nits 2016-02-21 10:08:36 +01:00
Hans-Kristian Arntzen 8550c16f86 Always try to use cached memory if we can for linear textures.
Should improve cores which use SOFTWARE_FRAMEBUFFER.
2016-02-20 15:17:25 +01:00
Hans-Kristian Arntzen b61c05e10f Log the number of swapchain images we get. 2016-02-20 14:24:36 +01:00
Hans-Kristian Arntzen 111c37832a Make sure we get a queue which also supports compute.
Graphics + Compute queue must be supported.
2016-02-20 14:20:17 +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
Hans-Kristian Arntzen 4540369fcb Use correct cast for WSI_XLIB. 2016-02-19 22:25:51 +01:00
Hans-Kristian Arntzen 0bcdf6ebe0 More properly enumerate GPUs.
Just pick the first one for now.
2016-02-19 21:55:11 +01:00
Hans-Kristian Arntzen 88ec0f522b Vulkan: Add Vulkan backend to GLX context.
Also fixes some snags with libretro-test-vulkan.
2016-02-19 21:37:24 +01:00
Hans-Kristian Arntzen 1b5cc1ca9c Fix some types for WSI. 2016-02-19 19:50:04 +01:00
twinaphex d6906ee7df (xcb) Buildfix 2016-02-19 15:43:12 +01:00
twinaphex 11831a8b47 move shareable vulkan initialization code to vulkan_common.c 2016-02-19 14:38:15 +01:00
twinaphex 5cb0aa51c0 Add includes to vulkan_common.h 2016-02-19 14:26:45 +01:00
twinaphex e1a1843edc Start moving code to vulkan_common.h 2016-02-19 14:23:51 +01:00
twinaphex 72fed0d871 Add VULKAN_WSI_MIR (for when we ever get around to adding Mir support) 2016-02-19 12:24:20 +01:00
twinaphex cebefa6ae1 Refactor vulkan_surface_create 2016-02-19 12:23:16 +01:00
twinaphex 98990d6afc Add more WSI enum types 2016-02-19 11:50:25 +01:00
twinaphex 7205d76ab0 Cleanups 2016-02-19 11:36:46 +01:00
Hans-Kristian Arntzen c74c7ae053 Vulkan: Work around broken push constants on Ivy Bridge.
Use UBOs instead, should be more compatible with early drivers.
2016-02-18 18:36:49 +01:00
twinaphex 51a94d6ac7 Remove unix_common 2016-02-17 22:09:37 +01:00
twinaphex 17e5e57bed Add unix_common 2016-02-17 08:01:30 +01:00
Hans-Kristian Arntzen adbf9fed16 Vulkan implementation. 2016-02-16 20:42:02 +01:00
twinaphex 4941cd7dbd gl_ff_vertex - avoid glLoadIdentity 2016-02-14 03:47:33 +01:00
twinaphex 2fa46bcef8 Cleanups 2016-02-05 13:36:18 +01:00
twinaphex a267bdfbe3 MOve gfx/image/image.c to gfx/video_texture_image.c 2016-01-30 02:39:08 +01:00
aliaspider 2ff854177c (WIN32) build fix 2016-01-18 20:03:34 +01:00
aliaspider ee8e05050a (WIN32) fix runtime availability check for PowerCreateRequest. 2016-01-18 18:05:49 +01:00
twinaphex 54f46f4ee3 Update headers 2016-01-10 04:41:52 +01:00
twinaphex c9017a5e09 buildfix 2016-01-09 07:14:46 +01:00
twinaphex 4178950483 move translate_filter to d3d_common.cpp 2016-01-09 06:28:42 +01:00
twinaphex 8327302d6b Have win32_set_video_mode use this code too 2016-01-09 05:28:52 +01:00
twinaphex dad51f5677 Create win32_set_style 2016-01-09 05:24:27 +01:00
twinaphex 3e9820f6ae (D3D) Use win32_set_window 2016-01-09 05:04:47 +01:00
twinaphex c1d79c2205 (Win32) Buildfix 2016-01-09 05:00:56 +01:00
twinaphex c18cfee6d0 Create win32_set_window 2016-01-09 04:59:12 +01:00
twinaphex 93fed31e3a N/A 2016-01-08 20:51:30 +01:00
twinaphex d8f851365f Cleanups 2016-01-08 09:48:46 +01:00
twinaphex 3d9f7117e4 Cleanups 2016-01-08 05:46:14 +01:00
twinaphex 3a30649876 Pass through data variable to win32_window_create correctly 2016-01-08 05:13:10 +01:00
twinaphex 377c1f2661 N/A 2016-01-08 04:52:49 +01:00
twinaphex 281de92d79 Fix function name clashes pt. 1 2016-01-07 09:22:04 +01:00
twinaphex 186a9fe61b Try to set g_inited to true 2016-01-07 07:18:52 +01:00
twinaphex e8656333f1 Make it possible to manually set one of the devices with d3d_device_free 2016-01-07 02:22:53 +01:00
twinaphex 5a60055aa9 Make curD3D a static variable 2016-01-07 01:18:51 +01:00
twinaphex b4b3574665 use void pointer 2016-01-07 01:00:11 +01:00
twinaphex 3b8932b302 Turn returntype of set_resize into bool 2016-01-07 00:58:33 +01:00
twinaphex 28b615e62c (D3D) Buildfixes 2016-01-07 00:45:09 +01:00
twinaphex 3b34d6b6f1 WM_SIZE - we need to call the context driver's d3d_resize function 2016-01-07 00:43:16 +01:00
twinaphex 56a17b21f1 Create d3d_device_free 2016-01-07 00:19:27 +01:00
twinaphex 2199e22e63 Remove d3d_restore_device 2016-01-06 04:26:24 +01:00
twinaphex b8d41df24f (D3D) Add some logging to d3d_restore_device 2016-01-06 04:17:21 +01:00
twinaphex aa488dda25 Create video driver poke load_texture / unload_texture 2015-12-20 20:52:23 +01:00
radius f64fc93c44 silence a warning 2015-12-17 17:48:58 -05:00
twinaphex 6feff79547 (GL) Store major/minor version 2015-12-13 14:55:19 +01:00
Alcaro 9e3994408e What is that typecast dance good for? 2015-12-10 14:10:42 +01:00
Higor Eurípedes 1f51a0d948 (videocore) Fix build 2015-12-08 19:34:26 -03:00
Higor Eurípedes 1cf574cfbe Move most of egl_common globals into egl_ctx_data_t 2015-12-08 13:54:03 -03:00
twinaphex a95762e5cb Create egl_has_config 2015-12-08 14:42:02 +01:00
twinaphex 0f94353b28 Create egl_get_native_visual_id 2015-12-08 14:38:06 +01:00
twinaphex a18811bff6 Remove some obsolete state 2015-12-08 10:34:27 +01:00
twinaphex c614118ed8 Move context_bind_hw_render inline function to gl.c 2015-12-08 09:44:19 +01:00
twinaphex 9f96742576 Take out some header includes 2015-12-08 09:30:44 +01:00
twinaphex f11bed2bdd Get rid of gl->shader parameter 2015-12-08 09:29:23 +01:00
twinaphex 2d55dc3bda Complete namespace changes 2015-12-07 15:32:14 +01:00
twinaphex c8d8176c0c Get rid of unused variables 2015-12-05 12:50:56 +01:00
twinaphex df1c6344be Merge font_renderer_driver.c and font_driver.c 2015-12-05 12:07:22 +01:00
twinaphex 96ddc1f722 egl_destroy - don't do glFlush/glFinish on mobile platforms 2015-12-04 01:44:41 +01:00
twinaphex bab243a7a2 (egl_common.c) Cleanups 2015-12-03 23:33:50 +01:00
twinaphex 60313f7f48 (Android) Don't call eglSwapBuffers if g_egl_dpy and g_egl_surf are not
yet ready
2015-12-03 22:23:20 +01:00
twinaphex 66721e8902 Set g_egl_hw_ctx to NULL in egl_create_context 2015-12-03 22:13:03 +01:00
twinaphex 6c6beca430 Create x11_save_last_used_monitor 2015-12-01 08:49:35 +01:00
twinaphex c4354ff429 Create g_x11_screen 2015-12-01 08:42:33 +01:00
twinaphex 3ea560d516 Change WndProcCommon 2015-11-30 06:27:00 +01:00
twinaphex a02728fee3 Cleanups 2015-11-29 03:35:19 +01:00
twinaphex 9fd9fd10e8 Create input_x11_common 2015-11-29 03:34:09 +01:00
twinaphex 0044d853f8 Move display_type / display_window etc all to gfx/video_driver.c -
no more dependencies on driver_t
2015-11-29 01:12:49 +01:00
twinaphex c82fc11ba3 Get rid of now unused win32_video_get_ident 2015-11-28 22:01:44 +01:00
twinaphex a0aecd097e (Win32) Buildfix 2015-11-28 22:01:02 +01:00
twinaphex 7eb441a50f (Win32) Cut down on code duplication 2015-11-28 22:00:22 +01:00
twinaphex d810ba607b Get rid of extern "C" for WndProc 2015-11-28 21:55:46 +01:00
twinaphex c20c6a5438 (Win32) Buildfixes 2015-11-28 21:54:32 +01:00
twinaphex 883179bc40 (Win32) Buildfix 2015-11-28 21:52:09 +01:00
twinaphex ef3cbed13e Create separate WndProc for GL and D3D 2015-11-28 21:50:28 +01:00
twinaphex 8ce6582fa4 Create drm_wait_flip 2015-11-28 17:16:19 +01:00
Higor Eurípedes 428bc30a61 (gl) Add checks for full npot support 2015-11-27 21:21:23 -03:00
twinaphex 265e36a5d0 Some CXX_BUILD buildfixes 2015-11-28 00:33:01 +01:00
twinaphex 7c52d380bf Move memsetting of fds and evctx to drm_common.c 2015-11-26 18:59:36 +01:00
twinaphex 9c2813a757 Turn a bunch of variables static 2015-11-26 18:49:58 +01:00
twinaphex 25680ec8a6 Create more DRM common functions 2015-11-26 18:47:07 +01:00
twinaphex 60ead8f6b1 Create drm_get_encoder 2015-11-26 18:23:51 +01:00
twinaphex 2693e16f1e (Exynos/DRM EGL context driver) Unify more code 2015-11-26 18:05:27 +01:00
twinaphex 7e08f5d908 Create drm_free 2015-11-26 17:34:35 +01:00
twinaphex e06121b661 Move more common code to drm_common.c 2015-11-26 17:30:01 +01:00
twinaphex 8f9c652693 Add gfx/common/drm_common.c and gfx_common/drm_common.h 2015-11-26 17:12:06 +01:00
twinaphex b434689d39 (Win32) Buildfixes 2015-11-23 12:14:53 +01:00
twinaphex 074f14b132 Add verbosity.c/verbosity.h 2015-11-23 12:03:38 +01:00
twinaphex 85dbeeb8f9 No more video_monitor.h 2015-11-22 13:32:46 +01:00
twinaphex aad6a3a2a6 CXX_BUILD - buildfixes 2015-11-21 12:32:12 +01:00
twinaphex b69caea6c1 Set g_egl_inited to false after egl_destroy 2015-11-21 09:39:25 +01:00
twinaphex efa673c7b0 Make g_egl_use_hw_ctx a static variable 2015-11-21 09:37:26 +01:00
twinaphex 2f151896eb use egl_create_surface everywhere 2015-11-20 13:43:05 +01:00
twinaphex fc0f5f8889 Create egl_create_surface 2015-11-20 13:36:16 +01:00
twinaphex 1101bb34d3 Create g_egl_api/g_egl_inited 2015-11-20 13:27:31 +01:00
twinaphex f84c58e777 (Android) Start using egl_create_context 2015-11-19 18:25:19 +01:00
twinaphex 033e0ac3ad (drm_egl_ctx.c) Start using egl_create_context 2015-11-19 18:18:44 +01:00
twinaphex 6048025544 (Android) Use egl_init_context too 2015-11-19 17:55:49 +01:00
twinaphex ad260fcb7b Create egl_init_context 2015-11-19 17:52:25 +01:00
twinaphex 80369a8823 Create egl_install_sighandlers 2015-11-19 15:55:57 +01:00
twinaphex ad311d3bb0 Set g_egl_quit to 0 at end of egl_destroy 2015-11-19 15:49:49 +01:00
twinaphex 2fe6686ced Create g_egl_quit 2015-11-19 15:47:30 +01:00
twinaphex 774542fc62 Simplify egl_destroy 2015-11-19 15:34:40 +01:00
twinaphex 46fb98e21c Create egl_get_video_size 2015-11-19 15:21:04 +01:00
twinaphex 5aedc1c4ca Create egl_set_swap_interval 2015-11-19 15:16:37 +01:00
twinaphex 00be95159d Create x11_event_queue_check 2015-11-19 15:05:17 +01:00
Twinaphex 61b4236079 Merge pull request #2432 from heuripedes/master
Fix warnings
2015-11-19 14:49:00 +01:00
twinaphex 7b39fd50a3 Create egl_swap_buffers 2015-11-19 14:38:55 +01:00
twinaphex e2c82900d1 Create egl_bind_hw_render 2015-11-19 14:32:39 +01:00
twinaphex 6dee1fcc92 Move g_use_hw_ctx to egl_common.c 2015-11-19 14:28:21 +01:00
twinaphex 9705dc8d04 Create egl_destroy 2015-11-19 14:23:14 +01:00
twinaphex 36579ae58d Start moving identical state variables to egl_common.c 2015-11-19 14:09:51 +01:00
Higor Eurípedes ad745a5661 (egl_common) Fix clang warnings 2015-11-19 10:04:18 -03:00
twinaphex ffbb9d0481 Create generic egl_get_proc_address 2015-11-19 13:24:51 +01:00
twinaphex 50f8634902 Add gfx/common/egl_common.c 2015-11-19 13:16:43 +01:00