Commit Graph

6687 Commits

Author SHA1 Message Date
aliaspider 1f13d616cc (WiiU) font renderer: fix vertical offset. 2017-05-21 04:17:38 +01:00
aliaspider 8dee95651f (WiiU) add a font driver. 2017-05-21 03:05:41 +01:00
twinaphex 26e5c28208 Updates 2017-05-20 22:04:10 +02:00
twinaphex c962ad6009 Update 2017-05-20 21:56:32 +02:00
twinaphex ddf779008a Update 2017-05-20 19:48:02 +02:00
twinaphex 4f51341fc0 Update 2017-05-20 19:47:02 +02:00
twinaphex 46182e090b Merge keyboard_event_win32.cpp with win32_common.cpp 2017-05-20 19:46:27 +02:00
twinaphex 5a9dbf7e4f Merge keyboard files for udev/x11 2017-05-20 19:44:04 +02:00
twinaphex b7b7c67ca3 Windows buildfix 2017-05-20 17:47:56 +02:00
twinaphex c0431b34c9 Turn some variables static 2017-05-20 14:31:07 +02:00
twinaphex 6fea8f14c5 Call video_driver_cb_has_focus directly 2017-05-20 14:11:50 +02:00
twinaphex bd424da015 Turn video_driver_data and current_video into static variables again 2017-05-20 14:09:24 +02:00
twinaphex 5bcacf9b49 Create video_driver_cb_has_focus 2017-05-20 12:02:24 +02:00
Zoran Vuckovic 8535e766c8 Alow raw input driver to be used with GDI 2017-05-20 09:13:00 +02:00
twinaphex efce4d0abf Revert "Add cb_set_shader_coords"
This reverts commit 06df028722.
2017-05-19 21:21:40 +02:00
twinaphex 06df028722 Add cb_set_shader_coords 2017-05-19 21:13:44 +02:00
Twinaphex 8a12bb9f04 Merge pull request #4945 from casdevel/d3d-winraw
Alow raw input driver to be used with Direct3D
2017-05-19 19:54:25 +02:00
twinaphex d8f5065d64 Add cb_set_shader_mvp 2017-05-19 19:52:33 +02:00
twinaphex 64fdadf60f Use cb_shader_use 2017-05-19 19:42:34 +02:00
twinaphex 452c02653e Turn gl_set_shader_viewport into gl_set_shader_viewports 2017-05-19 19:39:46 +02:00
Zoran Vuckovic 2eb7499b64 Alow raw input driver to be used with Direct3D 2017-05-19 19:36:14 +02:00
twinaphex a830051076 Update gx_gfx.c 2017-05-19 16:33:59 +02:00
twinaphex 1ffb1f4feb Use wrapper function for memcmp 2017-05-19 16:20:30 +02:00
Twinaphex 51bac3ef73 Merge pull request #4942 from casdevel/wgl-winraw
Allow raw input driver with OpenGL driver under Windows
2017-05-19 16:19:13 +02:00
Zoran Vuckovic 9358b0c3f3 Allow raw input driver with OpenGL driver under Windows 2017-05-19 16:13:32 +02:00
twinaphex c5485152aa Do away with conditional inside build_info 2017-05-19 15:59:28 +02:00
Twinaphex 5e0eec8857 Remove unused variable 2017-05-19 14:53:25 +02:00
twinaphex 2a54544eb3 Add cb_shader_use to video_frame_info 2017-05-19 14:24:19 +02:00
twinaphex 4144c8de35 Prevent coverity warning 2017-05-19 13:54:43 +02:00
Zoran Vuckovic 54b5d289b0 Fix crash in GLSL shader driver 2017-05-19 12:14:51 +02:00
twinaphex 24ce77155a Cleanup 2017-05-19 03:52:04 +02:00
twinaphex 9d74212a41 Buildfix 2017-05-19 03:35:32 +02:00
twinaphex b0398c1482 C89 build fixes 2017-05-19 03:34:53 +02:00
twinaphex 89dddaf9f0 Cleanups 2017-05-19 01:19:38 +02:00
twinaphex 4d24153870 Turn into static function 2017-05-19 00:07:24 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 4e7b376e18 Cleanups 2017-05-18 14:31:40 +02:00
twinaphex cb529822c6 Cleanups 2017-05-18 14:27:37 +02:00
twinaphex 374f8e8a19 Cleanups 2017-05-18 14:22:50 +02:00
twinaphex 2f72506959 Bind default function to filter_type callback 2017-05-18 14:20:05 +02:00
twinaphex 9d11133edf Cleanups - get rid of if conditionals 2017-05-18 14:18:01 +02:00
twinaphex 1411b9ee6e Do away with all these if conditionals 2017-05-18 14:06:50 +02:00
twinaphex 49bf9b62ae Cleanups 2017-05-18 09:46:04 +02:00
twinaphex d181f70303 Don't call video_viewport_get_system_av_info inside gfx/video_driver.c 2017-05-18 09:44:51 +02:00
twinaphex 4e04e95713 Buildfix 2017-05-18 04:03:49 +02:00
twinaphex c9af58494b Set video_context_driver functions to null functions if not
already set
2017-05-18 03:53:05 +02:00
twinaphex 3f7a30a4b3 Start hooking up dummy callback functions to video_context_data
so that conditionals aren't necessary
2017-05-18 03:37:02 +02:00
twinaphex 941a5d4f94 Go through function callback for swap_buffers as well 2017-05-18 03:05:07 +02:00
twinaphex 86ee08b7a7 Add video context driver update window title callback
to video_frame_info_t
2017-05-18 02:53:12 +02:00
twinaphex acbf11931b Move code 2017-05-16 22:46:56 +02:00
twinaphex 717709ef9e (wgl_ctx.cpp) Cleanups 2017-05-16 22:46:09 +02:00
twinaphex f24a73351c Only use wglGetProcAddress for OpenGL 2017-05-16 22:40:47 +02:00
twinaphex 4df6151e14 video_driver_init_filter - cleanup 2017-05-16 21:36:33 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
Twinaphex 2becbaf4e2 Merge pull request #4917 from aliaspider/master
Vulkan: font driver updates.
2017-05-15 11:24:42 +02:00
aliaspider b503407abb Vulkan: font driver updates.
- submit font texture staging_to_dynamic copy with a seperate command
buffer. fixes a validation issue caused by using vkCmdCopyImage during a
render pass.
- limit copies to updated glyphs.
2017-05-15 05:52:38 +01: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 bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
aliaspider 1122a7c585 Vulkan: Add unicode support. 2017-05-15 00:37:50 +01:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 0e34d362d3 Fix video_driver_is_focused - keyboard should work again with
threaded video
2017-05-14 18:52:36 +02:00
twinaphex 581333f222 Get rid of implicit memset 2017-05-13 23:24:27 +02:00
twinaphex b22d7902f1 Turn macro back into function 2017-05-13 19:37:16 +02:00
twinaphex 17a15273ba Create function out of video_driver_is_focused - no longer
call video_driver_context_focus from video driver
2017-05-13 19:19:49 +02:00
twinaphex d4756f83e5 Stop calling video_driver_context_has_windowed from within video
drivers
2017-05-13 19:11:32 +02:00
twinaphex f6c8aba119 Move video_context_driver_update_window_title to video_driver_frame 2017-05-13 18:58:13 +02:00
Francisco José García García 5fc7a6776b (VITA) Fix problem with font renderer 2017-05-13 14:17:55 +02:00
aliaspider 66c8778878 'es' is required after #version 300. 2017-05-12 01:29:02 +01:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
aliaspider 1223309052 better handling of existing #version directive in glsl shaders. 2017-05-11 05:14:11 +01:00
twinaphex 57089dc108 Update gl_common.c - update CHANGES.md 2017-05-11 02:56:11 +02:00
twinaphex e0c0815f42 (shader_vulkan.cpp) cleanups - don't use memset 2017-05-10 06:40:21 +02:00
twinaphex 1b302d6e40 (shader_vulkan.cpp) Cleanups 2017-05-10 06:31:06 +02:00
twinaphex 865ec1eb71 Cleanup 2017-05-10 06:23:53 +02:00
hunterk 7f8d4479f4 fix version directives in GLSL shaders, courtesy of aliaspider 2017-05-09 23:20:00 -05:00
twinaphex 9dff2434ef Fix some structurally dead code warnings 2017-05-09 20:54:03 +02:00
twinaphex d75f155eb6 Reorder video_driver.h 2017-05-09 01:37:12 +02:00
twinaphex f928e57064 Combine video_context_driver.c and video_driver.c 2017-05-09 01:25:59 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +02:00
twinaphex ed86a2ed10 Add threading error notes 2017-05-06 17:35:12 +02:00
Andrew 858e15b837 Fix performance issue with max_swapchain_images
This fixes a performance problem introduced in my last commit when
max_swapchain_images == 3.

