Manuel Alfayate Corchete
09fcc9ed17
[KMS/DRM][Vulkan] Fix small warning, thanks to Ozkan Sezer for spotting it.
2020-12-23 16:45:23 +01:00
Manuel Alfayate Corchete
a6dc838d52
[KMS/DRM][Vulkan] Only try to create a display mode when no suitable mode is found.
2020-12-23 16:22:46 +01:00
Manuel Alfayate Corchete
2fc987c28f
[Buildsystem] Add guards for not building with KMSDRM support if EGL is not available.
2020-12-22 14:15:33 +01:00
Sam Lantinga
4cd981609b
Fixed whitespace
2020-12-21 09:44:25 -08:00
Manuel Alfayate Corchete
8766d6040b
[Video/KMSDRM] Fix potetial access to freed structure and complete errorchecks.
2020-12-21 17:29:24 +01:00
Manuel Alfayate Corchete
b06ef3a18c
[Video/KMSDRM] Manually re-show the cursor on window creation, if needed.
2020-12-21 01:53:11 +01:00
Ozkan Sezer
4198f0e52c
fix uninitialized warnings in KMSDRM_CreateCursor()
2020-12-21 01:20:30 +03:00
Manuel Alfayate Corchete
a8dbcab132
[Video/KMSDRM] Don't copy the cursor bitmap to the cursor GBM BO until we're showing it.
2020-12-20 21:48:05 +01:00
Manuel Alfayate Corchete
2756b0f337
[Video/KMSDRM] Init and deinit mouse stuff at the same time that GBM stuff.
2020-12-20 14:29:58 +01:00
Manuel Alfayate Corchete
cf71e01734
[Video/KMSDRM] Remove auxiliary AMDGPU compatibility workarounds not needed anymore.
2020-12-19 23:32:09 +01:00
Manuel Alfayate Corchete
af1f91cb36
[Video/KMSDRM] Correct typo.
2020-12-19 20:21:07 +01:00
Manuel Alfayate Corchete
cf48955680
[Video/KMSDRM] Honor the device index in Vulkan. Add notes about the display index.
2020-12-19 20:15:50 +01:00
Manuel Alfayate Corchete
ab3a390e26
[Video/KMSDRM] Better ATOMIC caps testing: patch by Oskan Sezer.
2020-12-19 17:35:04 +01:00
Manuel Alfayate Corchete
436499f3ec
[Video/KMSDRM] Comment out some debug info, adjust comments for future work.
2020-12-19 02:08:59 +01:00
Ozkan Sezer
6b81cac420
remove duplicated SDL_SetError after calling check_atomic_modesetting()
2020-12-19 01:25:50 +03:00
Manuel Alfayate Corchete
8952a61324
[Video/KMSDRM] Re-arrange display members setup.
2020-12-18 23:17:42 +01:00
Manuel Alfayate Corchete
f60f8d5d84
[Video/KMSDRM]: Add Vulkan support to the KMSDRM backend.
2020-12-18 22:53:51 +01:00
Ozkan Sezer
6c4ab48471
SDL_kmsdrmvideo.c: check atomic modesetting in check_modesetting()
...
.. so that KMSDRM_CreateDevice() can fail and SDL_VideoInit() would
move on to next bootstrap member which is kmsdrm_legacy. hopefully
fixes bug #5393 .
2020-12-18 17:50:02 +03:00
Ozkan Sezer
90456670b5
more "'for' loop initial declarations are only allowed in C99 mode" fixes
2020-12-17 14:11:00 +03:00
Sam Lantinga
cb36189692
Fixed bug 5235 - All internal sources should include SDL_assert.h
...
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
2020-12-09 07:16:22 -08:00
Ryan C. Gordon
010d5fba93
kmsdrm: Make this build with significantly older system libraries.
...
This allows one to build Raspberry Pi versions on an ancient version of
Raspbian and get both the KMSDRM and RPI video targets built into SDL, giving
maximum binary compatibility from linking against an older glibc, etc, but
also making one library that can access video on all RPi models and OS
releases.
2020-10-26 09:49:09 -04:00
Manuel Alfayate Corchete
5682b066e9
kmsdrm: Add comment about KMSDRM_VideoQuit() changes.
2020-10-22 19:51:57 +02:00
Manuel Alfayate Corchete
63b7827709
kmsdrm: properly exit with an error when ATOMIC interface is not yet available, instead of just segfaulting.
2020-10-22 19:44:38 +02:00
Manuel Alfayate Corchete
a3262205b5
kmsdrm: rearrange init function so we try ATOMIC compatibility first.
2020-10-22 17:55:45 +02:00
Manuel Alfayate Corchete
b1ea0be865
kmsdrm: Add missing checks after SDL_calloc() calls.
2020-10-22 17:06:34 +02:00
Manuel Alfayate Corchete
ad9ec8b363
kmsdrm: Small fix, missing bracket.
2020-10-22 16:15:34 +02:00
Manuel Alfayate Corchete
87a86675ed
kmsdrm: Always use spaces for indentation. Always use SDL_calloc() for calloc.
2020-10-22 16:01:51 +02:00
Manuel Alfayate Corchete
cca16c9cb1
kmsdrm: merge GetDisplayDPI implementation by bms20 <brett@mynah-software.com>
2020-10-15 17:56:19 +02:00
Sam Lantinga
76980e30f2
Added events for dynamically connecting and disconnecting displays, with an iOS implementation
2020-10-08 16:42:20 -07:00
Manuel Alfayate Corchete
78c274cb5d
kmsdrm: merge patches from Ozkan Sezer for removing c-99'isms and raising libgbm version reqeriments.
2020-09-26 19:18:09 +02:00
Manuel Alfayate Corchete
9c342e76dd
kmsdrm: merge heap buffer overflow and cursor creation patches from meyraud705.
2020-09-13 21:41:10 +02:00
Manuel Alfayate Corchete
0cb9bfa502
kmsdrm: less excessive error checkhing
2020-09-12 15:58:47 +02:00
Manuel Alfayate Corchete
5bed30dd61
kmsdrm: also do pending modeseting in SwapWindowDoubleBuffered().
2020-09-12 04:56:55 +02:00
Manuel Alfayate Corchete
9e9227add3
kmsdrm: reimplement modesetting for fullscreen window scaling and AR-correction.
2020-09-12 04:52:56 +02:00
Manuel Alfayate Corchete
4575c6942a
kmsdrm: delete ununsed variable.
2020-09-12 02:36:02 +02:00
Manuel Alfayate Corchete
01b0cf1c90
Backed out changeset 4a45d1a30d25
...
kmsdrm: Fake KMSDRM_SetDisplayMode() is needed for some programs after all.
2020-09-12 00:47:00 +02:00
Manuel Alfayate Corchete
7b67654872
kmsdrm: don't fool SDL into thinking that changing the physical videomode is done.
2020-09-12 00:16:08 +02:00
Manuel Alfayate Corchete
a6d182d326
kmsdrm: no need to reconnect/reactivate things in SwapWindowDoubleBuffered().
2020-09-11 23:47:26 +02:00
Manuel Alfayate Corchete
47e2d0304e
kmsdrm: greatly improve comments in SwapBuffersFenced() for future reference.
2020-09-10 23:26:02 +02:00
Ryan C. Gordon
3c6004feb7
kmsdrm: Choose how to swap buffers based on EGL extension availability.
2020-09-10 15:07:23 -04:00
Ryan C. Gordon
c7e761f872
kmsdrm: Patched to compile if EGL headers lack EGL_ANDROID_native_fence_sync.
2020-09-10 15:05:55 -04:00
Ryan C. Gordon
224aa45b59
kmsdrm: Implement GL_DefaultProfileConfig for Raspberry Pi compatibility.
...
If we think this might be a Raspberry Pi device, default to ES2. Otherwise,
accept SDL's higher-level defaults.
2020-09-10 15:04:35 -04:00
Manuel Alfayate Corchete
055cad49b6
kmsdrm: no need to re-connect/reactivate things in SwapWindow() anymore because we use a dumb buffer on KMS buffers destruction now.
2020-09-10 02:15:53 +02:00
Manuel Alfayate Corchete
351219bfd8
kmsdrm: On VideoQuit(), only destroy dumb buffer if it exists.
2020-09-09 03:18:26 +02:00
Manuel Alfayate Corchete
244d0ad854
kmsdrm: Tell SDL that mouse has entered the window via artificial event. Fixes sticky mouse in Scummvm.
2020-09-08 15:30:45 +02:00
Manuel Alfayate Corchete
550e153365
kmsdrm: No need to test for display driverdata when freeing a plane.
2020-09-08 02:42:32 +02:00
Manuel Alfayate Corchete
6e03fab982
kmsdrm: add temporary RPI4_COMPAT define to try RPI4+current Rasbian compatibility.
2020-09-07 23:15:33 +02:00
Manuel Alfayate Corchete
0f807fd607
kmsdrm: use a black dumb buffer for keeping the PRIMARY PLANE occupied when we destroy the KMS buffers, instead of using the TTY buffer, to avoid flickering.
2020-09-07 22:54:15 +02:00
Manuel Alfayate Corchete
cce6c60518
kmsdrm: fix errors when trying to free up videomode driverdata pointers on quit.
2020-09-07 01:33:04 +02:00
Manuel Alfayate Corchete
9501b1c698
kmsdrm: fix scaling for SDL_WINDOW_FULLSCREEN windows.
2020-09-07 00:18:13 +02:00