projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
egl: inline fallback for post_sub_buffer
[mesa.git]
/
src
/
egl
/
drivers
/
dri2
/
platform_drm.c
diff --git
a/src/egl/drivers/dri2/platform_drm.c
b/src/egl/drivers/dri2/platform_drm.c
index d0ab172d65901d11e8b672c5e1054ce6f6e8d2bc..f3525220e96b430c62a80d307a0003c61b02fcef 100644
(file)
--- a/
src/egl/drivers/dri2/platform_drm.c
+++ b/
src/egl/drivers/dri2/platform_drm.c
@@
-36,6
+36,8
@@
#include <fcntl.h>
#include <unistd.h>
#include <fcntl.h>
#include <unistd.h>
+#include "util/os_file.h"
+
#include "egl_dri2.h"
#include "egl_dri2_fallbacks.h"
#include "loader.h"
#include "egl_dri2.h"
#include "egl_dri2_fallbacks.h"
#include "loader.h"
@@
-673,13
+675,9
@@
static const struct dri2_egl_display_vtbl dri2_drm_display_vtbl = {
.authenticate = dri2_drm_authenticate,
.create_window_surface = dri2_drm_create_window_surface,
.create_pixmap_surface = dri2_drm_create_pixmap_surface,
.authenticate = dri2_drm_authenticate,
.create_window_surface = dri2_drm_create_window_surface,
.create_pixmap_surface = dri2_drm_create_pixmap_surface,
- .create_pbuffer_surface = dri2_fallback_create_pbuffer_surface,
.destroy_surface = dri2_drm_destroy_surface,
.create_image = dri2_drm_create_image_khr,
.swap_buffers = dri2_drm_swap_buffers,
.destroy_surface = dri2_drm_destroy_surface,
.create_image = dri2_drm_create_image_khr,
.swap_buffers = dri2_drm_swap_buffers,
- .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
- .swap_buffers_region = dri2_fallback_swap_buffers_region,
- .post_sub_buffer = dri2_fallback_post_sub_buffer,
.copy_buffers = dri2_fallback_copy_buffers,
.query_buffer_age = dri2_drm_query_buffer_age,
.create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image,
.copy_buffers = dri2_fallback_copy_buffers,
.query_buffer_age = dri2_drm_query_buffer_age,
.create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image,
@@
-695,10
+693,6
@@
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
struct gbm_device *gbm;
const char *err;
struct gbm_device *gbm;
const char *err;
- /* Not supported yet */
- if (disp->Options.ForceSoftware)
- return EGL_FALSE;
-
dri2_dpy = calloc(1, sizeof *dri2_dpy);
if (!dri2_dpy)
return _eglError(EGL_BAD_ALLOC, "eglInitialize");
dri2_dpy = calloc(1, sizeof *dri2_dpy);
if (!dri2_dpy)
return _eglError(EGL_BAD_ALLOC, "eglInitialize");
@@
-719,7
+713,7
@@
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
}
dri2_dpy->own_device = true;
} else {
}
dri2_dpy->own_device = true;
} else {
- dri2_dpy->fd =
fcntl(gbm_device_get_fd(gbm), F_DUPFD_CLOEXEC, 3
);
+ dri2_dpy->fd =
os_dupfd_cloexec(gbm_device_get_fd(gbm)
);
if (dri2_dpy->fd < 0) {
err = "DRI2: failed to fcntl() existing gbm device";
goto cleanup;
if (dri2_dpy->fd < 0) {
err = "DRI2: failed to fcntl() existing gbm device";
goto cleanup;
@@
-732,7
+726,7
@@
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
goto cleanup;
}
goto cleanup;
}
- dev = _eglAddDevice(dri2_dpy->fd,
fals
e);
+ dev = _eglAddDevice(dri2_dpy->fd,
disp->Options.ForceSoftwar
e);
if (!dev) {
err = "DRI2: failed to find EGLDevice";
goto cleanup;
if (!dev) {
err = "DRI2: failed to find EGLDevice";
goto cleanup;