In my last commit I incorrectly stated the 3rd buffer was not being
used, after doing some additional testing I realized I was mistaken,
it can indeed be used due to the used page tracking.

Reverting that portion of my previous commit.
2017-05-05 16:58:17 -07:00
Twinaphex 6e51153387 Revert "Cleanu gl_raster_font_render_line"
This reverts commit 45cf53b487.
2017-05-05 05:30:49 +02:00
twinaphex 45cf53b487 Cleanu gl_raster_font_render_line 2017-05-05 05:23:26 +02:00
Andrew 01e25bd5c7 Fix max_swapchain_images and do some additional cleanup
When max_swapchain_images was originally added it worked properly,
but was subsequently broken by using the value to specify the number
of buffers allocated.

Due to how the dispmanx driver works, only 2 buffers are ever actually
used, so the 3rd buffer in the "swapchain" ended up doing nothing.

Fix this by restoring it to the original intent, that is, if
max_swapchain_images <= 2 wait for vsync after the flip (reducing
lag), otherwise wait at the last possible moment (increasing lag).

Additionally, fix up some unnecessary void* usage where type safety
could be maintained.
2017-05-04 18:45:59 -07:00
Andrew a1d094e64e Minor race fix and small cleanup to dispmanx_gfx
It's unlikely it was causing issues, but another race existed in the
dispmanx driver, it incremented the pending page count after sending the
update request.

