Commit Graph

158 Commits

Author SHA1 Message Date
Axel Dörfler
6a3543db2a * Finally the overlay looks like an overlay. It took me almost a day to realize that
the Intel chip obviously cannot do overlays in B_RGB16 - even though it pretends
  to be able to do that.
* B_YCbCr422 seems to work, though, I haven't tested any other spaces for now, and
  I somewhat doubt they will work. It's all green, though, and the scaling doesn't
  seem to be correct - that we be solvable, though :)
* There aren't any bounds checks (so don't move the window out of the screen), and
  also the overlay_view offsets are ignored.
* Scaling and moving is now detected, and there is always as little work done as
  possible to reduce the workload on buffer switches (the most common case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 09:08:26 +00:00
Axel Dörfler
f4c4106a40 * Doh, I had done all bitfields in the wrong direction (msb to lsb, but it's actually
lsb to msb).
* The result is that there is now *something* to see when overlay is turned on. In
  fact the whole screen goes dark besides a few pixels on the top - now isn't that
  something? :-)
* The overlay is also turned off again correctly - which also revealed a bug in our
  app_server: B_CONFIGURE_OVERLAY is not always called with window=NULL/view=NULL
  to turn off overlay (might be an incorrect handling of BView::ClearOverlay()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 21:16:17 +00:00
Axel Dörfler
7740a4c15b Enabling overlay requires a command ring buffer, and we're setting one (very
small) up for this specific task - this will later be used for the acceleration
engine as well.
Some more work on overlay initialization, doesn't do anything yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-28 16:50:39 +00:00
Axel Dörfler
22d4db9280 * Added overlay register definitions.
* The overlay register update buffer is now created and exported, ready
  to be used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-26 17:50:30 +00:00
Axel Dörfler
b907a5acab Implemented overlay management. The hardware doesn't notice them yet, though :)
(but the app_server thinks they're working).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-26 12:55:07 +00:00
Axel Dörfler
5da6291b99 * Now using Thomas memory manager to manage the graphics memory; allocation
of graphics memory is now possible.
* Changed driver name to start with "intel_extreme" to have a nicer device
  name.
* Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just
  happens to be located somewhere in the graphics memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-24 18:18:46 +00:00
Axel Dörfler
020c1aa823 * init_driver() now behaves better in low memory situations.
* Some preparations to support more than one chipset, added i855G (device ID 0x3582)
  to test with - the accelerant_device_info is now filled with that additional data
  as well.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 13:21:31 +00:00
Axel Dörfler
e404297e56 Very basic driver for the "Intel Extreme Graphics 2" chips, only supports i865G for now.
Only mode switches do work, doesn't yet make sure the mode is valid, though.
At this point, this driver only works on Haiku, the R5 app_server is crashing for some
reason I need to investigate some day (maybe tomorrow :)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-24 21:46:40 +00:00