Commit Graph

16801 Commits

Author SHA1 Message Date
Axel Dörfler
112db6b691 * Now disables the VGA display mode explicetly, which allows it to work
without having a VESA mode set first (thanks to Stephan for noticing
  this).
* intel_set_display_mode() now calls intel_propose_display_mode() to make
  sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still
  not working correctly (which will cause problems for BWindowScreen and
  friends).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 15:25:17 +00:00
Jérôme Duval
5e21669120 reverted my last change as it doesn't fix anything
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 08:01:12 +00:00
Marcus Overhagen
0a00d23f2e Reworked media_format meta data handling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 22:51:14 +00:00
Axel Dörfler
9b28f8873c * Added sigsetjmp_test to Jamfile.
* Fixed Jamfile (was set to only support libbe_test).
* Fixed warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 21:43:39 +00:00
Stefano Ceccherini
f190c6255e minor cleanup, adjusted copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 19:50:42 +00:00
Rudolf Cornelissen
48566405f6 fixed distortions on VGA output after TVout use (G100/G200).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 16:09:26 +00:00
Axel Dörfler
382ef632d7 Forgot to include this file in the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 14:30:25 +00:00
Axel Dörfler
973d499ee1 * 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
2006-05-14 14:27:50 +00:00
Axel Dörfler
4955c11be9 * Moved the intel_info structure and prototypes from intel_extreme.cpp from the shared
headers into intel_extreme_private.h.
* Removed non-memory-mapped definitions from driver.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:58:52 +00:00
Axel Dörfler
cccc4c8383 Now advertizes the capabilities of the screen modes correctly (ie. sets B_HARDWARE_CURSOR
and B_SUPPORTS_OVERLAYS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:50:26 +00:00
Axel Dörfler
7d5957df85 * Implemented hardware cursor support.
* Turns out cursor handling is simpler as originally thought, so I could remove its
  physical mapping - it's still put into the shared area, though, although that isn't
  needed for this chip (but could eventually simplify the handling of other generations
  of this chip).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:41:33 +00:00
DarkWyrm
8cb10e136c Fix build for all platforms and remove a hack
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 11:32:08 +00:00
Rudolf Cornelissen
e88f2e82c6 fixed MGA_TVO PAL desktop mode 640x480 (green triangle shaped distortion). MGA_TVO apparantly handles scaling limiting less forgiving than later MAVENs. RevC MGA_TVO is now fully up and running OK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 09:56:26 +00:00
Axel Dörfler
dc30266262 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 22:51:56 +00:00
Rudolf Cornelissen
50572eafbb tuned PAL VCD and DVD modes for MGA-TVO (G100/G200). These are now OK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 22:26:45 +00:00
Rudolf Cornelissen
69e25c27b7 removed 8 and 15bit TVout support for G100,G200: 8bit mode is troublesome indeed (at least). Tuned a bit more with picture position. Most modes for MGA_TVO revC seem OK (PAL DVD/VCD not OK yet, PAL 640x480 has a green triangle shaped distortion left onscreen).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 21:44:30 +00:00
Axel Dörfler
82bca02b9f You can now specify how much memory the chip can use for graphics memory via
a settings file. However, you cannot specify less than the amount taken by
the BIOS (ie. your settings will be ignored if you do).
Just put something like the following into a "intel_extreme" settings file:
	graphics_memory_size 16

To allocate 16 MB in total. Note, whatever value you specify will be rounded
up to the next power of two, ie. if you specify 6 MB, 8 will be taken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 19:48:17 +00:00
Axel Dörfler
63dbc0a8d6 * Accidently overwrote info.registers which let all subsequent register writes
(in the kernel driver) fail - or crash the system.
* Waiting for VBLANK now works as expected - you actually have to *set* the bit
  to clear it, isn't that obvious? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 19:31:00 +00:00
Rudolf Cornelissen
9ca9450e86 removed shutoff for MGA_TVO PLL: doesn't work as expected after all. This re-enables TVout use on G100/G200 (still in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 18:26:28 +00:00
Jérôme Duval
ad34885a2b actually set timezone in the kernel, and in the settings
should help on bug #583, and even fix it
minor change in localtime


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 15:52:32 +00:00
Jérôme Duval
0f22d7cfa8 seems we reversed the timezone offset when setting the hw clock
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 15:41:33 +00:00
Axel Dörfler
5af5259c38 Implemented vblank interrupt and support for the retrace semaphore - not yet
tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 15:22:20 +00:00
Jérôme Duval
c3b56e03d4 fixed my name
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 14:11:49 +00:00
Rudolf Cornelissen
bf1ee0604c added mga_tvo/maven vid pll shutoff if TVout/dualhead not in use. this fixes primary output distortions after the _driver_ used a TVout mode(on bootup it's not OK yet if TVout was enabled by the cardBIOS).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 12:06:03 +00:00
DarkWyrm
839e7aa6de Enabled *_font_cache_info functions - used by Scripture Guide 0.8.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 10:48:05 +00:00
Rudolf Cornelissen
9b8cac4cde updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 10:45:39 +00:00
Rudolf Cornelissen
1fc340e5b7 added support for TVout on G100-G400 via add-in daughterboards. Note: MGA_TVO (maven) revB requires more tweaks than MGA_TVO rev C. Both differ from G400 maven timing wise. I'll probably work my way down: first fix RevC, then rev B. add-in boards work just as good (or bad) as G100/G200 'standard' TVout boards now. RevC chips work better than revB chips. Both fixable to math G400 and later, I hope. Bumped version to 0.31
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 10:43:58 +00:00
Axel Dörfler
ccb666bc0e * Prepared having hardware cursor support; got quite complicated because there
is no good (or reliable) way to retrieve the physical address of "stolen"
  (by the BIOS) graphics memory.
* Implemented allocation of additional graphics memory in case the BIOS was
  a bit too cheap. We now guarantee 8 MB of memory available to the graphics
  chip - would be nicer to only allocate that on demand, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 09:19:56 +00:00
Axel Dörfler
c8609aed8c * Now allocates enough memory for virtual screens.
* Implemented untested B_MOVE_DISPLAY - note, the page_flip demo doesn't work
  yet (didn't investigate yet, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 11:46:14 +00:00
Jérôme Duval
8aa56b078f deactivate the HAVE_POSIX_SIGSETJMP flag for the time being, could be activated again later
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 10:16:15 +00:00
Jérôme Duval
6885553546 added a sigsetjmp test
this is what bash is currently using (we're supposed to be posix compatible after all)
success on R5, R5 setjmp.h; fail on R5, Haiku setjmp.h (could be expected)
to be tested: on Haiku, R5 & Haiku setjmp.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 10:13:15 +00:00
Axel Dörfler
1c9d6e5902 Calmed down overlay a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 09:34:20 +00:00
Stefano Ceccherini
f56a708cde FontSizeMenu marks the correct item on AttachedToWindow. Fixes bug 565
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 22:21:48 +00:00
Stefano Ceccherini
a73a27510a more cleanups. There is now a MenuSettings class which handles settings in a central way. More code simplification
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 21:31:56 +00:00
Stefano Ceccherini
fdd142c9ed Removed the Update() methods. Created a new class AutoSettingsMenu from which every menu class inherits. It gets the new settings on AttachedToWindow() automatically
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 20:23:38 +00:00
Axel Dörfler
d906e6a03e * 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
2006-05-11 16:10:09 +00:00
Axel Dörfler
efeb77268d 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
2006-05-11 15:24:34 +00:00
Axel Dörfler
030d964e4e Made the primary ring buffer for the acceleration commands a bit larger (16 KB);
this is mostly done because of the fact that I haven't tested how full it usually
is, and since I haven't implemented checking for free space yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 15:22:35 +00:00
Axel Dörfler
5462d44020 * 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
2006-05-11 14:12:02 +00:00
Axel Dörfler
140e4f87c8 If you switched between a 32 bit mode and another, hardware acceleration was accidently
turned off - note also, that only the 32 bit mode is currently hardware accelerated!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 13:13:53 +00:00
Philippe Houdoin
af29432635 Fixed a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 07:53:19 +00:00
Jérôme Duval
8c2f5082ec made timestamp font sensitive
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 05:50:33 +00:00
Stefano Ceccherini
1655525f95 Check the lock, some cleanups. Fixes some crashing bugs which didn't show up before for pure luck
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 20:15:36 +00:00
Stefano Ceccherini
c8773f97a0 Invalidate less in BMenuBar::FrameResized() and a bit more in _BMCMenuBar_::FrameResized(), removed unused _BMCItem_
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 19:29:35 +00:00
Axel Dörfler
2ace35ed22 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
2006-05-10 18:53:20 +00:00
Axel Dörfler
6c67d64cad 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
2006-05-10 16:09:28 +00:00
Axel Dörfler
fc88cd9396 * 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
2006-05-10 14:48:38 +00:00
Axel Dörfler
e3fe0cd725 This didn't even read out the page table register, it read something from address
0x2020, which resulted in a page fault under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 13:12:57 +00:00
Axel Dörfler
08ef16abee * Now allocates space for the hardware status page and cursor memory, not yet
used, though.
* Renamed the PhyisicalPageMapper class to AreaKeeper and made it a bit more
  generic (ie. it can now also create usual areas)
* The shared_info is now created using the AreaKeeper, too, and this actually
  fixes some potential memory leaks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 12:37:27 +00:00
Axel Dörfler
96451fe133 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
2006-05-10 10:54:39 +00:00