History log of /haiku/src/add-ons/accelerants/intel_extreme/engine.cpp
Revision Date Author Comments
# 25334001 30-Mar-2022 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Disable engine for SOC0 as it also locks up.


# eeddcfff 17-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

accelerants: Fix mismatched prototypes.

Found by GCC 11.


# 994794f2 23-Oct-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel extreme: skylake sets color, base and address, no resolution and refresh yet


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

intel_extreme: tracing cleanup; no functional change


# 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


# 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


# 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


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

* Now supports setting a framebuffer offset as overlay address instead of a physical
pointer (as needed by the G33 chipset).
* Minor debug output improvements.


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


# 81abd45c 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

There was no space when the buffer was completely empty...


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


# b8793723 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

Added the timeout to QueueCommand::MakeSpace() as well.


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


# 8818c505 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

* Made QueueCommands::Write() and MakeSpace() public.
* Implemented MakeSpace() (not yet tested).
* Changed intel_wait_engine_idle() to spin() between reads and to timeout
after 1 second of waiting (could probably be done way earlier).


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


# 973d499e 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Made the accelerant safer to use when cloned (though I didn't test cloning yet);
introduced a lock that is used in B_SET_DISPLAY_MODE etc.
* Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock
the engine now).
* The lock of the ring buffers is now deleted when the (primary) accelerant is closed.
* Minor cleanup.


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


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

* Implemented B_FILL_SPAN - I am not sure if it's used at all, though, so
I am also not sure if it's working correctly.
* Minor cleanup.


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


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

Say hello to B_FILL_RECTANGLE and B_INVERT_RECTANGLE - only B_FILL_SPAN is missing
from the acceleration hooks in BeOS.


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


# 5462d440 11-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out the virtual messes with the data in struct command, so we can't
use it (which isn't really that bad).
* B_SCREEN_TO_SCREEN_BLIT is now working as intended, so we can finally move
windows and scroll at decent speed :-)
* Implemented a simple version of B_WAIT_ENGINE_IDLE for now.


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


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

Started implementing screen-to-screen blits, not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 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


# 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


# 5da6291b 24-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# 943578b1 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added some debug output - the driver is actually working under R5 as well, I just
didn't test it correctly last time...


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


# e404297e 24-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

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


# 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


# 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


# 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


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

* Now supports setting a framebuffer offset as overlay address instead of a physical
pointer (as needed by the G33 chipset).
* Minor debug output improvements.


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


# 81abd45c3e32082ffbbe70e54dda671dd21e46b0 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

There was no space when the buffer was completely empty...


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


# b879372352767e6668517e274978bebf09bd868e 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

Added the timeout to QueueCommand::MakeSpace() as well.


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


# 8818c505079d042697e36085387f553224c484a9 13-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

* Made QueueCommands::Write() and MakeSpace() public.
* Implemented MakeSpace() (not yet tested).
* Changed intel_wait_engine_idle() to spin() between reads and to timeout
after 1 second of waiting (could probably be done way earlier).


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


# 973d499ee1ed8d233b5c8c03685dbcfb25c03816 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Made the accelerant safer to use when cloned (though I didn't test cloning yet);
introduced a lock that is used in B_SET_DISPLAY_MODE etc.
* Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock
the engine now).
* The lock of the ring buffers is now deleted when the (primary) accelerant is closed.
* Minor cleanup.


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


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

* Implemented B_FILL_SPAN - I am not sure if it's used at all, though, so
I am also not sure if it's working correctly.
* Minor cleanup.


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


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

Say hello to B_FILL_RECTANGLE and B_INVERT_RECTANGLE - only B_FILL_SPAN is missing
from the acceleration hooks in BeOS.


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


# 5462d44020180ca5dd42fd91ce51fdc5550536b6 11-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Turns out the virtual messes with the data in struct command, so we can't
use it (which isn't really that bad).
* B_SCREEN_TO_SCREEN_BLIT is now working as intended, so we can finally move
windows and scroll at decent speed :-)
* Implemented a simple version of B_WAIT_ENGINE_IDLE for now.


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


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

Started implementing screen-to-screen blits, not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 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


# 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


# 5da6291b99c3bd38505f6306dcb6398b9485783d 24-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* 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


# 943578b15bede1f6862940b57a143a40d72d30cb 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added some debug output - the driver is actually working under R5 as well, I just
didn't test it correctly last time...


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


# e404297e56d4d54998a8f21b661def9d2da746d6 24-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

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