History log of /haiku/src/add-ons/accelerants/intel_extreme/overlay.cpp
Revision Date Author Comments
# 3d1bd895 11-Mar-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Properly use VBIOS panel mode

* Move current_mode into the accelerant as the
driver doesn't care.
* Record panel_mode in driver and present to accelerant
* eDP, if no EDID and mobile, leave edid incomplete.
Mode set should notice that and fall back to panel_mode


# be3f7a8f 10-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: tracing cleanup; no functional change


# 84b7116d 01-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rework card identification defines

* Be more verbose on flag type
* Add additional groups
* Add additional families
* Correctly assign later models


# 81b134d3 11-Jan-2016 Viktor Müntzing <viktor.muntzing@gmail.com>

intel_extreme: Incorrect paranthesis in overlay


# 4286d20b 25-Oct-2015 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: PVS 1765-6: only use bool in conditions

* Style fix, no functional changes.


# 13af65c4 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

intel_extreme: fix warnings on 64bit.


# 881a823e 28-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve accelerant tracing and debug output

* Several messages to syslog weren't tagged with
intel_extreme making troubleshooting difficult
* Fix a few typesize printf issues with B_PRI macro


# f91a2037 04-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

intel accelerant: NULL dereferences (overlays)

Rather than checking if "window" AND "view" are NULL, check if
"window" OR "view" are NULL, since neither could be null and deferenced later
on.

From the Matrox accelerant, it seems that such event occurs when a
"Workspace switch, screen prefs change, or overlay app shutdown occurs"

Might be interesting to revisit tickets related to intel accelerant.

CID 205.


# c788baed 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Style cleanups only, no functional change.
* Make the pointer style consistent accross all components, which should make it
easier when working all over the place.
* 80 char limits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2baa527f 28-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

CID 3221: Add missing break.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39989 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23843356 14-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the device type is tested/set. There shouldn't be any functional
changes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f5bbbdc 26-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 78fa3aff 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Overlay on the G33 does not work anymore in the secondary ring buffer;
we now always only use the primary ring buffer.
* Removed secondary ring buffer allocation and member fields.
* Increased size of the primary ring buffer to 65536 bytes.
* The bytes per row register is computed differently for 9xx chips.
* On G33, the overlay does not need a physical address anymore, so we
don't pass B_APERTURE_NEED_PHYSICAL to the allocation anymore for that
device.
* intel_free_memory() accidently added the aperture base to the allocation
and would therefore never free any memory.
* INTEL_RING_BUFFER_SIZE_MASK was shifted one bit to the right, didn't
cause any harm with our buffer sizes, yet, though.
* With these changes, the driver runs stable on a G33 chipset (I have not
yet tested the hardware cursor, though, it might need some work, too).
The only known issue left is that overlay flickers a bit if its buffer
is partially backed up by reserved and allocated memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23798 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c34b9b1 29-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
the memory handling, and memory is now actually allocated on demand,
instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d75c8820 26-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Simplified usage of the INTEL_TYPE_xxx constants.
* Added some defines needed when playing with the bridge controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4dfa9e42 23-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Some work in progress:
* set_gtt_entry() used the wrong index to fill the GTT - this could have never
worked correctly when you specified more memory than the amount of stolen
memory.
* Implementing maintaining resources for emulating overlay using the 3D engine
on i965. I don't yet commit the actual overlay code, as that is a) ugly, and
b) does not work yet.
* Moved AreaKeeper into its own header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23709 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c05095c 14-Jul-2006 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

Last set of minor fixes for GCC 4 build.
More will follow later, need to clean the fixes up a little :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18154 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e4e5ff6e 29-May-2006 Axel Dörfler <axeld@pinc-software.de>

Make sure the overlay commands are executed as soon as possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17630 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c9d6e59 12-May-2006 Axel Dörfler <axeld@pinc-software.de>

Calmed down overlay a bit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17429 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c67d64c 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

