Browse Source

gallium/auxiliary/pipe-loader: Fix usage of anonymous union.

Anonymous unions aren't part of the C99 standard.  Fixes build on GCC
versions older than 4.6.

https://bugs.freedesktop.org/show_bug.cgi?id=50001

Reported-by: Michael Lange <michaell@gmx.org>
tags/i965-primitive-restart-v2
Francisco Jerez 14 years ago
parent
commit
03e3bc4ba5

+ 1
- 1
src/gallium/auxiliary/pipe-loader/pipe_loader.h View File

@@ -58,7 +58,7 @@ struct pipe_loader_device {
int vendor_id;
int chip_id;
} pci;
}; /**< Discriminated by \a type */
} u; /**< Discriminated by \a type */

const char *driver_name;
const struct pipe_loader_ops *ops;

+ 6
- 6
src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c View File

@@ -78,8 +78,8 @@ find_drm_pci_id(struct pipe_loader_drm_device *ddev)

pci_id = udev_device_get_property_value(parent, "PCI_ID");
if (!pci_id ||
sscanf(pci_id, "%x:%x", &ddev->base.pci.vendor_id,
&ddev->base.pci.chip_id) != 2)
sscanf(pci_id, "%x:%x", &ddev->base.u.pci.vendor_id,
&ddev->base.u.pci.chip_id) != 2)
goto fail;

return TRUE;
@@ -101,7 +101,7 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
int i, j;

for (i = 0; driver_map[i].driver; i++) {
if (dev->pci.vendor_id != driver_map[i].vendor_id)
if (dev->u.pci.vendor_id != driver_map[i].vendor_id)
continue;

if (driver_map[i].num_chips_ids == -1) {
@@ -110,7 +110,7 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
}

for (j = 0; j < driver_map[i].num_chips_ids; j++) {
if (dev->pci.chip_id == driver_map[i].chip_ids[j]) {
if (dev->u.pci.chip_id == driver_map[i].chip_ids[j]) {
dev->driver_name = driver_map[i].driver;
goto found;
}
@@ -120,8 +120,8 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
return FALSE;

found:
debug_printf("driver for %04x:%04x: %s\n", dev->pci.vendor_id,
dev->pci.chip_id, dev->driver_name);
debug_printf("driver for %04x:%04x: %s\n", dev->u.pci.vendor_id,
dev->u.pci.chip_id, dev->driver_name);
return TRUE;
}


+ 1
- 1
src/gallium/state_trackers/clover/core/device.cpp View File

@@ -75,7 +75,7 @@ _cl_device_id::vendor_id() const {
case PIPE_LOADER_DEVICE_SOFTWARE:
return 0;
case PIPE_LOADER_DEVICE_PCI:
return ldev->pci.vendor_id;
return ldev->u.pci.vendor_id;
default:
assert(0);
return 0;

Loading…
Cancel
Save