|
42165fe8
|
2022-07-27T12:12:03
|
|
kmsdrm: slightly better device index hint parsing.
|
|
613ce785
|
2022-07-26T13:34:27
|
|
Fixed interpreting SDL_KMSDRM_DEVICE_INDEX="" as index 0
|
|
cc982ea7
|
2022-07-26T15:43:34
|
|
kmsdrm: let device indexes be > 2 digits.
|
|
542a4da3
|
2022-07-26T15:11:19
|
|
kmsdrm: check SDL_HINT_KMSDRM_DEVICE_INDEX hint in dri_getindex().
Otherwise, it would work for Init but not Available.
|
|
5d85c7d3
|
2022-07-26T00:19:16
|
|
kmsdrm: Added a hint to specify device index.
Fixes #2811.
|
|
20a76b0e
|
2022-07-25T23:06:58
|
|
video: removed unused devindex argument from bootstrap's create method.
|
|
c0eada20
|
2022-07-06T17:00:16
|
|
Fix assumption that DRI_DEVNAME begins at 0 (#5865)
* Fix assumption that DRI_DEVNAME begins at 0
The existing logic of the code was to count every possible entry in
KMSDRM_DRI_PATH. After this a for loop would start trying to open
filename0, filename1, filename2, etc. In recent Linux kernels (say
5.18) with simpledrm, the lowest KMSDRM_DRI_DEVNAME is often
/dev/dri/card1, rather than /dev/dri/card0, causing the code to fail
once /dev/dri/card0 has failed to open. Running:
modprobe foodrm && modprobe bardrm && rmmod foodrm
before you try to run an application with SDL KMSDRM would have also
made this fail.
* Various changes from review
- Removed newline and period from SDL error
- Explicitely compare memcmp to zero (also changed to SDL_memcmp)
- Changed memcpy to strncpy
- Less aggressive line wrapping
* Various changes from review
- strncpy to SDL_strlcpy
- removed size hardcodings for KMSDRM_DRI_PATHSIZE and
KMSDRM_DRI_DEVNAMESIZE
- made all KMSDRM_DRI defines, run-time variables to reduce bugs caused
by these defines being more build-time on Linux and more run-rime on
OpenBSD
- renamed openbsd69orgreater variable to moderndri
- altered comment from "if on OpenBSD" to add difference in 6.9
* Various changes from review
- Use max size of destination, rather than max size of source
- Less hardcodings
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
66b0a6ee
|
2021-12-01T01:33:57
|
|
workaround for libmali gbm_device_get_fd()
gbm_device_get_fd() in at least some libmali versions duplicates handle.
Other implementations do not do duplication. To prevent handle leak save
drm_fd in SDL_DisplayData.
|
|
fae70349
|
2021-11-23T10:33:12
|
|
Fix warnings: static, include, un-initialized vairables
|
|
665865ed
|
2021-11-19T09:58:13
|
|
If the hardware is in an error state, the final page flip may not come.
We should either put a timeout on the wait when destroying the window, or skip it entirely.
|
|
345c161f
|
2021-09-22T09:06:45
|
|
Fixed some accidental uses of external C runtime functions
|
|
33b84c8d
|
2021-06-24T23:10:56
|
|
s/memcmp/SDL_memcmp/ for conistency
|
|
c262569c
|
2021-06-22T00:03:18
|
|
kmsdrm: fix KMSDRM_SetDisplayMode being called for the default desktop mode doing nothing
|
|
98bda391
|
2021-06-23T00:21:31
|
|
kmsdrm: sync the display's current mode with what's set in KMSDRM_CreateSurfaces
|
|
d031a24e
|
2021-06-08T00:39:04
|
|
kmsdrm: defer surface recreation inside of KMSDRM_SetWindowSize and
KMSDRM_SetWindowFullscreen as is done in KMSDRM_SetWindowDisplayMode
|
|
5a296e25
|
2021-06-08T20:48:24
|
|
kmsdrm: avoid overriding the mode requested by SDL_SetWindowDisplayMode
when recreating surfaces
|
|
37d35a3e
|
2021-06-11T21:02:49
|
|
kmsdrm: hook up KMSDRM_GLES_DefaultProfileConfig for use.
Fixes #3678.
|
|
fc508eab
|
2021-05-23T15:59:20
|
|
kmsdrm: remove redundant modeset_pending flag
this variable was added in commit 2067a7db8e4a36ba40ab34a55b3166ca28638a60 and
ultimately tracks if this is a surface's first present. checking if the current
bo is NULL provides the same functionality and cuts down on a redundant piece
of state potentially getting out of sync in the future
|
|
4c965b7a
|
2021-05-23T16:09:27
|
|
kmsdrm: fix SetDisplayMode binding the the wrong surface / context
SetDisplayMode needs to recreate the EGL surfaces, which then need to be
bound along with the correct context in each rendering thread
commit 3a1d7d9c9ac670bf35cfa8ebf3706a1e2a3e5de4 removed this behavior which
has broken using SetDisplayMode when rendering with multiple contexts
the commit message was rather vague, but if the surfaces do need to be
created immediately, this process probably needs to be split such that
surface is created immediately, but the binding is deferred
|
|
0219928d
|
2021-05-23T16:06:40
|
|
kmsdrm: honor mode previously set by SDL_SetWindowDisplayMode when enabling fullscreen
and remove duplicate SDL_WINDOWEVENT_RESIZED event
commit 2067a7db8e4a36ba40ab34a55b3166ca28638a60 made SDL_SetWindowSize and
SDL_SetWindowFullscreen modify the display mode previously set by a call to
SDL_SetWindowDisplayMode
as far as I understand the SDL API, calling SDL_SetWindowDisplayMode followed
by calling SDL_SetWindowFullscreen(..., SDL_WINDOW_FULLSCREEN) is the correct
way to mode set / switch to fullscreen
this change restores that functionaliy when switching to SDL_WINDOW_FULLSCREEN,
but other cases are still modifying the display mode set by the user. rather
than modifying the display mode set by the user, it seems this logic inside of
KMSDRM_ReconfigureWindow should be pushed further down into KMSDRM_CreateSurfaces
(as it was originally) to only modify the final mode that's set (based on the
fullscreen flags), but not override the mode requested by the user
|
|
fd5de93a
|
2021-05-23T16:05:39
|
|
kmsdrm: fix gbm surface dimensions not matching the mode being set
commit 2067a7db8e4a36ba40ab34a55b3166ca28638a60 introduced new surface_w and surface_h
variables which were passed to gbm_surface_create rather than the dimensions from the
drmModeModeInfo structure. commit 5105ecf8b1b37ab4e4b8344550c90dd69f49909e further
refactored this code and no longer synchronized these variables inside
KMSDRM_SetDisplayMode, breaking it
this change removes the variables since they're seemingly redundant to begin with
|
|
99ef03b9
|
2021-04-21T01:22:22
|
|
KMSDRM: Only use OpenBSD-specific defines on pre-6.9 releases
|
|
b0178fe5
|
2021-04-14T00:52:53
|
|
KMSDRM: Report correct window position to the application
|
|
733b3278
|
2021-03-29T19:22:26
|
|
[KMSDRM] Minor Vulkan code adjustments regarding pointers and display index.
|
|
9de7eaf9
|
2021-03-28T01:30:26
|
|
[KMSDRM] Change error message.
|
|
1ec60a38
|
2021-03-27T23:52:51
|
|
[KMSDRM] Remove unnecessary space.
|
|
5262b52d
|
2021-03-25T23:56:56
|
|
SDL_kmsdrmvideo.c: define EGL_PLATFORM_GBM_MESA if it's missing.
Fixes: https://github.com/libsdl-org/SDL/issues/4232
|
|
5ac6bd54
|
2021-03-24T02:54:36
|
|
[KMSDRM] Ask for videomode on the correct display when creating a window.
|
|
c12f46b1
|
2021-03-22T19:03:25
|
|
[KMSDRM] Fix segmentation fault
Deference the windata pointer *after* checking that it's non-NULL.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
100166d7
|
2021-03-22T18:00:41
|
|
[KMSDRM] Improve cursor management.
|
|
cf7eef37
|
2021-03-19T04:25:40
|
|
[KMSDRM] Better error handling: no more segfaults on window creation failure.
|
|
4acd1dca
|
2021-03-18T14:04:38
|
|
[KMSDRM] Improve the way to test if last window is being destroyed.
|
|
82ff6045
|
2021-03-18T12:02:54
|
|
[KMSDRM] Unload GL/EGL libs and destroy GBM only when we are destroying the last window.
|
|
c35e7189
|
2021-03-18T11:47:23
|
|
[KMSDRM] All non-vulkan windows have to be marked as OPENGL, not only the first created one.
|
|
281a7bdb
|
2021-03-18T11:20:18
|
|
[KMSDRM] Make the gbm_init flag a viddata member to avoid GBM re-init when several displays are connected.
|
|
7d1b9c9f
|
2021-03-17T14:40:41
|
|
[KMSDRM] Remove unneeded function calls and improve comments for future reference.
|
|
33598563
|
2021-02-26T23:21:25
|
|
Fix coding style
|
|
69a600b0
|
2021-02-26T22:24:48
|
|
Implement requested changes
|
|
0e35f0be
|
2021-02-26T21:43:36
|
|
Fix KMSDRM-related warnings
|
|
dfa64ead
|
2021-02-25T19:22:31
|
|
KMSDRM: Add hint to enable the backend without DRM master
In some cases, it can be useful to have the KMSDRM backend even if it cannot
be used for rendering. An app may want to use SDL for input processing while
using another rendering API (such as an MMAL overlay on Raspberry Pi) or
using its own code to render to DRM overlays that SDL doesn't support.
This also moves the check for DRM master to an earlier point where we can fail
initialization of the backend, rather than allowing the backend to initialize
then failing the creation of a window later.
|
|
d2d834b9
|
2021-02-25T15:21:59
|
|
KMSDRM: Add gamma support
|
|
8481229f
|
2021-02-22T15:00:52
|
|
Fix error handling in KMSDRM_AddDisplay
Add missing `goto cleanup` and check that `dispdata` is not NULL before dereferencing it.
|
|
e4a81a98
|
2021-02-17T12:06:29
|
|
[KMSDRM] Correct indentation.
|
|
005e2c59
|
2021-02-09T00:57:25
|
|
[KMS/DRM] Bugfix number #5535: Improve reliability, by wahil1976.
|
|
6ee53258
|
2021-02-06T14:03:53
|
|
[KMS/DRM] Replace indent tabs with spaces, as intended.
|
|
538f7ad6
|
2021-02-05T00:27:11
|
|
[KMS/DRM] Remove redundant SDL_SendWindowEvent() call.
|
|
7beba050
|
2021-02-04T23:35:52
|
|
[KMS/DRM] Restore all-windows-are-fullscreen functionality, since there is no window manager in KMSDRM.
|
|
2c764331
|
2021-01-31T04:04:26
|
|
[KMS/DRM] Merge patch for bug 5522#: Implement KMSDRM_GetWindowWMInfo().
|
|
bfa51c38
|
2021-01-31T03:48:29
|
|
[KMS/DRM] Fix for bug #5518: only do async pageflips when hardware supports them.
|
|
088fb525
|
2021-01-29T23:32:42
|
|
[KMS/DRM] Correct small omission on bugfix #5513: y-coord correction has to be done on WarpMouseGlobal, too.
|
|
b17c4950
|
2021-01-29T18:08:04
|
|
[KMS/DRM] Patch for bug #5513. KMSDRM backend can now manage and use several displays.
|
|
f23022ef
|
2021-01-25T20:03:21
|
|
Removed non-functional window grab implementations
|
|
a0d3c6c6
|
2021-01-25T21:42:14
|
|
Rename SetWindowGrab() to SetWindowMouseGrab()
|
|
8e1005f8
|
2021-01-23T22:47:06
|
|
[KMS/DRM] Bugfix for #5489: Non-FULLSCREEN windows incorrecty use videomode changing to look fullscreen.
|
|
ee93f0ed
|
2021-01-19T15:35:43
|
|
[KMS/DRM] Revert unaproved fix for bug #5465.
|
|
99facb1d
|
2021-01-17T21:17:01
|
|
[KMS/DRM] Fix for bug #5470: ratio correction for fullscreen windows with no matching resolution. Correct bracket position in else statements so they follow the coding style.
|
|
03665004
|
2021-01-15T15:00:17
|
|
[KMS/DRM] Small fix to KMSDRM_Waitpageflip(). More comments on how it works.
|
|
82aafa9a
|
2021-01-14T14:32:11
|
|
Fixed bug 5461 - Add rewritten WSCONS driver for OpenBSD
wahil1976
This patch adds a written-from-scratch WSCONS driver for OpenBSD. It does not have hardcoded keymaps, and it features mouse support when wsmux is available.
For this to work, it needs access to the /dev/wskbd* devices which are not available to non-root users by default. Access to those can be granted by changing /etc/fbtab to give the logging user the ownership of those devices.
|
|
1adadc77
|
2021-01-14T10:18:40
|
|
[KMS/DRM] Adjust come return values. Improve comments.
|
|
57661e42
|
2021-01-13T20:17:50
|
|
[KMS/DRM] Remove unused header.
|
|
ead3c406
|
2021-01-13T20:11:01
|
|
[KMS/DRM] Refactor, improve and re-comment async pageflips code.
|
|
aac74db6
|
2021-01-13T15:54:26
|
|
[KMS/DRM] Enable async pageflips.
|
|
9384e595
|
2021-01-12T20:15:37
|
|
[KMS/DRM] Add warning comentary to avoid future experiments with scaling.
|
|
84427549
|
2021-01-12T00:22:58
|
|
[KMS/DRM] Refactor KMSDR_CreateSurface to group all non-Vulkan stuff in a block.
|
|
87eb734c
|
2021-01-11T23:59:40
|
|
[KMS/DRM] Don't ask SDL to scale image when in Vulkan mode.
|
|
85e8adf7
|
2021-01-11T22:28:27
|
|
[KMS/DRM] Unused code cleaning.
|
|
5105ecf8
|
2021-01-11T21:02:07
|
|
[KMS/DRM] Move surface size info to window driverdata, for coherency.
|
|
2067a7db
|
2021-01-11T20:29:09
|
|
[KMS/DRM] Fix fullscreen to windowed transition. Fix aspect ratio correction without using planes.
|
|
850d9c8c
|
2021-01-09T02:25:13
|
|
[KMS/DRM] Cleanup remainings from plane/scaling usage.
|
|
2aeb3177
|
2021-01-08T22:00:28
|
|
[KMS/DRM] Fix vkQuake3 in OpenGL mode.
|
|
b2449473
|
2021-01-08T18:57:12
|
|
[KMS/DRM] Go back to the LEGACY interface only because using planes breaks compatibility with HW, so no advantage on using ATOMIC.
|
|
940e1b8d
|
2021-01-08T16:33:50
|
|
[KMS/DRM] Small readability changes.
|
|
cef1bd06
|
2021-01-08T13:14:42
|
|
[KMS/DRM] Prevent creating another default cursor everytime a window is created. Other fixes and cleanups.
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
e1fb969b
|
2020-12-31T01:40:15
|
|
[KMS/DRM] Correct comments about last bugfix.
|
|
e34caa97
|
2020-12-31T01:31:57
|
|
[KMS/DRM] Correct EGL/GL library loading on window creation, thus saving window re-creation.
|
|
427c96ec
|
2020-12-29T14:24:38
|
|
[KMS/DRM] Rework some functions.
|
|
7539ac80
|
2020-12-28T18:22:07
|
|
[KMS/DRM] Restore hacky code to point to TTY buffer on surface destruction b/c I lack alternatives.
|
|
0feaf7d1
|
2020-12-28T14:37:58
|
|
[KMS/DRM][Vulkan] Correct non-existing property. Remove hacky surface destruction code (TTY buffer isn't there after a Vulkan window is created).
|
|
46d31d57
|
2020-12-27T00:43:06
|
|
[KMS/DRM][Vulkan] Fix segfault when changing fullscren mode and permanent cursor when changing between Vulkan and GL renderers in vkQuake3. Tidy up window destruction code.
|
|
2fc987c2
|
2020-12-22T14:15:33
|
|
[Buildsystem] Add guards for not building with KMSDRM support if EGL is not available.
|
|
4cd98160
|
2020-12-21T09:44:25
|
|
Fixed whitespace
|
|
8766d604
|
2020-12-21T17:29:24
|
|
[Video/KMSDRM] Fix potetial access to freed structure and complete errorchecks.
|
|
b06ef3a1
|
2020-12-21T01:53:11
|
|
[Video/KMSDRM] Manually re-show the cursor on window creation, if needed.
|
|
2756b0f3
|
2020-12-20T14:29:58
|
|
[Video/KMSDRM] Init and deinit mouse stuff at the same time that GBM stuff.
|
|
cf71e017
|
2020-12-19T23:32:09
|
|
[Video/KMSDRM] Remove auxiliary AMDGPU compatibility workarounds not needed anymore.
|
|
ab3a390e
|
2020-12-19T17:35:04
|
|
[Video/KMSDRM] Better ATOMIC caps testing: patch by Oskan Sezer.
|
|
436499f3
|
2020-12-19T02:08:59
|
|
[Video/KMSDRM] Comment out some debug info, adjust comments for future work.
|
|
6b81cac4
|
2020-12-19T01:25:50
|
|
remove duplicated SDL_SetError after calling check_atomic_modesetting()
|
|
8952a613
|
2020-12-18T23:17:42
|
|
[Video/KMSDRM] Re-arrange display members setup.
|
|
f60f8d5d
|
2020-12-18T22:53:51
|
|
[Video/KMSDRM]: Add Vulkan support to the KMSDRM backend.
|
|
6c4ab484
|
2020-12-18T17:50:02
|
|
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.
|
|
90456670
|
2020-12-17T14:11:00
|
|
more "'for' loop initial declarations are only allowed in C99 mode" fixes
|
|
010d5fba
|
2020-10-26T09:49:09
|
|
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.
|
|
5682b066
|
2020-10-22T19:51:57
|
|
kmsdrm: Add comment about KMSDRM_VideoQuit() changes.
|
|
63b78277
|
2020-10-22T19:44:38
|
|
kmsdrm: properly exit with an error when ATOMIC interface is not yet available, instead of just segfaulting.
|
|
a3262205
|
2020-10-22T17:55:45
|
|
kmsdrm: rearrange init function so we try ATOMIC compatibility first.
|
|
b1ea0be8
|
2020-10-22T17:06:34
|
|
kmsdrm: Add missing checks after SDL_calloc() calls.
|
|
ad9ec8b3
|
2020-10-22T16:15:34
|
|
kmsdrm: Small fix, missing bracket.
|