If a context switch happened between sending the update and incrementing
the page count, the vsync callback would decrement it from 0 and cause
the uint to overflow.

Throw in a minor C89 fix and some whitespace fixups too.
2017-04-29 17:09:07 -07:00
twinaphex 46bae549ac Fix some coverity warnings 2017-04-29 19:22:44 +02:00
twinaphex 17827940fd Get rid of some if conditionals 2017-04-29 19:21:24 +02:00
twinaphex 4d419b2b56 (sdl_gfx.c) Update 2017-04-29 18:47:29 +02:00
twinaphex 60242e161a Buildfix 2017-04-29 18:45:58 +02:00
twinaphex c147604103 Update 2017-04-29 18:33:50 +02:00
twinaphex 7bdef1fde4 Buildfixes 2017-04-29 18:30:23 +02:00
twinaphex dd83b4a043 (Vita) Buildfix 2017-04-29 17:52:16 +02:00
twinaphex b5e97238ac Optimize video_driver_threaded_{lock|unlock} 2017-04-29 17:38:47 +02:00
twinaphex d86f466fe9 Turn video_driver_is_threaded into macro 2017-04-29 17:33:36 +02:00
twinaphex 03145a0424 Pass video_is_threaded variable to video_driver_init 2017-04-29 17:10:59 +02:00
twinaphex 11a96df465 Rewrite font_driver_free 2017-04-29 17:02:35 +02:00
twinaphex e84adb504f Don't try to call video_driver_is_threaded from outside
gfx/video_driver.c - only exception right now - menu_display.c
2017-04-29 16:52:52 +02:00
twinaphex 63504cd9c8 No longer need to grab threaded variable from settings struct 2017-04-29 16:37:49 +02:00
twinaphex 91abbdd4f1 video_viewport_get_custom will never be NULL 2017-04-29 16:22:07 +02:00
twinaphex c8bf28842f Get rid of some calls to video_driver_viewport_get_custom 2017-04-29 16:11:31 +02:00
twinaphex 2322e77795 Add to video_frame_info 2017-04-29 16:07:02 +02:00
twinaphex 79c7627651 Move video_viewport_custom to gfx/video_driver.c 2017-04-29 13:10:01 +02:00
twinaphex 6930262ec2 Update/buildfixes 2017-04-29 12:44:45 +02:00
Francisco José García García afe173c883 [VITA] Really fix build 2017-04-29 12:02:26 +02:00
Twinaphex ccd4bdbd60 Merge pull request #4862 from andrewlxer/master
Fix dispmanx triple buffering race and re-enable triple buffering
2017-04-29 11:16:51 +02:00
Francisco José García García f7c56ddda3 [VITA] Fix build 2017-04-29 09:06:49 +02:00
Andrew 301a094ef9 Avoid potential dispmanx_gfx driver lockup
The dispmanx driver had a small race wherein if the vsync completed
between checking for a free page and waiting on the condvar, it would
hang forever waiting for a condition that would never fire.

