mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
[KMS/DRM] Unused code cleaning.
This commit is contained in:
parent
5105ecf8b1
commit
85e8adf78d
@ -72,7 +72,12 @@ SDL_EGL_CreateContext_impl(KMSDRM)
|
|||||||
|
|
||||||
int KMSDRM_GLES_SetSwapInterval(_THIS, int interval) {
|
int KMSDRM_GLES_SetSwapInterval(_THIS, int interval) {
|
||||||
|
|
||||||
/*
|
/* Issuing a new pageflip before the previous has completed
|
||||||
|
causes drmModePageFlip() to return EBUSY errors.
|
||||||
|
So just set egl_swapinterval to 1 to prevent that. */
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
if (!_this->egl_data) {
|
if (!_this->egl_data) {
|
||||||
return SDL_SetError("EGL not initialized");
|
return SDL_SetError("EGL not initialized");
|
||||||
}
|
}
|
||||||
@ -81,23 +86,14 @@ int KMSDRM_GLES_SetSwapInterval(_THIS, int interval) {
|
|||||||
_this->egl_data->egl_swapinterval = interval;
|
_this->egl_data->egl_swapinterval = interval;
|
||||||
} else {
|
} else {
|
||||||
return SDL_SetError("Only swap intervals of 0 or 1 are supported");
|
return SDL_SetError("Only swap intervals of 0 or 1 are supported");
|
||||||
}*/
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Issuing a new pageflip before the previous has completed
|
|
||||||
causes drmModePageFlip() to return EBUSY errors. Don't do it. */
|
|
||||||
_this->egl_data->egl_swapinterval = 1;
|
_this->egl_data->egl_swapinterval = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if we need to re-create the GBM and EGL surfaces and setup a new mode on the CRTC
|
|
||||||
matching the new GBM surface size so the buffers from these surfaces can be displayed
|
|
||||||
on the CRTC (remember we need the CRTC mode and the buffer size to match). */
|
|
||||||
/*KMSDRM_CheckKMSDRM (_THIS, window) {
|
|
||||||
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
int
|
int
|
||||||
KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
||||||
SDL_WindowData *windata = ((SDL_WindowData *) window->driverdata);
|
SDL_WindowData *windata = ((SDL_WindowData *) window->driverdata);
|
||||||
@ -147,47 +143,6 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Get an actual usable fb (of the specified dimensions) form the BO,
|
|
||||||
so we can pass it to the CRTC. */
|
|
||||||
fb_info = KMSDRM_FBFromBO2(_this, windata->next_bo, window->w, window->h);
|
|
||||||
if (!fb_info) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* If the window size does not match the current videomode configured on the CRTC,
|
|
||||||
update the current video mode and configure the new mode on the CRTC. */
|
|
||||||
if (dispdata->mode.hdisplay != window->w || dispdata->mode.vdisplay != window->h) {
|
|
||||||
for (int i = 0; i < dispdata->connector->count_modes; i++) {
|
|
||||||
drmModeModeInfo mode = dispdata->connector->modes[i] ;
|
|
||||||
if (mode.hdisplay == window->w && mode.vdisplay == window->h) {
|
|
||||||
dispdata->mode = mode;
|
|
||||||
ret = KMSDRM_drmModeSetCrtc(viddata->drm_fd,
|
|
||||||
dispdata->crtc->crtc_id, fb_info->fb_id, 0, 0,
|
|
||||||
&dispdata->connector->connector_id, 1, &dispdata->mode);
|
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not set mode on CRTC.");
|
|
||||||
printf("********Could not set mode on CRTC.\n");
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Get an actual usable fb for the next front buffer. */
|
|
||||||
fb_info = KMSDRM_FBFromBO(_this, windata->next_bo);
|
|
||||||
if (!fb_info) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 1
|
|
||||||
/* Do we have a modeset pending? If so, configure the new mode on the CRTC.
|
/* Do we have a modeset pending? If so, configure the new mode on the CRTC.
|
||||||
Has to be done before the upcoming pageflip issue, so the buffer with the
|
Has to be done before the upcoming pageflip issue, so the buffer with the
|
||||||
new size is big enough so the CRTC doesn't read out of bounds. */
|
new size is big enough so the CRTC doesn't read out of bounds. */
|
||||||
@ -205,7 +160,6 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Issue pageflip on the next front buffer.
|
/* Issue pageflip on the next front buffer.
|
||||||
The pageflip will be done during the next vblank. */
|
The pageflip will be done during the next vblank. */
|
||||||
|
@ -332,115 +332,6 @@ KMSDRM_FBFromBO(_THIS, struct gbm_bo *bo)
|
|||||||
return fb_info;
|
return fb_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Get an actual usable fb from a BO, specifying the size of the desired fb. */
|
|
||||||
KMSDRM_FBInfo *
|
|
||||||
KMSDRM_FBFromBO2(_THIS, struct gbm_bo *bo, int width, int height)
|
|
||||||
{
|
|
||||||
SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata);
|
|
||||||
int ret;
|
|
||||||
Uint32 stride, handle;
|
|
||||||
|
|
||||||
uint32_t format, strides[4] = {0}, handles[4] = {0}, offsets[4] = {0};
|
|
||||||
|
|
||||||
/* Check for an existing framebuffer */
|
|
||||||
KMSDRM_FBInfo *fb_info = (KMSDRM_FBInfo *)KMSDRM_gbm_bo_get_user_data(bo);
|
|
||||||
|
|
||||||
if (fb_info) {
|
|
||||||
/* TODO We used to simply return the old fb_info if there was one here.
|
|
||||||
Now free it AND the actual buffer IF the sizes have changed (maybe
|
|
||||||
add them to fb_info? to avoid leaking.)*/
|
|
||||||
SDL_free(fb_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create a structure that contains enough info to remove the framebuffer
|
|
||||||
when the backing buffer is destroyed */
|
|
||||||
fb_info = (KMSDRM_FBInfo *)SDL_calloc(1, sizeof(KMSDRM_FBInfo));
|
|
||||||
|
|
||||||
if (!fb_info) {
|
|
||||||
SDL_OutOfMemory();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
fb_info->drm_fd = viddata->drm_fd;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Create framebuffer object for the buffer */
|
|
||||||
stride = KMSDRM_gbm_bo_get_stride(bo);
|
|
||||||
handle = KMSDRM_gbm_bo_get_handle(bo).u32;
|
|
||||||
ret = KMSDRM_drmModeAddFB(viddata->drm_fd, width, height, 24, 32, stride, handle,
|
|
||||||
&fb_info->fb_id);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
handles[0] = KMSDRM_gbm_bo_get_handle(bo).u32;
|
|
||||||
strides[0] = KMSDRM_gbm_bo_get_stride(bo);
|
|
||||||
offsets[0] = KMSDRM_gbm_bo_get_offset(bo, 0);
|
|
||||||
format = KMSDRM_gbm_bo_get_format(bo);
|
|
||||||
|
|
||||||
ret = KMSDRM_drmModeAddFB2(viddata->drm_fd, width, height, format,
|
|
||||||
handles, strides, offsets, &fb_info->fb_id, 0);
|
|
||||||
|
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
SDL_free(fb_info);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Associate our DRM framebuffer with this buffer object */
|
|
||||||
KMSDRM_gbm_bo_set_user_data(bo, fb_info, KMSDRM_FBDestroyCallback);
|
|
||||||
|
|
||||||
return fb_info;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Get an actual usable fb from a BO, specifying the size of the desired fb. */
|
|
||||||
KMSDRM_FBInfo *
|
|
||||||
KMSDRM_FBFromBO2(_THIS, struct gbm_bo *bo, int width, int height)
|
|
||||||
{
|
|
||||||
SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata);
|
|
||||||
int ret;
|
|
||||||
Uint32 stride, handle;
|
|
||||||
|
|
||||||
/* Check for an existing framebuffer */
|
|
||||||
KMSDRM_FBInfo *fb_info = (KMSDRM_FBInfo *)KMSDRM_gbm_bo_get_user_data(bo);
|
|
||||||
|
|
||||||
if (fb_info) {
|
|
||||||
/* TODO We used to simply return the old fb_info if there was one here.
|
|
||||||
Now free it AND the actual buffer IF the sizes have changed (maybe
|
|
||||||
add them to fb_info? to avoid leaking.)*/
|
|
||||||
SDL_free(fb_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create a structure that contains enough info to remove the framebuffer
|
|
||||||
when the backing buffer is destroyed */
|
|
||||||
fb_info = (KMSDRM_FBInfo *)SDL_calloc(1, sizeof(KMSDRM_FBInfo));
|
|
||||||
|
|
||||||
if (!fb_info) {
|
|
||||||
SDL_OutOfMemory();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
fb_info->drm_fd = viddata->drm_fd;
|
|
||||||
|
|
||||||
/* Create framebuffer object for the buffer */
|
|
||||||
stride = KMSDRM_gbm_bo_get_stride(bo);
|
|
||||||
handle = KMSDRM_gbm_bo_get_handle(bo).u32;
|
|
||||||
ret = KMSDRM_drmModeAddFB(viddata->drm_fd, width, height, 24, 32, stride, handle,
|
|
||||||
&fb_info->fb_id);
|
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
SDL_free(fb_info);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Associate our DRM framebuffer with this buffer object */
|
|
||||||
KMSDRM_gbm_bo_set_user_data(bo, fb_info, KMSDRM_FBDestroyCallback);
|
|
||||||
|
|
||||||
return fb_info;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
KMSDRM_FlipHandler(int fd, unsigned int frame, unsigned int sec, unsigned int usec, void *data)
|
KMSDRM_FlipHandler(int fd, unsigned int frame, unsigned int sec, unsigned int usec, void *data)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user