diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2015-09-25 14:37:01 +0900 |
---|---|---|
committer | Javier Jardón <jjardon@gnome.org> | 2016-01-06 11:56:33 +0000 |
commit | 2444a1f0ab54c1fdf2b8725b3607821592a937cf (patch) | |
tree | 09d884a1e2411b7eef45a36581043ef18a248f51 | |
parent | 2017666f9b1afbd8803d17078c288260396f0aa4 (diff) | |
download | xserver-baserock/1.18+jetson.tar.gz |
[HACK] enable GLX with DRI3baserock/1.18+jetson
-rw-r--r-- | glamor/glamor_egl.c | 5 | ||||
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 5 | ||||
-rw-r--r-- | hw/xfree86/drivers/modesetting/dri2.c | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index 7fa74eb75..699907146 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -739,6 +739,7 @@ glamor_egl_screen_init(ScreenPtr screen, struct glamor_context *glamor_ctx) glamor_ctx->make_current = glamor_egl_make_current; #ifdef DRI3 + xf86Msg(X_INFO, "DRI3 capable: %d\n", glamor_egl->dri3_capable); if (glamor_egl->dri3_capable) { glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); /* Tell the core that we have the interfaces for import/export @@ -755,7 +756,9 @@ glamor_egl_screen_init(ScreenPtr screen, struct glamor_context *glamor_ctx) /* To do DRI3 device FD generation, we need to open a new fd * to the same device we were handed in originally. */ - glamor_egl->device_path = drmGetDeviceNameFromFd(glamor_egl->fd); + //glamor_egl->device_path = drmGetDeviceNameFromFd(glamor_egl->fd); + glamor_egl->device_path = "/dev/dri/renderD128"; + xf86Msg(X_INFO, "DRI3 device name: %s %d\n", glamor_egl->device_path, glamor_egl->fd); if (!dri3_screen_init(screen, &glamor_dri3_info)) { xf86DrvMsg(scrn->scrnIndex, X_ERROR, diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index 60ea6dd93..3b466e71a 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -1315,9 +1315,12 @@ DRI2Connect(ClientPtr client, ScreenPtr pScreen, return FALSE; *driverName = ds->driverNames[driver_id]; - *deviceName = ds->deviceName; + //*deviceName = ds->deviceName; + *deviceName = "/dev/dri/renderD128"; *fd = ds->fd; + xf86Msg(X_INFO, "%s: %s %s %d\n", __func__, *driverName, *deviceName, *fd); + if (client) { DRI2ClientPtr dri2_client; dri2_client = dri2ClientPrivate(client); diff --git a/hw/xfree86/drivers/modesetting/dri2.c b/hw/xfree86/drivers/modesetting/dri2.c index 0fe420cbc..59c4644ed 100644 --- a/hw/xfree86/drivers/modesetting/dri2.c +++ b/hw/xfree86/drivers/modesetting/dri2.c @@ -833,9 +833,10 @@ ms_dri2_screen_init(ScreenPtr screen) } memset(&info, '\0', sizeof(info)); - info.fd = ms->fd; + info.fd = gbm_device_get_fd(ms->drmmode.gbm); + //info.fd = ms->fd; info.driverName = NULL; /* Compat field, unused. */ - info.deviceName = drmGetDeviceNameFromFd(ms->fd); + info.deviceName = drmGetDeviceNameFromFd(info.fd); info.version = 4; info.CreateBuffer = ms_dri2_create_buffer; |