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:
|
Other authors:
|
||||||
Mark Watson,
|
Mark Watson,
|
||||||
Rudolf Cornelissen 10/2002-2/2005
|
Rudolf Cornelissen 10/2002-10/2005
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MODULE_BIT 0x08000000
|
#define MODULE_BIT 0x08000000
|
||||||
@@ -176,19 +176,34 @@ status_t check_overlay_capability(uint32 feature)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* all supported cards have a bes, but... */
|
/* all supported cards have a bes, but... */
|
||||||
if ((si->ps.card_arch >= NV40A) &&
|
switch (si->ps.card_arch)
|
||||||
(si->ps.card_type != NV40) && (si->ps.card_type != NV45))
|
|
||||||
{
|
{
|
||||||
|
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
|
/* 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. */
|
* GeForce 6800's. Unfortunately we have no info about the new bes yet. */
|
||||||
LOG(4, ("Overlay: Not exporting hook %s.\n", msg));
|
LOG(4, ("Overlay: Not exporting hook %s.\n", msg));
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
break;
|
||||||
{
|
|
||||||
/* all other cards have a supported bes */
|
|
||||||
LOG(4, ("Overlay: Exporting hook %s.\n", msg));
|
|
||||||
return B_OK;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info * adi)
|
|||||||
case NV45:
|
case NV45:
|
||||||
sprintf(adi->chipset, "NV45");
|
sprintf(adi->chipset, "NV45");
|
||||||
break;
|
break;
|
||||||
|
case NV47:
|
||||||
|
sprintf(adi->chipset, "NV47");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
sprintf(adi->chipset, "unknown");
|
sprintf(adi->chipset, "unknown");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -167,6 +167,21 @@ status_t nv_general_powerup()
|
|||||||
LOG(4,("POWERUP: Detected Nvidia Quadro FX 4000/4400 (NV40)\n"));
|
LOG(4,("POWERUP: Detected Nvidia Quadro FX 4000/4400 (NV40)\n"));
|
||||||
status = nvxx_general_powerup();
|
status = nvxx_general_powerup();
|
||||||
break;
|
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 */
|
case 0x00a010de: /* Nvidia Aladdin TNT2 */
|
||||||
si->ps.card_type = NV05;
|
si->ps.card_type = NV05;
|
||||||
si->ps.card_arch = NV04A;
|
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 */
|
/* check if we can setup this mode with acceleration */
|
||||||
*acc_mode = true;
|
*acc_mode = true;
|
||||||
|
//temporary disabling ACC on NV47:
|
||||||
|
if (si->ps.card_type == NV47) *acc_mode = false;
|
||||||
/* virtual_width */
|
/* virtual_width */
|
||||||
if (target->virtual_width > max_acc_width) *acc_mode = false;
|
if (target->virtual_width > max_acc_width) *acc_mode = false;
|
||||||
/* virtual_height */
|
/* 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 */
|
/* check if we can setup this mode with acceleration */
|
||||||
*acc_mode = true;
|
*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) */
|
/* (we already know virtual_width will be no problem) */
|
||||||
/* virtual_height */
|
/* virtual_height */
|
||||||
/* (NV cards can even do more than this(?)...
|
/* (NV cards can even do more than this(?)...
|
||||||
|
|||||||
Reference in New Issue
Block a user