Commit Graph

1496 Commits

Author SHA1 Message Date
Bernhard Schelling e0a9ded6a3 Fix invalid calls to dinput_handle_message when input driver is not set to dinput 2020-07-09 22:32:43 +09:00
twinaphex 77d630a0a5 (GDI) Only render framebuffer texture when menu is enabled 2020-07-09 09:40:13 +02:00
twinaphex f56b6a3a0f (GDI) Merge gdi_ctx.c into gdi_gfx.c 2020-07-09 09:25:10 +02:00
twinaphex e10f4eed8d (Vulkan) Cleanups 2020-07-09 03:48:42 +02:00
twinaphex e48ffd14cd Cleanups 2020-07-09 00:24:09 +02:00
twinaphex b94a3928e4 (MSVC) Buildfix 2020-07-07 21:04:45 +02:00
Yoshi Sugawara 6308ba1acb support ApplePlatform for iOS and conform app delegate class to it, move app delegate class to apple_platform.h, fix metal references for iOS 2020-07-07 05:03:42 -10:00
twinaphex 00518d3470 Add TODO/FIXME notes 2020-07-07 03:02:55 +02:00
Connor McLaughlin 7b7cffd545 (Vulkan) Fix incorrect structure type in vulkan_create_buffer 2020-07-05 22:36:58 +10:00
twinaphex 85d3a3723e (Vulkan) VULKAN_TRANSFER_IMAGE_OWNERSHIP - reuse existing macro 2020-07-03 18:05:40 +02:00
twinaphex 09180e64b5 Start unifying more macros 2020-07-03 18:00:40 +02:00
twinaphex a7a74a1d92 Cleanup 2020-07-03 17:51:07 +02:00
twinaphex 276e86a403 (Vulkan) Turn some of these functions into macros 2020-07-03 17:48:46 +02:00
twinaphex 25f682249f (Vulkan) Turn vulkan_image_layout_transition into macro 2020-07-03 08:45:53 +02:00
twinaphex 7a22eb1f44 Turn vulkan_image_layout_transition_levels into macro 2020-07-03 08:32:33 +02:00
twinaphex 108dc26c86 (MSVC 2010) Buildfix 2020-07-03 08:04:15 +02:00
twinaphex d9b4b44091 (Winraw) Cleanups 2020-07-02 07:07:42 +02:00
twinaphex 87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex 570f6ffb87 vulkan_copy_staging_to_dynamic - avoid memset 2020-06-29 00:14:50 +02:00
twinaphex 26969dd4e1 (Vulkan) Avoid callocs and memsets 2020-06-28 23:56:33 +02:00
twinaphex c600fbc6ff Cleanups 2020-06-28 21:33:07 +02:00
twinaphex bc73a815b7 Prevent memsets for vk->tracker 2020-06-28 19:18:48 +02:00
twinaphex 9e65ab63fe (vulkan_common) Prevent memsets and implicit memsets 2020-06-28 18:45:46 +02:00
twinaphex 9684bde88a Cleanup vulkan_create_texture 2020-06-28 18:25:17 +02:00
twinaphex 776e95d4e1 (vulkan_common.c) Cleanups 2020-06-27 18:28:33 +02:00
twinaphex 72d1a313ae (vulkan_common.c) Cleanups 2020-06-27 18:17:33 +02:00
twinaphex d8cf551608 Silence 'suggest braces around initialization of subobject' warning 2020-06-11 17:38:11 +02:00
Themaister f089e1ccf5 Vulkan: Do not emulate mailbox on Android. 2020-06-09 00:24:29 +02:00
Themaister cd4f22c275 Vulkan: Add path which uses WSI acquire semaphores.
Fence wait path has some issues on certain platforms. For now, gate this
on whether the GPU is integrated or not.
2020-06-09 00:24:29 +02:00
Themaister 15df55d011 Vulkan: Refactor swapchain index and frame index.
Do not tie these concepts together, it will not work for upcoming
refactor of swapchain logic.
2020-06-09 00:24:29 +02:00
Themaister 6f68571805 Vulkan: Use VK_LAYER_KHRONOS_validation in VULKAN_DEBUG=1.
LUNARG_standard_validation was deprecated and removed ages ago.
2020-06-09 00:24:28 +02:00
twinaphex fc491e9ea4 Add more environ logs 2020-06-08 17:32:36 +02:00
twinaphex 2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex 573eddb5a4 (Metal) Always run this regardless 2020-06-08 03:28:32 +02:00
twinaphex be76958070 Unneeded gdi_has_menu_frame 2020-06-07 02:56:56 +02:00
twinaphex b42897d0b6 (GDI) Weird code - clean this up 2020-06-07 02:55:51 +02:00
Guo Yunhe e9916df9d0 Change keys to upper case 2020-06-02 10:28:00 +03:00
Rinnegatamante 14a6c42e0d [VITA] Using a global to prevent erroneous vitaGL re-initializations. 2020-06-01 11:12:16 +02:00
twinaphex bc226305d7 (x11_common.c) Cleanup 2020-05-24 19:38:41 +02:00
twinaphex ad1aa59ce1 Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
twinaphex 9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
twinaphex bde18ba86a Style nits 2020-05-12 14:36:27 +02:00
Olivier PARRA 5813228c6c [FIXES]GPU capture on Metal/OSX/NVidia
[FIX]RetroArch CRASH on Metal internal assert
_validateGetBytes:39: failed assertion `texture must not be a
framebufferOnly texture.' GPU Capture were done on a
framebufferOnly texture. Fix it by setting framebufferOnly
CAMetalLayer property to NO. Subsequent MTLTexture inherits from
this property.

[FIX]Capture black frames. Resulting PNG screenshots were black.
Since GPU texture where not sync with CPU,
getBytes:bytesPerRow:fromRegion:mipmapLevel: behavior is undefined
Fix it by adding synchronizeResource command to blitCommandEncoder
In order to keep performances, syncing is done ONLY when a GPU
Capture is requested.

[FIX]Corrupted image due to incorrect viewport copy
Modify code in charge of copying MTLTexture bytes to 24bits PNG
buffer.
2020-04-02 23:01:48 +02:00
twinaphex 7986561598 Rename menu widgets to display widgets 2020-03-13 03:58:33 +01:00
twinaphex 7f8c13ae09 (GDI/Win32) Refactor code - handle doubleclick press on title bar
inside DInput driver
2020-03-13 02:20:31 +01:00
twinaphex 30e8ec6543 (win32_common.c) Put g_win32_resized into struct 2020-03-13 00:15:51 +01:00
twinaphex c796f3268b (win32_common.c) Cleanups 2020-03-13 00:11:21 +01:00
twinaphex b4da4940eb Revert "(Win32) Move global state to struct"
This reverts commit dfa1288988.
2020-03-12 22:10:24 +01:00
twinaphex 26bb0105c0 (Vita) Buildfix 2020-03-12 20:54:38 +01:00
twinaphex dfa1288988 (Win32) Move global state to struct 2020-03-12 17:47:49 +01:00
jdgleaver 086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex abcfe03059 (Metal) Simplification 2020-03-10 19:03:34 +01:00
Twinaphex d81e756fa7 (Metal) Buildfix 2020-03-10 03:37:48 +01:00
twinaphex f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
Twinaphex 783f16b198 Updates 2020-03-10 02:48:01 +01:00
twinaphex a395bf9355 (Drivers font) Start getting rid of video_frame_info dependency 2020-03-09 21:56:03 +01:00
twinaphex c16568cf32 (gfx drivers display) No more video_frame_info dependency 2020-03-08 22:06:08 +01:00
twinaphex 874510152e (drivers_display) Get rid of video_frame_info argument for
get_default_mvp
2020-03-08 19:59:03 +01:00
twinaphex 3e706fe5b2 (D3D9 renderchain) Take out video_frame_info dependencies 2020-03-08 19:03:57 +01:00
twinaphex f0bf2df92f Get rid of stale PERF_START/PERF_STOP macros in d3d files 2020-03-07 23:16:25 +01:00
twinaphex 935393b391 Cleanups 2020-03-07 23:12:02 +01:00
twinaphex 212f32e2fd Get rid of the static asserts 2020-03-07 22:54:57 +01:00
twinaphex 83ac24e7f1 (VGA) Move static global variables to struct 2020-03-07 19:33:03 +01:00
twinaphex daea169e5d (GL1) Move static global variables into struct 2020-03-07 17:47:26 +01:00
twinaphex b1337d0a21 (GL) Move shared_context_use into struct 2020-03-07 17:34:35 +01:00
twinaphex 8ec6447b18 (FPGA) Move regOp to struct too 2020-03-07 17:30:56 +01:00
twinaphex 87f34eb12f Add missing header 2020-03-07 17:29:08 +01:00
twinaphex 3e35fb8672 (D3D8/D3D9) Move static global to struct 2020-03-07 17:04:06 +01:00
twinaphex d63daacdf9 (GDI) Put gdi_menu_frame into struct 2020-03-07 16:50:25 +01:00
twinaphex efe72dea94 (Caca) Put everything into the struct 2020-03-07 16:42:12 +01:00
twinaphex 203b4d7f80 (GDI) Move these variables to struct 2020-03-07 16:31:04 +01:00
twinaphex bdc31234d5 (Caca) Move caca global state to struct 2020-03-07 06:03:32 +01:00
twinaphex f588e7f646 Buildfix 2020-03-07 04:22:20 +01:00
twinaphex 250468a1ba drm_get_connector - cleanup 2020-03-06 23:18:22 +01:00
twinaphex 304cd05dc6 (X11) Buildfix 2020-03-06 23:00:06 +01:00
twinaphex 4d7b627421 Get rid of video_info dependency for set_video_mode 2020-03-06 22:58:12 +01:00
twinaphex 68664fdf1d update_title - we don't need video_info 2020-03-06 22:11:44 +01:00
twinaphex 8b43e1b4ef Can get rid of IS_SHUTDOWN 2020-03-06 20:32:22 +01:00
twinaphex 4aae293e3d Remove is_shutdown from check_window 2020-03-06 20:29:31 +01:00
jdgleaver 7873b5f044 (QT) Populate 'db_name' and 'crc32' fields when adding entries to content history 2020-03-06 14:00:04 +00:00
twinaphex a7d679d391 Rename WndProcGL to WndProcWGL 2020-03-05 18:45:41 +01:00
twinaphex da60c1bb96 Header cleanups 2020-03-05 14:06:04 +01:00
twinaphex 1167a06a5a Settings Cleanups 2020-03-02 20:34:31 +01:00
twinaphex 1b0ab1c05f Cleanups 2020-02-21 07:34:53 +01:00
twinaphex ab94af68c1 Cut down on settings access 2020-02-19 19:31:00 +01:00
twinaphex 682462fb20 Cleanups 2020-02-19 19:23:10 +01:00
twinaphex 7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
twinaphex b00bf17153 Move menu_widgets to gfx/ and call it gfx_widgets 2020-02-17 01:54:07 +01:00
twinaphex b229f267e4 Rename menu_widgets to gfx_widgets 2020-02-17 01:43:40 +01:00
twinaphex 47af95469a (font_driver.c) Remove configuration.h dependency 2020-02-16 21:59:03 +01:00
twinaphex c71469c715 Rename menu_display to gfx_display 2020-02-16 15:10:07 +01:00
twinaphex cb0c145e3d Cleanups 2020-02-14 12:55:36 +01:00
twinaphex 2e0f921ded Cleanups 2020-02-13 02:18:38 +01:00
twinaphex 64c515bac4 Turn while (true) into for (;;) for easier MSVC backwards compatibility 2020-02-01 04:15:22 +01:00
twinaphex f0e889b552 Change prototype of video_driver_set_size 2020-01-31 15:06:50 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
trioan 0e20be17cc
fix vulkan_framebuffer_generate_mips (msvc2017)
{0} initializer
2020-01-25 21:14:28 -05:00
twinaphex 920e89a506 Move pass set texture to vulkan_common.c 2020-01-22 14:27:24 +01:00
twinaphex 376ad6d61d move more C functions over to gl_core.c 2020-01-22 13:12:00 +01:00
twinaphex 90874b434e (shader_vulkan.cpp) Move more C code to vulkan_common.c 2020-01-22 12:09:08 +01:00
twinaphex bcf8ff3d0a (shader_gl_core) Get rid of ConfigDeleter - move C code to gl_core.c 2020-01-22 11:57:06 +01:00
twinaphex f853632260 Move framebuffer generate_mips function to vulkan_common.c 2020-01-22 10:52:20 +01:00
twinaphex e9c73bd9a6 (Vulkan) Move more C code to vulkan_common.c 2020-01-22 10:41:38 +01:00
twinaphex ef27a660a7 (shader vulkan) Cleanups - moving C code out of the C++ file 2020-01-22 10:11:42 +01:00
twinaphex 8a989b65ee Cleanup 2020-01-19 13:19:25 +01:00
twinaphex 826b2245ec WndProcCommon - small optimization 2020-01-19 12:17:26 +01:00
twinaphex f852209040 Silence some unused variable warnings on some targets 2020-01-19 06:04:37 +01:00
twinaphex 51d6b467d6 (Win32) Buildfix 2020-01-19 04:56:12 +01:00
twinaphex c26c9483ec Cleanup WNDPROC functions 2020-01-18 11:34:50 +01:00
twinaphex a01e6652df Replace ZeroMemory with memset 2020-01-18 10:46:25 +01:00
twinaphex 57c00e7e26 Cleanup 2020-01-18 10:41:26 +01:00
twinaphex a67896ab2b Cleanup 2020-01-18 09:37:16 +01:00
twinaphex 142503d3b5 move win32_menu_loop and win32_browser to win32_common 2020-01-18 09:28:46 +01:00
twinaphex f97e557194 (DRM/EGL) Buildfix 2020-01-06 00:33:28 +01:00
twinaphex 4380b73ca6 Add HAVE_DYNAMIC_EGL option 2020-01-05 19:14:47 +01:00
twinaphex 6e0971fc61 (EGL) Call EGL common calls 2020-01-04 19:58:57 +01:00
twinaphex d5cdfbb7ba Move all EGL functions to egl_common.c file 2020-01-04 19:22:02 +01:00
twinaphex 1216c3ef6d (OSX/Metal) Buildfix 2020-01-04 17:44:33 +01:00
twinaphex 3e1f56d57f Change function signature of win32_has_focus 2020-01-04 15:49:23 +01:00
twinaphex 91baea201a Change function signature of win32_show_cursor 2020-01-04 15:40:02 +01:00
twinaphex 53dbd69751 (EGL) Create egl_bind_api 2020-01-04 15:09:42 +01:00
twinaphex 6c97a7514c (Vulkan) turn superfluous functions in vulkan_common.c into macros
to avoid unnecessary function overhead
2020-01-03 20:20:59 +01:00
twinaphex 051342cc8b Rewrite win32_get_video_output 2019-12-20 07:15:03 +01:00
Hans-Kristian Arntzen 96723c6f70 Vulkan/Android: Workaround weird WSI return codes in landscape mode.
Android WSI wants you to use preTransform, and if it is not used
correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create
a new swapchain every frame.

This workaround just ignores this error, since it's not really an error.
A more "proper" fix is to use prerotate and modify the MVP matrices,
which might help certain devices with crummy display processors.
2019-12-17 19:08:20 +01:00
driver1998 a8a4e60171 [ANGLE] Cleanup 2019-12-06 13:59:22 +08:00
driver1998 de203390be [Windows] Add ANGLE support 2019-12-06 13:24:17 +08:00
Twinaphex 002f2ab6e7
Merge pull request #9801 from cmitu/kms-video-mode-selection
KMSDRM: better detection for the current video mode
2019-12-05 23:39:02 +01:00
cmitu 3953659901 KMSDRM: better detection for the current video mode 2019-12-01 06:45:43 +00:00
Jean-André Santoni c0dfcd2adf
Fix Metal build 2019-11-30 12:49:52 +07:00
Rinnegatamante 6394342b9c [VITA] Add gl1 video driver support through vitaGL. 2019-11-12 11:54:00 +01:00
Twinaphex 4ac264b1d0
Merge pull request #9591 from Rinnegatamante/videodrivers2
Graceful switching between videodrivers #2.
2019-10-15 22:49:17 +02:00
orbea 55d123d95a Fix build when SDL2 is not built against wayland.
Fixes https://github.com/libretro/RetroArch/issues/9583.
2019-10-15 09:10:18 -07:00
Rinnegatamante d1a74e1b96 Fix for crash on Linux. 2019-10-15 09:07:15 +02:00
jdgleaver 3057c31798 (Menu Input) Add mouse/touchscreen gesture support + full gesture support for XMB 2019-09-30 16:55:41 +01:00
Tor Arne Vestbø b5cf9b639e metal: Improve shader debugging
Having the path to each shader is helpful when debugging the
rendering pipeline. The render command encoder label is limited
to just the filename of the shader, as the graphics debugging
UI in Xcode doesn't handle long names very well.

We don't encode the pass number into the string as the shaders
can be organized in a graph, not just a linked list, so an
indexed order can be misrepresenting the flow.
2019-09-25 22:36:40 +02:00
Tor Arne Vestbø 91caf28bfc metal: Add some missing debug labels and groups 2019-09-25 22:36:40 +02:00
twinaphex f33264f7a6 (X11) XStoreName is a useless wrapper function around XChangeProperty 2019-09-22 13:00:44 +02:00
twinaphex c5b3428408 Add sdl2_common.c/.h 2019-09-22 12:40:40 +02:00
twinaphex ad1fb29092 (Metal) Refactor 2019-09-22 10:28:51 +02:00
twinaphex c7fd375120 Create video_driver_display_userdata_{set/get} 2019-09-22 07:35:05 +02:00
twinaphex 302e2fdc53 Move show memory details outside of the video context driver and
into retroarch.c - avoid lots of code duplication
2019-09-21 07:49:33 +02:00
Brad Parker c7c7d0988e initial network video driver, sends raw frames over TCP 2019-09-17 04:18:44 +02:00
Tor Arne Vestbø af75ddd04a metal: Draw video stats on top of overlay 2019-09-02 20:02:16 +02:00
Tor Arne Vestbø 204407b64a metal: Set up correct viewport before rendering overlay 2019-09-02 18:02:30 +02:00
Tor Arne Vestbø 48d28aa734 metal: Split menu drawing out from core drawing 2019-09-02 18:02:30 +02:00
Tor Arne Vestbø e6227f9898 Use correct uniforms when blitting menu frame with Metal
Fixes broken rgui with the Metal video driver.
2019-09-02 13:01:42 +02:00
Brad Parker 4e9cd6ff3e win32: set menubar language to same as config 2019-08-29 16:36:09 -04:00
twinaphex 2609747243 MSVC buildfix 2019-08-29 20:20:35 +02:00
twinaphex 718d65d95d Take this out - too unsafe - fixes D3D12 driver 2019-08-29 12:30:56 +02:00
twinaphex 029f1c403e Turn function static 2019-08-29 10:16:26 +02:00