added recognition for the first two GeForce 7800 cards: a 7800 GT PCIe and a 7800 GTX Go PCIe. Acceleration is currently disabled. Note please that these cards are not yet tested! (feedback very welcome)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14508 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
Other authors:
|
||||
Mark Watson,
|
||||
Rudolf Cornelissen 10/2002-2/2005
|
||||
Rudolf Cornelissen 10/2002-10/2005
|
||||
*/
|
||||
|
||||
#define MODULE_BIT 0x08000000
|
||||
@@ -176,19 +176,34 @@ status_t check_overlay_capability(uint32 feature)
|
||||
}
|
||||
|
||||
/* all supported cards have a bes, but... */
|
||||
if ((si->ps.card_arch >= NV40A) &&
|
||||
(si->ps.card_type != NV40) && (si->ps.card_type != NV45))
|
||||
switch (si->ps.card_arch)
|
||||
{
|
||||
/* all NV40 architecture cards have a new HDTV capable bes except for
|
||||
* GeForce 6800's. Unfortunately we have no info about the new bes yet. */
|
||||
LOG(4, ("Overlay: Not exporting hook %s.\n", msg));
|
||||
return B_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* all other cards have a supported bes */
|
||||
case NV04A:
|
||||
case NV10A:
|
||||
case NV20A:
|
||||
case NV30A:
|
||||
/* all older cards have a supported bes */
|
||||
LOG(4, ("Overlay: Exporting hook %s.\n", msg));
|
||||
return B_OK;
|
||||
break;
|
||||
case NV40A:
|
||||
default:
|
||||
switch (si->ps.card_type)
|
||||
{
|
||||
case NV40:
|
||||
case NV45:
|
||||
/* all GeForce 6800's cards have a supported bes */
|
||||
LOG(4, ("Overlay: Exporting hook %s.\n", msg));
|
||||
return B_OK;
|
||||
break;
|
||||
default:
|
||||
/* all NV40 architecture cards have a new HDTV capable bes except for
|
||||
* GeForce 6800's. Unfortunately we have no info about the new bes yet. */
|
||||
LOG(4, ("Overlay: Not exporting hook %s.\n", msg));
|
||||
return B_ERROR;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -87,6 +87,9 @@ status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info * adi)
|
||||
case NV45:
|
||||
sprintf(adi->chipset, "NV45");
|
||||
break;
|
||||
case NV47:
|
||||
sprintf(adi->chipset, "NV47");
|
||||
break;
|
||||
default:
|
||||
sprintf(adi->chipset, "unknown");
|
||||
break;
|
||||
|
||||
@@ -167,6 +167,21 @@ status_t nv_general_powerup()
|
||||
LOG(4,("POWERUP: Detected Nvidia Quadro FX 4000/4400 (NV40)\n"));
|
||||
status = nvxx_general_powerup();
|
||||
break;
|
||||
//fixme: reported, but yet untested card..
|
||||
case 0x009210de: /* Nvidia Geforce 7800 GT PCIe */
|
||||
si->ps.card_type = NV47;
|
||||
si->ps.card_arch = NV40A;
|
||||
LOG(4,("POWERUP: Detected Nvidia Geforce 7800 GT PCIe (NV47)\n"));
|
||||
status = nvxx_general_powerup();
|
||||
break;
|
||||
//fixme: reported, but yet untested card..
|
||||
case 0x009910de: /* Nvidia Geforce 7800 GTX Go PCIe */
|
||||
si->ps.card_type = NV47;
|
||||
si->ps.card_arch = NV40A;
|
||||
si->ps.laptop = true;
|
||||
LOG(4,("POWERUP: Detected Nvidia Geforce 7800 GTX Go PCIe (NV47)\n"));
|
||||
status = nvxx_general_powerup();
|
||||
break;
|
||||
case 0x00a010de: /* Nvidia Aladdin TNT2 */
|
||||
si->ps.card_type = NV05;
|
||||
si->ps.card_arch = NV04A;
|
||||
@@ -1587,6 +1602,8 @@ status_t nv_general_validate_pic_size (display_mode *target, uint32 *bytes_per_r
|
||||
{
|
||||
/* check if we can setup this mode with acceleration */
|
||||
*acc_mode = true;
|
||||
//temporary disabling ACC on NV47:
|
||||
if (si->ps.card_type == NV47) *acc_mode = false;
|
||||
/* virtual_width */
|
||||
if (target->virtual_width > max_acc_width) *acc_mode = false;
|
||||
/* virtual_height */
|
||||
@@ -1619,6 +1636,8 @@ status_t nv_general_validate_pic_size (display_mode *target, uint32 *bytes_per_r
|
||||
{
|
||||
/* check if we can setup this mode with acceleration */
|
||||
*acc_mode = true;
|
||||
//temporary disabling ACC on NV47:
|
||||
if (si->ps.card_type == NV47) *acc_mode = false;
|
||||
/* (we already know virtual_width will be no problem) */
|
||||
/* virtual_height */
|
||||
/* (NV cards can even do more than this(?)...
|
||||
|
||||
Reference in New Issue
Block a user