Commit Graph

342 Commits

Author SHA1 Message Date
Axel Dörfler
f197302867 The size of the stolen memory for the graphics chip is now read out of the host bridge.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 01:00:58 +00:00
Axel Dörfler
f8bea0dacb * 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
2006-05-08 15:31:41 +00:00
Axel Dörfler
94f8a931c8 B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use
8 bit modes with this driver as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 16:17:11 +00:00
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
9095e05d8d * Renamed memmgr.c|h to memory_manager.c|h.
* The functions now check the acquire_sem() result.
* mem_freetag() will return an status code now, too.
* Moved the mem_block and mem_info definitions into the source file; no
  reason to have them public.
* You can now give the memory manager a name which it will use for its
  heap area and lock.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-24 15:09:46 +00:00
Rudolf Cornelissen
40c6c57a58 updated matrox and nvidia driver to export lower case kerneldriver names for the /dev/ hierarchy. It turns out R5 and dano convert upper case to lower case names, while Haiku just literally uses them... Now fixed inside these drivers by using lowercase instead of uppercase. 'Bug' reported by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 19:41:47 +00:00
Rudolf Cornelissen
7f6603085d removed NV47 references, replaced with G70. Also added G71, G72 and G73 engines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 15:03:25 +00:00
Rudolf Cornelissen
a674b4da72 added new nv.setting force_ws to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-06 09:09:13 +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
Rudolf Cornelissen
dd822d46f6 added new nv.settings to header. Recompile 3D if you want to run 3D :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 16:34:31 +00:00
Axel Dörfler
f157272bee * You are supposed to free() the mode list returned by BScreen::GetModeList(),
and not to delete it.
* The header didn't include everything it needed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 15:13:19 +00:00
Rudolf Cornelissen
f7f30d794e made chip_arch and chip_type accessible for 3D accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 20:43:38 +00:00
Rudolf Cornelissen
bfaacc661f added acc engine's retrace sync capability related register defines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-14 21:17:23 +00:00
Rudolf Cornelissen
1157cf1e2f added define for NV12_BLIT function (with retrace sync capability)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-14 19:32:14 +00:00
Rudolf Cornelissen
24fa0e7be9 added new nv.setting 'force_sync'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-14 16:08:21 +00:00
Rudolf Cornelissen
c72f6a6d0b rewrote kerneldriver and accelerants retrace INT handling. Bumped version to 0.72.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-07 15:00:40 +00:00
Rudolf Cornelissen
20b32cf501 added dangerous-RAM-size defines for hw-bug workaround.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 15:53:37 +00:00
Rudolf Cornelissen
f970e0066a reverting to 16021, removing that panel hack solution. Let's forget about that for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 15:03:01 +00:00
Rudolf Cornelissen
fa9f20e97e added a flag to shared_info indicating one-time BIOS checking has been done, added struct typedef that can hold the BIOS info needed. More will probably come, like slaved-CRTC info (TVout use concurrent with panels).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 20:38:55 +00:00
Rudolf Cornelissen
f4610faea8 added DPMS state to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-22 19:53:27 +00:00
Rudolf Cornelissen
e999b3e654 added several things to shared_info, accomodating the driver updates.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 22:15:23 +00:00
Rudolf Cornelissen
6e6488d678 driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 17:05:26 +00:00
Rudolf Cornelissen
098b042978 driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 14:50:11 +00:00
Rudolf Cornelissen
f668e4770d added 'accelerant_device_info' struct to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-10 20:07:31 +00:00
Rudolf Cornelissen
c9e85dd9c2 added 'accelerant_device_info' struct to shared_info, once again breaking binary compatibility with the 3D add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-10 19:43:41 +00:00
Rudolf Cornelissen
42a631e9fa removed one more old nolonger used define for 3D.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 20:53:54 +00:00
Rudolf Cornelissen
3c8313fd87 two more command sub-defines needed for DMA scaled blit function. Also removed some old and nolonger used PIO mode command defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 18:38:24 +00:00
Rudolf Cornelissen
224b9020ab added some defines for SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT (in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 20:03:36 +00:00
Rudolf Cornelissen
b0994d7e75 added field for primary card's name in shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 10:32:40 +00:00
Rudolf Cornelissen
a40e885b9d added field for primary card's name in shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 21:57:56 +00:00
Rudolf Cornelissen
e3c42851f7 moved a define to shared_info for logging update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:18:30 +00:00
Rudolf Cornelissen
36e7feca38 updated shared_info for logging update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:06:27 +00:00
Rudolf Cornelissen
3ea52afce9 added dpms_flags to shared info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 12:16:28 +00:00
Rudolf Cornelissen
88489db7f9 added useable INT flag to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 11:20:50 +00:00
Rudolf Cornelissen
551528038f added registerdefine for laptop backlight conttrol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 20:47:47 +00:00
Rudolf Cornelissen
58e201cb00 added new registerdefines for LVDS/TMDS distinction code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 13:50:34 +00:00
Rudolf Cornelissen
44906a1b98 added two more reg defines for DMA init code NV47. Completed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:38:41 +00:00
Rudolf Cornelissen
7514b6b4dc updated register defines to support extended acc engine init stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 16:33:28 +00:00
Rudolf Cornelissen
44e343dc48 updated engine DMA acc init code, part 3 (in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:58:52 +00:00
Rudolf Cornelissen
efb60a4ef5 updating DMA acceleration code for NV41, 43, 44. Adding code for NV47: sync to XF86, in progress (acc might be broken now..)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 13:00:33 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Rudolf Cornelissen
53ea108855 added custom TV_PRIMARY flag
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 16:38:25 +00:00
Rudolf Cornelissen
f1c7ec04ea added mode.flag 'TV_PRIMARY (1<<13)'. On dualhead cards you need to issue this flag to setup a TVout mode on the primary head: such a mode can be single- or dualhead. Note BTW that (most of) these custom flags will disappear somewhere in the future: when Haiku supports multiple graphics cards.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-27 20:08:44 +00:00
Rudolf Cornelissen
9be6619743 confirmed NVDAC2_TV_SETUP register to exist (tested NV11). Just saw 'real' (as much as is possible with beos currently :) dualhead running on a GF2MX400 using TVmode on the second head (as it has no VGA connector). Confirmed NV11 having a hardcursor on the second head, and having the capability to switch the overlay engine back and forth. Now I still have to update the TVout drivercode for real for this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-27 17:57:48 +00:00
Rudolf Cornelissen
0b3dc403c8 added status of two new i2c buses to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-27 14:32:59 +00:00
Rudolf Cornelissen
5385dd2e3b added DPMS flags to shared_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 11:38:50 +00:00
Rudolf Cornelissen
9ae6a9220a added card_type NV47 (== G70 == GF7800)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 09:52:11 +00:00
Rudolf Cornelissen
2a70a7fc9b updated shared info for two new nv.settings items.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-22 09:58:16 +00:00
Rudolf Cornelissen
e68584fa18 added shared_info flag for 'no-INT-assigned' stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 09:02:37 +00:00
Rudolf Cornelissen
aa6505c068 removed all matrox maven TVout register and macro defines. now oly nVidia defines are left here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-29 15:37:48 +00:00
Rudolf Cornelissen
04d11137af expanded/modified shared_info once again (for encoder info).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-27 14:19:41 +00:00
Rudolf Cornelissen
170a41cdcb added I2C bus and TVout chip-location specific info to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-27 10:31:05 +00:00
Rudolf Cornelissen
f282ec8116 added I2C bus #0 and #1 CRTC register defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-24 17:57:05 +00:00
Rudolf Cornelissen
0d5dbad3ec fixed a faulty registerdefine (colorkey register). Modified some register's names to be more 'precise'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-22 18:09:56 +00:00
Rudolf Cornelissen
9794c563cd updated reg define
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-17 08:45:14 +00:00
Rudolf Cornelissen
3c9e128418 minor register naming mods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-15 14:44:17 +00:00
Rudolf Cornelissen
f1616b172d smal update to overlay engine register defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-13 19:36:07 +00:00
Rudolf Cornelissen
7cb91ee94e added all VIA video overlay engine defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-13 14:05:14 +00:00
Rudolf Cornelissen
369d6dd691 added memory type ID register define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-13 12:35:14 +00:00
Rudolf Cornelissen
70f9c43c25 added PLL reset register define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-27 18:29:36 +00:00
Rudolf Cornelissen
60499e924c updated register defines. Added are only standard VGA registers which apparantly are enough to make the card work in 'enhanced mode'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-26 18:48:39 +00:00
Rudolf Cornelissen
9e4b755834 updated registerdefines for K8M800 PLL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-23 18:48:41 +00:00
Rudolf Cornelissen
7d971e51a1 updated register defines for PLL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 21:37:38 +00:00
Rudolf Cornelissen
298346004c register defines updated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 19:33:33 +00:00
Rudolf Cornelissen
309acd1437 once again updated register defines ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 15:16:33 +00:00
Rudolf Cornelissen
30bdcbfc2f updated reg defines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 11:40:13 +00:00
Rudolf Cornelissen
f62d5f6e4e updated register defines with info obtained from unichrome.sf.net.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:06:45 +00:00
Rudolf Cornelissen
4ac0231388 added defines for other unichrome cards and archs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 19:46:32 +00:00
Rudolf Cornelissen
5f1ba12a23 added (corrected) define for memory pitch programming (CRTC).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 19:21:15 +00:00
Rudolf Cornelissen
f1ed02e9cb small registerdefine update (testing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-14 13:50:42 +00:00
Rudolf Cornelissen
2a2a54c811 small registerdefine update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-14 13:40:28 +00:00
Rudolf Cornelissen
8eefa6ccc5 added several (temporary) registerdefines for VIA.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-14 12:21:28 +00:00
Rudolf Cornelissen
9b7ed7eb1f added parial memory pitch programming: lowres virtual width screens can be used now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-13 18:58:28 +00:00
Rudolf Cornelissen
b3f85e6fb7 VIA cursor works (almost) perfectly now, added support for vertical virtual workspaces, so setting framebuffer startadress now (expl. pixelpanning yet).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-12 19:55:51 +00:00
Rudolf Cornelissen
3a19646fe4 setup hardware cursor. bitmap not yet correct, colors neither.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-11 15:30:55 +00:00
Rudolf Cornelissen
9784ce8df4 naming update
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-11 12:21:11 +00:00
Rudolf Cornelissen
0385c94c57 added via private headers, a copy of skeleton driver yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-10 18:21:48 +00:00
Rudolf Cornelissen
67f767c0c6 added via private headers, a copy of skeleton driver yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-10 18:21:07 +00:00
Rudolf Cornelissen
fad6f70b5d added/modified shared_info to (better) support upto 32 3D accelants. Needs to be improved/expanded later though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-19 15:11:42 +00:00
Rudolf Cornelissen
a1d2fb778f modified 3d reload flag to support 32 clones, added clone counter as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 12:47:29 +00:00
Rudolf Cornelissen
512d251741 added shared_info flag to inform 3D add-on to reload it's rendering state.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 10:01:26 +00:00
Rudolf Cornelissen
b602e341ca added bool for engine AGP/PCI transfer selection to shared_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:50:58 +00:00
Rudolf Cornelissen
e8f7b5623e updated shared_info once more for DMA cmdbuffer in main mem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 11:42:16 +00:00
Rudolf Cornelissen
9c9a94038a modified shared_info for mainmem DMA command buffer use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:31:12 +00:00
Axel Dörfler
e5b4782b4e Made some necessary enhancements to class Screen; the app_server also
has to care about refresh rates. Also changed Screen::GetMode() (formerly
Resolution()) to return all interesting values, so that hopefully no one
will call it anymore like RootLayer::SetScreens() did.
Greatly improved the horrible RootLayer::SetScreens().
The app_server is now able to deal with failing HWInterface::SetMode() calls;
in this case, it will fall back to the hardware's current mode. This now
also works correctly in combination with the vesa driver, so that you don't
have to compile the app_server with the same resolution you boot in anymore.
SetMode() now always returns if it succeeded or not.
Renamed RootLayer::fScreenXYResolution to fScreenWidth/Height respectively.
Removed the useless DisplayDriver::DisplayMode() method.
Added B_GET_DISPLAY_MODE to the required accelerant hooks.
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:21:51 +00:00
Rudolf Cornelissen
2dbb0e96d5 removed test remark.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 13:55:01 +00:00
Rudolf Cornelissen
c3e79839e0 commented out the 'old cmd' defines, fixed 3D surface define to work for DMA (and PIO after 3D add-on update I hope).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 12:59:42 +00:00
Rudolf Cornelissen
d4189794fe more DMA 3D related engine command defines (completed).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 08:24:06 +00:00
Rudolf Cornelissen
50fdc6cbe7 adding 3D DMA cmd offset defines: in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 20:25:13 +00:00
Rudolf Cornelissen
e22e2de123 added new 'register'definitions needed for largest number of acceleration engine commands ever defined simultaneously (AFAIK) (3D DMA attempt).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-10 20:16:41 +00:00
Rudolf Cornelissen
9c3c151715 added second flag for 3D add-on indicating 2D modechanges
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 14:48:41 +00:00
Rudolf Cornelissen
83d94df950 added a fixme note with regard to multiple 3D add-ons
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-19 18:37:22 +00:00
Rudolf Cornelissen
300af26345 Added a flag indicating a modeswitch happened/is happening so the 3D add-on can block rendering and re-inits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-18 11:26:37 +00:00
Axel Dörfler
a5ff23c727 Moved the vesa.h and vga.h headers to the private vesa driver header directory
for future use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-08 15:14:32 +00:00
Axel Dörfler
93ee21046d Added very basic VESA driver. Will be improved in the future (right now
it doesn't really do anything, it just passes the initial frame buffer
on to the app_server).
While it seems to work on real hardware (if you set the video mode to
640x480x32, app_server restriction), under Bochs, the app_server crashes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-08 15:11:32 +00:00
Axel Dörfler
e02e12de8a Updated radeon driver to the latest BeBits release 5.1.0.1.
Probably only works under Haiku due to the new area flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 14:16:38 +00:00
Michael Lotz
bccfa80b9b Changed radeons memory manager to use areas instead of malloc. Now the radeon.driver should work without hacking the kernel heap bigger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:09:05 +00:00
Rudolf Cornelissen
bffb1c3e50 added a comment about 'parallel processing' of rect functions (due for next speed optimize 'step 2').
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 17:46:32 +00:00
Rudolf Cornelissen
ba37dabf99 small cleanup, added one new registerdefine for NV40/NV45.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 09:56:57 +00:00
Rudolf Cornelissen
5417d7aedc modified a few register defines for NV44 type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-06 11:46:23 +00:00
Rudolf Cornelissen
7758e2a68f added NV44 device to the list. NV44 device recognition still has to be added to the driver BTW.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-06 11:35:55 +00:00
Rudolf Cornelissen
b052127f2b added PCIe 'legacy PCI configuration space' config register defines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 18:58:17 +00:00
Rudolf Cornelissen
54c34e6829 added NV20 arch defines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 14:40:11 +00:00
Rudolf Cornelissen
ba9ec361f2 removed two double defines for the same register, added new defines needed for NV20 and NV30 architecture DMA acceleration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:19:29 +00:00
Rudolf Cornelissen
9c47d9cb0a updated 'docs' with the new NVx_GDI_RECT cmd's findings :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 15:18:51 +00:00
Rudolf Cornelissen
940dbde600 using NV4_GDI_RECTANGLE_TEXT instead of the older NV3 version for DMA acc. Seems like the old one can't be used with DMA (or I am hitting my limited knowledge on nVidia's Hash-table again..)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:16:39 +00:00
Rudolf Cornelissen
a8c119773f added acc function defines for DMA, for fill_rect.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 20:56:08 +00:00
Rudolf Cornelissen
61e1618dce completed DMA buffer state vars to be all there.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 19:24:37 +00:00
Rudolf Cornelissen
34a71f30fe updated a register's name to reflect what it does.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 11:09:53 +00:00
Rudolf Cornelissen
7b0775548b 2D acc milestone reached: NV11 DMA is now up and running!! Oh, there are still a few limitations: don't use overlay, don't use 800x600x8 bit mode, and don't work longer than it takes to get the DMA buffer totally filled up. (switching between workspaces with different settings resets the engine and the 'timer' starts anew...
General note: learn how nVidia's hardware hashtable implementation works!!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 22:28:31 +00:00
Rudolf Cornelissen
d1a21786b1 added setting 'dma_acc' for nv.settings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 18:25:40 +00:00
Rudolf Cornelissen
a9d9522bc6 removed a define that's not needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 17:14:19 +00:00
Rudolf Cornelissen
fa6815fa24 added NV4/NV10 architecture register define needed for DMA stuff
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 15:53:57 +00:00
Rudolf Cornelissen
8118b7593e added pattern cmd colorspace define (PIO/DMA)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 13:11:39 +00:00
Rudolf Cornelissen
6c001eb7a2 added more DMA defines (for FIFO channel assigment).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 12:18:44 +00:00
Rudolf Cornelissen
4bf2b3cccd added 2D_surface command defines (for DMA use at first).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-16 10:17:20 +00:00
Rudolf Cornelissen
98a4e5c787 removed a few DMA define errors which lets DMA now place the commands in actual acceleration engine registers (via the FIFO), instead of sending them into oblivian. Because the engine does not process them OK yet (no visible confirmation onscreen of any activity even) it will hang DMA fetching after about 100 fed blit-commands....
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 21:36:57 +00:00
Rudolf Cornelissen
49057561f5 added DMA cmd defines, added more DMA info to shared info.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 14:28:41 +00:00
Rudolf Cornelissen
02f2dfb7cf added DMA cmd buffer info to shared_info
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 09:57:01 +00:00
Rudolf Cornelissen
b1e0087b8c added DMA paths to cmd structs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 21:13:48 +00:00
Rudolf Cornelissen
342f26df0e added register defines needed for engine DMA setup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 18:43:41 +00:00
Rudolf Cornelissen
d37a3badbe updated a register name to be more correct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 13:14:42 +00:00
Rudolf Cornelissen
4047880883 added secondary head cursor sync reg define. Still needs to be confirmed working (it exists at least)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 10:46:02 +00:00
Rudolf Cornelissen
c442f9acd1 added cursor sync register define
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-09 20:34:24 +00:00
Rudolf Cornelissen
0bc112be60 more reg defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-07 21:48:11 +00:00
Rudolf Cornelissen
7d52f9d6a4 DMA related register defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-07 21:08:55 +00:00
Rudolf Cornelissen
75f591f5c0 more NV40 arch register defines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 19:16:19 +00:00
Rudolf Cornelissen
110351f212 added NV40 arch specific register defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-06 16:22:10 +00:00
Rudolf Cornelissen
5f8c3a7f30 updated 'line' command remarks to now be correct I think. Sometimes sitting back helps to get a fix on things ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-24 22:46:55 +00:00
Rudolf Cornelissen
a2308843f3 removed two remarks that where not correct I think.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-23 21:13:37 +00:00
Rudolf Cornelissen
0e0eb256d8 added more engine command defines.. 8-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-23 12:54:35 +00:00
Rudolf Cornelissen
b88dbb0c84 added missing color and Z buffer setup cmd struct (nolonger existing in XFree86 > 4.2.0!)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-22 12:25:17 +00:00
Rudolf Cornelissen
5c2199fce0 added cmd struct for the textured_triange cmd. Check it out.. 8-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 18:37:24 +00:00
Rudolf Cornelissen
07e14ea9ad completed engine command struct defines so on-the-fly FIFO channel re-assignments can be done. Will be expanded more to include used 3D commands.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 15:34:56 +00:00
Rudolf Cornelissen
9daf2efe7d updated register and acc command defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:10:45 +00:00
Rudolf Cornelissen
e549fa8984 updated shared_info and defines for FIFO channel stuff
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 09:21:32 +00:00
Rudolf Cornelissen
f0cb8f7257 filled out first cmd
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-18 14:07:41 +00:00
Rudolf Cornelissen
bd877ea210 added file which will contain acc cmd struct defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-18 13:30:33 +00:00
Rudolf Cornelissen
74661a6096 added some defines and shared info needed in 3D add-on driver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-16 21:18:45 +00:00
Rudolf Cornelissen
52ab726536 added more 3D specific engine registers needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 13:36:10 +00:00
Rudolf Cornelissen
a282e63d4b added defines for set of unknown registers needed for 3D
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 12:05:39 +00:00
Rudolf Cornelissen
03b720e76e added move_overlay() related info to shared_info.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-23 14:27:14 +00:00
Rudolf Cornelissen
d7c3880880 added / updated PCI config space register defines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 14:47:11 +00:00
Rudolf Cornelissen
9ea180fae1 completed move_overlay() implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 13:03:13 +00:00