Merge branch 'mesa_7_6_branch'
[mesa.git] / src / gallium / winsys / drm / radeon / core / radeon_r300.c
index 4e9a2ddd161444bf1e1b595d55660f50734ad77c..d2d84f1a8f0ee31b57db8dcb8e38c9710e8e6e07 100644 (file)
@@ -137,9 +137,19 @@ static void do_ioctls(struct r300_winsys* winsys, int fd)
     int target = 0;
     int retval;
 
-    info.value = ⌖
+    info.value = (unsigned long)⌖
 
-    /* First, get PCI ID */
+    /* First, get the number of pixel pipes */
+    info.request = RADEON_INFO_NUM_GB_PIPES;
+    retval = drmCommandWriteRead(fd, DRM_RADEON_INFO, &info, sizeof(info));
+    if (retval) {
+        fprintf(stderr, "%s: Failed to get GB pipe count, "
+                "error number %d\n", __FUNCTION__, retval);
+        exit(1);
+    }
+    winsys->gb_pipes = target;
+
+    /* Then, get PCI ID */
     info.request = RADEON_INFO_DEVICE_ID;
     retval = drmCommandWriteRead(fd, DRM_RADEON_INFO, &info, sizeof(info));
     if (retval) {
@@ -149,7 +159,7 @@ static void do_ioctls(struct r300_winsys* winsys, int fd)
     }
     winsys->pci_id = target;
 
-    /* Then, retrieve MM info */
+    /* Finally, retrieve MM info */
     retval = drmCommandWriteRead(fd, DRM_RADEON_GEM_INFO,
             &gem_info, sizeof(gem_info));
     if (retval) {