Prepared support for acceleration: there is now a QueueCommands class that should
be used to feed the ring buffers with new commands. It takes care about proper
alignment (this shouldn't be necessary in the final version, anymore, though), and
locking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc88cd93 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

* The Y/RGB and UV registers for the integer downscale factor are reverse to
the usual order of other registers, so I mixed it up: vertical downscaling
is now working as expected as well.
* The downscaling factor was a tiny bit too low (one pixel from the view).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17414 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96451fe1 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

We're now using a secondary (high priority) ring buffer for hardware
overlay - this will improve the overlay performance when the engine is
under load (the acceleration engine will use the primary lower priority
ring buffer).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bd70a55 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

You can now safely move the overlay off screen completely, without having to
worry that the graphics chip is fried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4154806 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

* an overlay_view::{h|v}_start different from 0 is now supported
* The overlay_view is now also correctly clipped when you move the overlay
window offscreen to the left or to the right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72119ffa 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

Included the phase coefficient computation from the X driver implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17401 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d50e3eb2 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

Some quick clipping of the destination window to let VLC successfully leave full
screen mode, and let's you move the window off screen without too many problems
(if you'll move it off screen to the left side (or top), then you won't see the
contents you'd expecting).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17368 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9cf9eedf 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

The other color spaces now seem to work as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8bea0da 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out you must not set the source width/height UV registers (for planar
mode), but you have to set the scaling UV registers in order to have correct
overlay.
* In other words, overlay is working now! There are still issues with it, which
can probably be attributed to missing bounds checks (the screen goes black
when you leave full-screen mode in VLC - but not if overlay just stops).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 050c3467 04-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out Haiku's app_server used a different color key mechanism than R5 (it's
fixed now). Tested overlay color keying okay in all supported color spaces.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a3543db 04-May-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# f4c4106a 02-May-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# 7740a4c1 28-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

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


# eea30ef3 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Maybe I shouldn't have forgotten to commit this (didn't break the build, but
overlay didn't even pretend to do anything).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b907a5ac 25-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

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


# 13af65c4027b414617a7ddd4902bac0a04372fd5 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

intel_extreme: fix warnings on 64bit.


# 881a823e8a1af9b040fb880eae1b4fe85d6aba5d 28-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve accelerant tracing and debug output

* Several messages to syslog weren't tagged with
intel_extreme making troubleshooting difficult
* Fix a few typesize printf issues with B_PRI macro


# f91a2037a58c410e2326be431f6e704f91329485 04-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

intel accelerant: NULL dereferences (overlays)

Rather than checking if "window" AND "view" are NULL, check if
"window" OR "view" are NULL, since neither could be null and deferenced later
on.

From the Matrox accelerant, it seems that such event occurs when a
"Workspace switch, screen prefs change, or overlay app shutdown occurs"

Might be interesting to revisit tickets related to intel accelerant.

CID 205.


# c788baed28e28960c17306fe9f5b40382b07cb1d 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Style cleanups only, no functional change.
* Make the pointer style consistent accross all components, which should make it
easier when working all over the place.
* 80 char limits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2baa527f82cf42f347af52ba0996126dcdd5ff42 28-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

CID 3221: Add missing break.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39989 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 238433564972d525584b2dfbe1a2c0eb52ef49c1 14-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the device type is tested/set. There shouldn't be any functional
changes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f5bbbdc56fa18cfc94ea649e9f1337301906e19 26-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 78fa3affbc8be3c4e69497c15e87ae2f0ebd8c48 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Overlay on the G33 does not work anymore in the secondary ring buffer;
we now always only use the primary ring buffer.
* Removed secondary ring buffer allocation and member fields.
* Increased size of the primary ring buffer to 65536 bytes.
* The bytes per row register is computed differently for 9xx chips.
* On G33, the overlay does not need a physical address anymore, so we
don't pass B_APERTURE_NEED_PHYSICAL to the allocation anymore for that
device.
* intel_free_memory() accidently added the aperture base to the allocation
and would therefore never free any memory.
* INTEL_RING_BUFFER_SIZE_MASK was shifted one bit to the right, didn't
cause any harm with our buffer sizes, yet, though.
* With these changes, the driver runs stable on a G33 chipset (I have not
yet tested the hardware cursor, though, it might need some work, too).
The only known issue left is that overlay flickers a bit if its buffer
is partially backed up by reserved and allocated memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23798 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c34b9b1f5e168501f89a270233457e04aa1b16b 29-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
the memory handling, and memory is now actually allocated on demand,
instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d75c88206ebdc2e711a9edcf2f4ccf38ba1663e2 26-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Simplified usage of the INTEL_TYPE_xxx constants.
* Added some defines needed when playing with the bridge controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4dfa9e425fef3a6105e1cd97c4d4324f339f5614 23-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Some work in progress:
* set_gtt_entry() used the wrong index to fill the GTT - this could have never
worked correctly when you specified more memory than the amount of stolen
memory.
* Implementing maintaining resources for emulating overlay using the 3D engine
on i965. I don't yet commit the actual overlay code, as that is a) ugly, and
b) does not work yet.
* Moved AreaKeeper into its own header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23709 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c05095ca633fe9862c0dcf75cb499d4e15d65b6 14-Jul-2006 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

