twinaphex
3e41cbc381
Revert "Add get_metrics to poke interface"
...
This reverts commit 119689c9405b5e4a321fafc340f6f0294b0338c3.
2020-08-02 23:44:28 +02:00
twinaphex
119689c940
Add get_metrics to poke interface
2020-08-02 19:25:45 +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
4e6f26d2e4
(Video drivers) Cleanups
2020-03-09 16:24:20 +01:00
twinaphex
ec302bc4fc
video_set_nonblock_state - remove settings dependency
2020-02-16 22:26:07 +01:00
twinaphex
74cd84399f
Cleanups - Replace '== NULL'
2020-01-30 16:47:33 +01:00
twinaphex
a45c9b6eb4
Duplicate aspect ratio code that was being ran twice
2019-08-12 12:52:40 +02:00
twinaphex
65b4c2595e
Update set keyboard mapping code for input driver
2019-07-27 02:21:24 +02:00
twinaphex
6aed230930
Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots
...
are not available, resort to raw screenshots instead
2019-05-22 07:08:11 +02:00
Huw Pascoe
2c56011f84
video_layout interface
2019-05-11 09:58:48 +01:00
twinaphex
c3d2b190f2
(dispmanx) Implement get_flags
2019-05-05 13:49:06 +02:00
twinaphex
f67bfa24ef
Get rid of video_poke_interface set_mvp
2019-03-18 15:19:11 +01:00
twinaphex
fe1255094f
Get rid of now unused set_coords in video_driver_poke_interface
2019-03-18 05:04:23 +01:00
twinaphex
c4c8699ee3
Only show max swapchain images if supported by video driver and/or
...
context driver
2018-04-23 13:34:30 +02:00
Brandon Wright
7a00534378
Add poke interface for get_refresh_rate.
2018-04-15 17:56:11 -05:00
twinaphex
08e61230e9
Update video_poke_interface
2018-01-30 22:29:57 +01:00
twinaphex
cf3a010ead
Remove some HAVE_MENU ifdefs
2017-12-31 17:42:07 +01: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
twinaphex
683c437941
Updates
2017-11-14 21:34:03 +01:00
twinaphex
d4756f83e5
Stop calling video_driver_context_has_windowed from within video
...
drivers
2017-05-13 19:11:32 +02:00
twinaphex
f928e57064
Combine video_context_driver.c and video_driver.c
2017-05-09 01:25:59 +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
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
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
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
vanfanel
0b75671c21
DISPMANX: Disable triple buffering for now, for stability reasons.
2017-02-12 19:27:59 +01:00
twinaphex
93812f58ba
We don't need the settings variable here
2017-01-24 14:02:09 +01:00
vanfanel
ae3cdaccb9
DISPMANX: Add missing include and remove redundant one.
2017-01-24 13:58:55 +01:00
The Last Cabra
0e542037d8
Merge branch 'master' into master
2017-01-23 15:16:19 +01:00
twinaphex
2f504b4057
(gfx/drivers) Get rid of remaining runloop.h / runloop_ctl
...
references inside gfx/drivers
2017-01-22 18:17:48 +01:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
vanfanel
7ae7e2eaee
DISPMANX: now waiting for free pages after issuing flip, instead of before, to avoid input lag.
2017-01-20 14:59:14 +01:00
twinaphex
fe84312340
Add some header includes
2017-01-19 17:20:42 +01:00
twinaphex
0d33888a24
(dispmanx_gfx.c) Cleanups
2017-01-19 16:50:09 +01:00
twinaphex
d010a852e4
Call menu_driver_frame once per video_frame call
2017-01-18 22:20:47 +01:00
twinaphex
a6a4808e94
Refactor frame monitor code
2017-01-18 17:41:27 +01:00
vanfanel
5a1e8d55fb
DISPMANX: Put guard back in to avoid potential lockups!
2017-01-15 13:47:30 +01:00
vanfanel
869a050a18
DISPMANX: implement pitch alignment for better videocore blitting performance
2017-01-14 23:01:05 +01:00
vanfanel
8640522073
DISPMANX: remove commented line
2017-01-14 15:56:54 +01:00
vanfanel
da640aaa28
DISPMANX: Honor swapchain setting properly
2017-01-14 15:54:20 +01:00
vanfanel
f0c2826994
DISPMANX: Fix refreshrate calculation by updating menu surface asynchronously
2017-01-14 14:38:18 +01:00
Matthew Wolff
f6284721d8
Fix forgotten parameter of video_monitor_get_fps
2017-01-12 23:40:58 -06:00
twinaphex
76ae7ac4a0
Cleanup some of the video drivers - add some members to
...
video_info_t to reduce the need for accessing the settings
struct
2017-01-10 18:16:22 +01:00
twinaphex
be2f921ee2
Don't use settings pointer inside video_frame function
2017-01-09 14:25:59 +01:00
vanfanel
7ba3ff9c12
DISPMANX: Fix hang when null frame is passed (TyrQuake core)
2017-01-05 23:47:33 +01:00
Mikael Brunnhede
2cb9c912f4
Implement support for video_max_swapchain_images setting.
2016-10-17 11:23:34 +02:00