Commit Graph

  • 9c342e76dd kmsdrm: merge heap buffer overflow and cursor creation patches from meyraud705. Manuel Alfayate Corchete 2020-09-13 21:41:10 +02:00
  • 0cb9bfa502 kmsdrm: less excessive error checkhing Manuel Alfayate Corchete 2020-09-12 15:58:47 +02:00
  • 5bed30dd61 kmsdrm: also do pending modeseting in SwapWindowDoubleBuffered(). Manuel Alfayate Corchete 2020-09-12 04:56:55 +02:00
  • 9e9227add3 kmsdrm: reimplement modesetting for fullscreen window scaling and AR-correction. Manuel Alfayate Corchete 2020-09-12 04:52:56 +02:00
  • 4575c6942a kmsdrm: delete ununsed variable. Manuel Alfayate Corchete 2020-09-12 02:36:02 +02:00
  • 01b0cf1c90 Backed out changeset 4a45d1a30d25 Manuel Alfayate Corchete 2020-09-12 00:47:00 +02:00
  • 7b67654872 kmsdrm: don't fool SDL into thinking that changing the physical videomode is done. Manuel Alfayate Corchete 2020-09-12 00:16:08 +02:00
  • a6d182d326 kmsdrm: no need to reconnect/reactivate things in SwapWindowDoubleBuffered(). Manuel Alfayate Corchete 2020-09-11 23:47:26 +02:00
  • 47e2d0304e kmsdrm: greatly improve comments in SwapBuffersFenced() for future reference. Manuel Alfayate Corchete 2020-09-10 23:26:02 +02:00
  • 3c6004feb7 kmsdrm: Choose how to swap buffers based on EGL extension availability. Ryan C. Gordon 2020-09-10 15:07:23 -04:00
  • c7e761f872 kmsdrm: Patched to compile if EGL headers lack EGL_ANDROID_native_fence_sync. Ryan C. Gordon 2020-09-10 15:05:55 -04:00
  • 224aa45b59 kmsdrm: Implement GL_DefaultProfileConfig for Raspberry Pi compatibility. Ryan C. Gordon 2020-09-10 15:04:35 -04:00
  • 092162ede7 video: Set up default before calling GL_DefaultProfileConfig(). Ryan C. Gordon 2020-09-10 15:02:51 -04:00
  • e758dd53dc egl: Make SDL_EGL_HasExtension() available outside of SDL_egl.c. Ryan C. Gordon 2020-09-10 15:02:00 -04:00
  • 055cad49b6 kmsdrm: no need to re-connect/reactivate things in SwapWindow() anymore because we use a dumb buffer on KMS buffers destruction now. Manuel Alfayate Corchete 2020-09-10 02:15:53 +02:00
  • 351219bfd8 kmsdrm: On VideoQuit(), only destroy dumb buffer if it exists. Manuel Alfayate Corchete 2020-09-09 03:18:26 +02:00
  • 8709f67ebc Fixed bug 5215 - Fixing filenames passed to dlopen for OpenBSD Sam Lantinga 2020-09-08 08:42:30 -07:00
  • 1b6de9a987 Fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH=1 on Metal windows Cameron Gutman 2020-09-05 15:01:45 -07:00
  • 244d0ad854 kmsdrm: Tell SDL that mouse has entered the window via artificial event. Fixes sticky mouse in Scummvm. Manuel Alfayate Corchete 2020-09-08 15:30:45 +02:00
  • 550e153365 kmsdrm: No need to test for display driverdata when freeing a plane. Manuel Alfayate Corchete 2020-09-08 02:42:32 +02:00
  • 6e03fab982 kmsdrm: add temporary RPI4_COMPAT define to try RPI4+current Rasbian compatibility. Manuel Alfayate Corchete 2020-09-07 23:15:33 +02:00
  • 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. Manuel Alfayate Corchete 2020-09-07 22:54:15 +02:00
  • 4d1c2a1857 Fix false compiler warning: initialize the variable 'memdiff' Sylvain Becker 2020-09-07 19:00:21 +02:00
  • ebc12a2fd2 SDL_Surface refcount: destination surface keep track of surfaces that are mapped to it and automatically invalidate them when it is freed Sylvain Becker 2020-09-07 18:50:30 +02:00
  • cce6c60518 kmsdrm: fix errors when trying to free up videomode driverdata pointers on quit. Manuel Alfayate Corchete 2020-09-07 01:33:04 +02:00
  • 9501b1c698 kmsdrm: fix scaling for SDL_WINDOW_FULLSCREEN windows. Manuel Alfayate Corchete 2020-09-07 00:18:13 +02:00
  • daa752b10e kmsdrm: fix first frame display: no need to wait for SwapWindow() for EGL surface creation. Manuel Alfayate Corchete 2020-09-06 23:19:54 +02:00
  • 68ac9349aa kmsdrm: more coherent returns for SwapWindow. Manuel Alfayate Corchete 2020-09-06 12:48:39 +02:00
  • d3d9d432ac kmsdrm: Remove debug printfs in SwapWindow. Manuel Alfayate Corchete 2020-09-06 12:17:27 +02:00
  • d7aebbd58f kmsdrm: Don't create surfaces until EGL context is available. Manuel Alfayate Corchete 2020-09-06 12:08:22 +02:00
  • 97fad04551 Fixed bug 5278 - export SDL_AndroidRequestPermission() (Thanks Huki!) Sylvain Becker 2020-09-02 19:38:03 +02:00
  • f4e02a5c1b kmsdrm: Do NOT modify window size manually from the backend: doing so caused renderer scaling params miscalculation. Manuel Alfayate Corchete 2020-08-31 19:17:17 +02:00
  • c09d1cee95 kmsdrm: Apply window reconfiguration in SetWindowSize(), too. Manuel Alfayate Corchete 2020-08-28 23:04:00 +02:00
  • 31b1794534 kmsdrm: use PLANE and CRTC to do hardware-driven window scaling and AR-correction. Manuel Alfayate Corchete 2020-08-28 22:38:26 +02:00
  • fe3f97961b kmsdrm: unload EGL and GL lib only if using them. Manuel Alfayate Corchete 2020-08-26 01:37:30 +02:00
  • 9b43464d81 kmsdrm: Add programmer credits to the Atomic KMSDRM driver. Manuel Alfayate Corchete 2020-08-25 16:30:23 +02:00
  • 9316a8d979 kmsdrm: move FENCE FD props setting to SwapWindow(), where it belongs. Manuel Alfayate Corchete 2020-08-25 16:18:49 +02:00
  • 3f38009b2f kmsdrm: comment out atomic commit fast-debugging printf. Manuel Alfayate Corchete 2020-08-25 15:40:36 +02:00
  • 0d16761cbe kmsdrm: fix segfault on quit beacuse of freed _this->egl_data. Manuel Alfayate Corchete 2020-08-25 05:53:13 +02:00
  • d43e666eed kmsdrm: Buffer management refactoring. Fixes for compatibility with more video drivers. Manuel Alfayate Corchete 2020-08-25 04:05:36 +02:00
  • eade05ca03 kmsdrm: Finetune integer type usage. Add some comments. Manuel Alfayate Corchete 2020-08-24 12:51:20 +02:00
  • a76f176361 kmsdrm: Move cursor plane setup and freeing to MouseInit() and MouseQuit(), for better consistency. Manuel Alfayate Corchete 2020-08-24 01:10:11 +02:00
  • 0d593d7ead kmsdrm: Add error control to plane prop setting function. Do most plane prop setting with a single function. Manuel Alfayate Corchete 2020-08-23 23:44:07 +02:00
  • e06e9c35c8 kmsdrm: move cursor-related atomic helper functions and related struct typedefs to the SDL_kmsdrmmouse unit. Manuel Alfayate Corchete 2020-08-23 11:26:55 +02:00
  • 0b7b7721b9 kmsdrm: remove redundant function, use drm_atomic_setbuffers() for disconnecting planes instead. Manuel Alfayate Corchete 2020-08-23 03:13:50 +02:00
  • 16c04f266a kmsdrm: Init cursor surface on SetCursor() ONLY. Removal of dynamic modeset because it causes A LOT of problems with some kernel video drivers. Some refactoring and cleanups. Manuel Alfayate Corchete 2020-08-23 02:58:57 +02:00
  • 0d0ba111ae kmsdrm: correct parameter name. Manuel Alfayate Corchete 2020-08-19 01:34:56 +02:00
  • 5d32eda956 kmsdrm: implement smarter surface recreation function to be used in videomode changes. Other minor arrangements. Manuel Alfayate Corchete 2020-08-19 01:31:22 +02:00
  • f79da81721 kmsdrm: free all connector, crtc and plane memory on KMSDRM_VideoQuit(). Manuel Alfayate Corchete 2020-08-18 01:52:15 +02:00
  • 96d555e25a Android: remove un-needed java import (bug 4297) Sylvain Becker 2020-08-17 20:09:01 +02:00
  • 965b466ee8 Fixed bug 4297 - Android StrictMode policy. Remove APK expansion support Sylvain Becker 2020-08-17 19:50:20 +02:00
  • 92cb9192e3 kmsdrm: move hardware cursor functionality to the ATOMIC interface. Disconnect the display plane from the GBM surface buffers before destroying the GBM surface. Manuel Alfayate Corchete 2020-08-17 18:35:04 +02:00
  • c3ecf18cc4 Linux: Add hint for disabling deadzones Kai Krakow 2020-07-21 23:38:42 +02:00
  • 86517d3eda Fixed bug 5242 - KMOD_* flags unnecessarily macros; breaks OGRE Sam Lantinga 2020-08-10 08:42:35 -07:00
  • c094332825 wayland: defer pointer confine creation until pointer unlock Tudor Brindus 2020-07-21 13:14:24 -04:00
  • a720d1a294 render: fixes to how we convert touch events for logical scaling. Ryan C. Gordon 2020-08-09 00:55:39 -04:00
  • c437729b21 kmsdrm: separate requests in different functions so we only need one atomic commit for everything, as expected by atomic design. Manuel Alfayate Corchete 2020-08-08 14:27:55 +02:00
  • 3b9f1073c6 kmsdrm: wait for possible pending atomic commits before destroying surfaces, and before restoring video on quit. Move messages to the SDL_Log* functions. Manuel Alfayate Corchete 2020-08-07 11:53:04 +02:00
  • 96c99693a2 kmsdrm: wait for pending atomic commits before restoring videomode and crtc->buffer on VideoQuit, and simplify double-buffer SwapWindow() implementation. Manuel Alfayate Corchete 2020-08-06 01:36:56 +02:00
  • 09692b6170 kmsdrm: move videomode restoration on VideoQuit() to using the atomic interface instead of the legacy drmModeSetCrtc() function. Refactoring of get_plane_id(). Manuel Alfayate Corchete 2020-08-05 18:55:22 +02:00
  • fc722b2d21 kmsdrm: free memory for plane, crtc and connector property tables on VideoQuit. Manuel Alfayate Corchete 2020-08-05 15:28:51 +02:00
  • 2d69ce08ba kmsdrm: double and triple buffered versions of SwapWindow() are now both reimplemented in atomic pageflipping versions, and can be selected via SDL_VIDEO_DOUBLE_BUFFER env variable. Manuel Alfayate Corchete 2020-08-05 02:06:59 +02:00
  • 8996ee1786 kmsdrm: update SwapWindow fn, moving it to triple-buffer. Manuel Alfayate Corchete 2020-08-03 22:24:49 +02:00
  • ea171c0564 winrt: Another attempt at getting this to compile. Ryan C. Gordon 2020-08-01 18:58:42 -04:00
  • b131661c6d kmsdrm: rewrite the new SwapWindow() fn to avoid tearing. Double-buffer only for now. Manuel Alfayate Corchete 2020-08-01 18:23:34 +02:00
  • 282e4c65bf winrt: Patched to compile...? Ryan C. Gordon 2020-07-31 19:42:23 -04:00
  • 1a5503ce9f kmsdrm: Moved to the ATOMIC KMS/DRM interface for buffer swapping, leaving DRM-legacy behind. Manuel Alfayate Corchete 2020-07-28 21:11:25 +02:00
  • e410b34f92 stdlib: Corrected implementation of SDL_wcsncmp. Ryan C. Gordon 2020-07-24 22:24:03 -04:00
  • c7eb557d89 kmsdrm: do not leak drmModeConnector Previously conn was leaked on the success path (when available was set to SDL_TRUE). RALOVICH, Kristof 2020-07-20 10:09:07 -07:00
  • 412b21b0e8 Rename the gbm device struct from gbm to gbm_dev for better readabilty. Manuel Alfayate Corchete 2020-07-20 11:42:23 +02:00
  • 155fdc7ac0 kmsdrm: settle with first card that has a connected connector Previously the first card with non-empty connectors, encoders and crtcs would be selected, however KMSDRM_VideoInit could still reject it if the connector was not connected. This allow finding the first card (in a multi GPU setup) that is actually connected to a display. RALOVICH, Kristof 2020-07-19 21:48:17 -04:00
  • b78b88f7fb kmsdrm: fix typo RALOVICH, Kristof 2020-07-19 21:46:41 -04:00
  • 75fe4b14e3 Added comment about window creation behaviour in KMSDRM. Manuel Alfayate Corchete 2020-07-19 19:53:57 +02:00
  • 2f660c4fdd Delete windata variable no longer needed in KMSDR_SetDisplayMode(). Manuel Alfayate Corchete 2020-07-19 19:11:02 +02:00
  • 3a1d7d9c9a Surfaces have to be recreated immediately from KMSDRM_SetDisplayMode(). Manuel Alfayate Corchete 2020-07-19 19:09:15 +02:00
  • b6a818b6a2 Fix SDL_Window recreation: drmModeSetCrtc() has to be called everytime the EGL and GBM surfaces are recreated. Manuel Alfayate Corchete 2020-07-19 18:45:29 +02:00
  • 71e9df99c7 Fixed bug 5231 - Fix for hardware cursor: size and alpha-premultiplication. Sam Lantinga 2020-07-19 08:55:01 -07:00
  • b0ca8efd29 Re-add check for Metal on x86, where it's not supported. Sam Lantinga 2020-07-17 22:21:37 -07:00
  • b7a4fdd318 metal: Make sure we have a command buffer available before trying to present. Ryan C. Gordon 2020-07-17 11:16:35 -04:00
  • b5affd12e6 Patched to compile. Ryan C. Gordon 2020-07-16 13:28:59 -04:00
  • 3b38e61a7d winrt: Fix casting a pointer to int. Ryan C. Gordon 2020-07-16 13:25:50 -04:00
  • 8babda2c20 egl: SDL_EGL_LoadLibaryOnly() shouldn't set _this->gl_config.driver_loaded = 1 Ryan C. Gordon 2020-07-16 13:18:19 -04:00
  • af71510cca assert: Implement SDL_TriggerBreakpoint for Apple ARM hardware. Ryan C. Gordon 2020-07-16 04:43:08 -04:00
  • 45f5eb0615 configure: On Apple platforms, only exclude Vulkan on x86. Ryan C. Gordon 2020-07-16 04:37:14 -04:00
  • 968b830d14 Fixed bug 5232 - SDL2 configure script detects Apple Silicon Macs as iPhones; fails to build due to missing components Sam Lantinga 2020-07-15 16:12:44 -07:00
  • cab1a715f5 Fixed bug 5233 - PS3 Gamepad Motion Control not correctly ignored on Linux Sam Lantinga 2020-07-15 10:15:52 -07:00
  • a78b9763f1 Reuse Wayland connection from availability check M Stoeckl 2020-07-14 19:18:16 -04:00
  • 8669a87f05 Reuse X11 connection from availability check M Stoeckl 2020-07-14 21:13:27 -04:00
  • 052a13738d Merge VideoBootStrap::available into VideoBootStrap::create M Stoeckl 2020-07-12 19:11:15 -04:00
  • 49ec65587a fix bug #5228 -- Add AltiVec detection for FreeBSD. Ozkan Sezer 2020-07-11 08:10:02 +03:00
  • b162629546 cmake: Fix building with -DSDL_HAPTIC=Off stfx 2020-07-08 17:28:34 +02:00
  • fe97f01bc6 configure: corretly print --enable-arm-simd default value. Ozkan Sezer 2020-07-05 22:33:10 +03:00
  • 6aec6da4c3 stdinc: Let Clang static analysis see more C runtime functions. Ryan C. Gordon 2020-06-28 17:45:07 -04:00
  • 0e98040d43 joystick: Linux joysticks now recover better from dropped events. Ryan C. Gordon 2020-06-28 16:23:05 -04:00
  • e594a6738a emscripten: Introduce SDL_HINT_EMSCRIPTEN_ASYNCIFY Sylvain Beucler 2020-06-27 16:25:47 -04:00
  • 01af7b0254 emscripten: support pseudo-synchronous screen refresh and events update using asyncify Sylvain Beucler 2020-06-27 16:22:50 -04:00
  • 3b71ebecd6 configure: Accidentally deleted a ')' Ryan C. Gordon 2020-06-27 02:38:13 -04:00
  • e294639a6d cmake: Fix Metal detection on macOS/iOS. Ryan C. Gordon 2020-06-27 02:00:58 -04:00
  • 363fd52b41 configure/cmake: Disable ARM SIMD and NEON by default. Ryan C. Gordon 2020-06-26 23:30:59 -04:00
  • 694fea8ad8 video: Make SDL_CreateWindow use SDL_Init(SDL_INIT_VIDEO), not SDL_VideoInit. Ryan C. Gordon 2020-06-26 21:37:29 -04:00