I'm hoping this is what was causing the triple buffering lockups. In
my testing with it re-enabled and this fix, things are stable (and
much more performant than with triple buffering disabled).
2017-04-28 20:24:36 -07:00
Andrew 253c8cd997 Revert "DISPMANX: Disable triple buffering for now, for stability reasons."
This reverts commit 0b75671c21.
2017-04-28 20:20:43 -07:00
twinaphex 552845a94d Buildfixes 2017-04-29 02:39:32 +02:00
twinaphex 6d8789f4c1 (GX) Buildfix 2017-04-29 02:03:17 +02:00
twinaphex e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex 87106b03c1 (3DS) Buildfix 2017-04-28 22:14:34 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex 324227d239 (Win32) Buildfix 2017-04-28 15:59:42 +02:00
twinaphex 4ef0809931 (GX) Another buildfix 2017-04-28 15:29:54 +02:00
twinaphex d1b6a865c4 Buildfixes 2017-04-28 15:29:20 +02:00
twinaphex 684e83ef30 Updates 2017-04-28 15:19:39 +02:00
twinaphex df31ba6255 (Win32) Buildfix 2017-04-28 15:05:12 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +02:00
twinaphex 3ad821c102 (Win32) Buildfix 2017-04-28 14:28:40 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex b792c5deae move bool setting 2017-04-28 12:26:01 +02:00
twinaphex 9e7ac432c3 Try to prevent null pointer dereference 2017-04-28 12:07:11 +02:00
twinaphex 9812dfb4d4 Add conditionals 2017-04-28 12:05:17 +02:00
twinaphex cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex 301ee64e80 Add HAVE_XINERAMA ifdefs 2017-04-26 15:29:21 +02:00
twinaphex fc5d240297 Get rid of some now-unused functions 2017-04-25 23:30:50 +02:00
twinaphex d66aff8fbd Start wrapping settings->input.binds 2017-04-25 18:12:13 +02:00
twinaphex 6ace8ce66a Rewrite autoconf_binds and move it to task_autodetect.c - take
it out of the settings struct
2017-04-25 16:33:30 +02:00
twinaphex 15a8f0c485 Wrap some more settings manipulation 2017-04-25 15:31:32 +02:00
twinaphex 632039f985 Cleanups 2017-04-25 13:28:42 +02:00
twinaphex b6d34e9581 Cleanups 2017-04-25 13:27:40 +02:00
twinaphex ffcb9d4a16 (gl_raster_font.c) Cleanups 2017-04-25 13:25:37 +02:00
twinaphex 03358b2ecd (gl_raster_font) Cleanup 2017-04-25 13:22:55 +02:00
twinaphex 047b10a3de (vulkan_raster_font.c) Small refactors 2017-04-25 13:19:32 +02:00
twinaphex 3917c658f3 Refactor vulkan_raster_font_render_line 2017-04-25 13:16:00 +02:00
twinaphex ee484b693c (vulkan_raster_font.c) Cleanups 2017-04-24 17:39:23 +02:00
twinaphex 765e636214 (Vulkan) Cleanups 2017-04-24 17:21:29 +02:00
twinaphex 2a13af52fc Revert "video_init function - video_info_t should not be const -"
This reverts commit c8bcbad4a7.
2017-04-24 12:25:14 +02:00
twinaphex e5b38315fe Revert "Add real_width and real_height to video_info struct - let"
This reverts commit 831ea1a507.
2017-04-24 12:25:07 +02:00
twinaphex 023599366c Revert "Cleanups"
This reverts commit 0021970c16.
2017-04-24 12:25:00 +02:00
twinaphex 8a215ce30e Revert "Cut down on another video_driver_set_size call"
This reverts commit b951c84e01.
2017-04-24 12:24:55 +02:00
twinaphex b951c84e01 Cut down on another video_driver_set_size call 2017-04-24 12:23:09 +02:00
twinaphex 0021970c16 Cleanups 2017-04-24 12:19:47 +02:00
twinaphex 831ea1a507 Add real_width and real_height to video_info struct - let
the drivers set this depending on the video width/height they
get back from the video context driver
2017-04-24 12:18:28 +02:00
twinaphex c8bcbad4a7 video_init function - video_info_t should not be const -
try to set video_driver_width/video_driver_height outside
of video driver init function
2017-04-24 12:03:21 +02:00
twinaphex 5a3b78bad3 Get rid of more performance counters 2017-04-24 11:24:16 +02:00
twinaphex d06c963a19 Get rid of PERF_ENABLE blocks 2017-04-24 11:20:30 +02:00
twinaphex e411e7c284 Add separate PI macro 2017-04-24 10:31:25 +02:00