twinaphex
a830051076
Update gx_gfx.c
2017-05-19 16:33:59 +02:00
twinaphex
2a54544eb3
Add cb_shader_use to video_frame_info
2017-05-19 14:24:19 +02:00
twinaphex
59b3344e72
Combine video_driver.c and video_shader_driver.c
2017-05-18 14:47:24 +02:00
twinaphex
4e04e95713
Buildfix
2017-05-18 04:03:49 +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
126a5bf121
Use string_is_equal_fast/string_is_not_equal_fast
2017-05-16 04:00:37 +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
80d9d1f143
Rewrite task_queue
2017-05-14 20:43:48 +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
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
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
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
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
dd83b4a043
(Vita) Buildfix
2017-04-29 17:52:16 +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
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
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 0b75671c21ec1e891779031b6435ad18debe3e60.
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
4ef0809931
(GX) Another buildfix
2017-04-28 15:29:54 +02:00
twinaphex
684e83ef30
Updates
2017-04-28 15:19:39 +02:00
twinaphex
0da40fb3aa
Move all float settings
2017-04-28 14:57:55 +02:00
twinaphex
ed53be7c81
Move all bool settings
2017-04-28 14:11:34 +02:00
twinaphex
cc095e56fc
Start refactoring bool variables
2017-04-28 00:53:20 +02:00
twinaphex
2a13af52fc
Revert "video_init function - video_info_t should not be const -"
...
This reverts commit c8bcbad4a7e06a9425a6984fd09d066c17ec682d.
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 831ea1a5076365b2ef31484061a1ea2142f28d2f.
2017-04-24 12:25:07 +02:00
twinaphex
8a215ce30e
Revert "Cut down on another video_driver_set_size call"
...
This reverts commit b951c84e014c0896146e584ebeea4b2b6c7ec8d1.
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
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