mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-28 07:48:37 -04:00
egldisplay: Fix invalid software/hardware detection on Mesa
This commit is contained in:
parent
40842ef217
commit
24fb2a2c88
@ -120,9 +120,9 @@ get_properties(FrameBufferProperties &properties,
|
|||||||
properties.set_depth_bits(depth_size);
|
properties.set_depth_bits(depth_size);
|
||||||
properties.set_multisamples(samples);
|
properties.set_multisamples(samples);
|
||||||
|
|
||||||
// Set both hardware and software bits, indicating not-yet-known.
|
// "slow" likely indicates no hardware acceleration.
|
||||||
properties.set_force_software(1);
|
properties.set_force_software(slow);
|
||||||
properties.set_force_hardware(1);
|
properties.set_force_hardware(!slow);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -255,17 +255,9 @@ reset() {
|
|||||||
GLESGraphicsStateGuardian::reset();
|
GLESGraphicsStateGuardian::reset();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// If "Mesa" is present, assume software. However, if "Mesa DRI" is found,
|
if (_gl_renderer == "Software Rasterizer") {
|
||||||
// it's actually a Mesa-based OpenGL layer running over a hardware driver.
|
|
||||||
if (_gl_renderer == "Software Rasterizer" ||
|
|
||||||
(_gl_renderer.find("Mesa") != std::string::npos &&
|
|
||||||
_gl_renderer.find("Mesa DRI") == std::string::npos)) {
|
|
||||||
// It's Mesa, therefore probably a software context.
|
|
||||||
_fbprops.set_force_software(1);
|
_fbprops.set_force_software(1);
|
||||||
_fbprops.set_force_hardware(0);
|
_fbprops.set_force_hardware(0);
|
||||||
} else {
|
|
||||||
_fbprops.set_force_hardware(1);
|
|
||||||
_fbprops.set_force_software(0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user