From b5ce65773889394712fd5780d5216b3870ee737b Mon Sep 17 00:00:00 2001 From: Hans Yang Date: Tue, 15 Jan 2019 18:04:43 +0800 Subject: [PATCH] ProductOnly: do not setcrtc when exit --- src/audio/alsa/SDL_alsa_audio.c | 4 ++++ src/video/kmsdrm/SDL_kmsdrmvideo.c | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c index 68a72d2..7cca7d7 100644 --- a/src/audio/alsa/SDL_alsa_audio.c +++ b/src/audio/alsa/SDL_alsa_audio.c @@ -226,15 +226,19 @@ get_audio_device(void *handle, const int channels) /* !!! FIXME: we also check "SDL_AUDIO_DEVICE_NAME" at the higher level. */ device = SDL_getenv("AUDIODEV"); /* Is there a standard variable name? */ if (device != NULL) { + printf("sdl get_audio_device: %s\n", device); return device; } if (channels == 6) { + printf("sdl get_audio_device: plug:surround51\n"); return "plug:surround51"; } else if (channels == 4) { + printf("sdl get_audio_device: plug:surround40\n"); return "plug:surround40"; } + printf("sdl get_audio_device: default\n"); return "default"; } diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c index 215bcf3..8c362c8 100644 --- a/src/video/kmsdrm/SDL_kmsdrmvideo.c +++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c @@ -511,18 +511,20 @@ KMSDRM_VideoQuit(_THIS) SDL_GL_UnloadLibrary(); } - if(vdata->saved_crtc != NULL) { - if(vdata->drm_fd > 0 && vdata->saved_conn_id > 0) { - /* Restore saved CRTC settings */ - drmModeCrtc *crtc = vdata->saved_crtc; - if(KMSDRM_drmModeSetCrtc(vdata->drm_fd, crtc->crtc_id, crtc->buffer_id, + if (!getenv("SDL2_DISPLAY_PLANE_TYPE")) { + if(vdata->saved_crtc != NULL) { + if((vdata->drm_fd > 0) && (vdata->saved_conn_id > 0)) { + /* Restore saved CRTC settings */ + drmModeCrtc *crtc = vdata->saved_crtc; + if(KMSDRM_drmModeSetCrtc(vdata->drm_fd, crtc->crtc_id, crtc->buffer_id, crtc->x, crtc->y, &vdata->saved_conn_id, 1, &crtc->mode) != 0) { - SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "Could not restore original CRTC mode"); + SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "Could not restore original CRTC mode"); + } } + KMSDRM_drmModeFreeCrtc(vdata->saved_crtc); + vdata->saved_crtc = NULL; } - KMSDRM_drmModeFreeCrtc(vdata->saved_crtc); - vdata->saved_crtc = NULL; } if (vdata->gbm != NULL) { KMSDRM_gbm_device_destroy(vdata->gbm); -- 2.7.4