loader: Check if the kernel driver is i915 before loading iris
To prevent it from trying to load on say gma500 hardware. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3595> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3595>
This commit is contained in:
parent
2969012d03
commit
baf9327fa1
|
@ -114,6 +114,13 @@ static char *loader_get_kernel_driver_name(int fd)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
is_kernel_i915(int fd)
|
||||||
|
{
|
||||||
|
char *kernel_driver = loader_get_kernel_driver_name(fd);
|
||||||
|
return kernel_driver && strcmp(kernel_driver, "i915") == 0;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(HAVE_LIBDRM)
|
#if defined(HAVE_LIBDRM)
|
||||||
int
|
int
|
||||||
loader_open_render_node(const char *name)
|
loader_open_render_node(const char *name)
|
||||||
|
|
|
@ -57,6 +57,7 @@ static const int vmwgfx_chip_ids[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
bool is_nouveau_vieux(int fd);
|
bool is_nouveau_vieux(int fd);
|
||||||
|
bool is_kernel_i915(int fd);
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
int vendor_id;
|
int vendor_id;
|
||||||
|
@ -67,7 +68,7 @@ static const struct {
|
||||||
} driver_map[] = {
|
} driver_map[] = {
|
||||||
{ 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
|
{ 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
|
||||||
{ 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
|
{ 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
|
||||||
{ 0x8086, "iris", NULL, -1 },
|
{ 0x8086, "iris", NULL, -1, is_kernel_i915 },
|
||||||
{ 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
|
{ 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
|
||||||
{ 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
|
{ 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
|
||||||
{ 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
|
{ 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
|
||||||
|
|
Loading…
Reference in New Issue