gallium/gallivm: enable linking lp_bld_printf function with C++ code
[mesa.git] / src / egl / main / egldevice.c
index 82af1f47fedbdc459c4d4aa0975fcf6a1960f7a0..415b0508888d075cdb825a8155d662b70782122a 100644 (file)
@@ -108,9 +108,9 @@ static int
 _eglAddDRMDevice(drmDevicePtr device, _EGLDevice **out_dev)
 {
    _EGLDevice *dev;
+   const int wanted_nodes = 1 << DRM_NODE_RENDER | 1 << DRM_NODE_PRIMARY;
 
-   if ((device->available_nodes & (1 << DRM_NODE_PRIMARY |
-                                   1 << DRM_NODE_RENDER)) == 0)
+   if ((device->available_nodes & wanted_nodes) != wanted_nodes)
       return -1;
 
    dev = _eglGlobal.DeviceList;
@@ -202,6 +202,22 @@ _eglDeviceSupports(_EGLDevice *dev, _EGLDeviceExtension ext)
    };
 }
 
+/* Ideally we'll have an extension which passes the render node,
+ * instead of the card one + magic.
+ *
+ * Then we can move this in _eglQueryDeviceStringEXT below. Until then
+ * keep it separate.
+ */
+const char *
+_eglGetDRMDeviceRenderNode(_EGLDevice *dev)
+{
+#ifdef HAVE_LIBDRM
+   return dev->device->nodes[DRM_NODE_RENDER];
+#else
+   return NULL;
+#endif
+}
+
 EGLBoolean
 _eglQueryDeviceAttribEXT(_EGLDevice *dev, EGLint attribute,
                          EGLAttrib *value)
@@ -241,7 +257,7 @@ _eglQueryDeviceStringEXT(_EGLDevice *dev, EGLint name)
 static int
 _eglRefreshDeviceList(void)
 {
-   MAYBE_UNUSED _EGLDevice *dev;
+   ASSERTED _EGLDevice *dev;
    int count = 0;
 
    dev = _eglGlobal.DeviceList;