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