Intel_extreme: improve i855 support.

https://github.com/druga/haiku-stuff/tree/master/intel_extreme
Rebased against current sources.

* The BIOS video mode sometimes reports a scaled mode instead of the
physical panel dimensions. Get the data from the VBT table as well, and
use it if the reported resolution is bigger.
* On first boot, force the panel native mode so the user doesn't have to
set it manually.
* Only allow a single head at a time on i855gm, as the card can't drive
both heads at the same time.
* Detect when a new requested mode is the same as the current one, and
skip modesetting in that case. Avoids screen flickering when changing
workspaces.
* Fix some cases of misdetecting which pipes to enable
This commit is contained in:
Adrien Destugues
2014-01-17 12:42:20 +01:00
parent 9e9ccf69c0
commit ef726c687a
5 changed files with 399 additions and 31 deletions
@@ -173,6 +173,9 @@ struct intel_shared_info {
addr_t frame_buffer;
uint32 frame_buffer_offset;
bool got_vbt;
bool single_head_locked;
struct lock accelerant_lock;
struct lock engine_lock;