Last set of minor fixes for GCC 4 build.
More will follow later, need to clean the fixes up a little :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18154 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e4e5ff6eaee0a21a4f2b407c2a66e0266b33d34d 29-May-2006 Axel Dörfler <axeld@pinc-software.de>

Make sure the overlay commands are executed as soon as possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17630 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c9d6e59027429fc253ebe504b295f6c1e7cfddb 12-May-2006 Axel Dörfler <axeld@pinc-software.de>

Calmed down overlay a bit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17429 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c67d64cad2f5e2bc8c57cfbcb5b8f3a6014051f 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

Prepared support for acceleration: there is now a QueueCommands class that should
be used to feed the ring buffers with new commands. It takes care about proper
alignment (this shouldn't be necessary in the final version, anymore, though), and
locking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc88cd9396f2d519305f86f126f031675443c1b4 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

* The Y/RGB and UV registers for the integer downscale factor are reverse to
the usual order of other registers, so I mixed it up: vertical downscaling
is now working as expected as well.
* The downscaling factor was a tiny bit too low (one pixel from the view).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17414 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96451fe1332d971e149796b2024c4797c1169ad7 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

We're now using a secondary (high priority) ring buffer for hardware
overlay - this will improve the overlay performance when the engine is
under load (the acceleration engine will use the primary lower priority
ring buffer).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bd70a559d1eeacb9e772b3c5d756000eced1fd0 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

You can now safely move the overlay off screen completely, without having to
worry that the graphics chip is fried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4154806075de20bb2a4578ac2a7219080f8960a 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

* an overlay_view::{h|v}_start different from 0 is now supported
* The overlay_view is now also correctly clipped when you move the overlay
window offscreen to the left or to the right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72119ffac805896b8864c9a4d507af1752c086d0 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

Included the phase coefficient computation from the X driver implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17401 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d50e3eb20e857d40013a3c8761402783317415b9 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

Some quick clipping of the destination window to let VLC successfully leave full
screen mode, and let's you move the window off screen without too many problems
(if you'll move it off screen to the left side (or top), then you won't see the
contents you'd expecting).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17368 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9cf9eedf9f97dc6129430d1672a8ba13808b9db0 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

The other color spaces now seem to work as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8bea0dacbe4678d23a854ce24b63bbb5706179d 08-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out you must not set the source width/height UV registers (for planar
mode), but you have to set the scaling UV registers in order to have correct
overlay.
* In other words, overlay is working now! There are still issues with it, which
can probably be attributed to missing bounds checks (the screen goes black
when you leave full-screen mode in VLC - but not if overlay just stops).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 050c3467fc9f969dbdc80f2c61b39f9613b24a3c 04-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out Haiku's app_server used a different color key mechanism than R5 (it's
fixed now). Tested overlay color keying okay in all supported color spaces.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a3543db2a68e1d35d99c0e72ae935d72b2b5d52 04-May-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# f4c4106a4083a9ffdfdf3640ebd1f7caad01e4c2 02-May-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# 7740a4c15bd6ee7fd66388b5fc21c786b926429d 28-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

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


# eea30ef36cf1d2f20cd140f22da319d581ee3852 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Maybe I shouldn't have forgotten to commit this (didn't break the build, but
overlay didn't even pretend to do anything).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b907a5acab12226b59087b4364e34ba5ddd981e3 25-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

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