summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2015-09-25 14:37:01 +0900
committerJavier Jardón <jjardon@gnome.org>2016-01-06 11:56:33 +0000
commit2444a1f0ab54c1fdf2b8725b3607821592a937cf (patch)
tree09d884a1e2411b7eef45a36581043ef18a248f51
parent2017666f9b1afbd8803d17078c288260396f0aa4 (diff)
downloadxserver-baserock/1.18+jetson.tar.gz
[HACK] enable GLX with DRI3baserock/1.18+jetson
-rw-r--r--glamor/glamor_egl.c5
-rw-r--r--hw/xfree86/dri2/dri2.c5
-rw-r--r--hw/xfree86/drivers/modesetting/dri2.c5
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;