Voodoo output now works when only the secondary card has output enabled.
This commit is contained in:
parent
bb64507b7b
commit
b0215f309a
1 changed files with 9 additions and 4 deletions
|
|
@ -6216,7 +6216,10 @@ static void voodoo_writel(uint32_t addr, uint32_t val, void *p)
|
||||||
if (voodoo->initEnable & 0x01)
|
if (voodoo->initEnable & 0x01)
|
||||||
{
|
{
|
||||||
voodoo->fbiInit0 = val;
|
voodoo->fbiInit0 = val;
|
||||||
svga_set_override(voodoo->svga, val & 1);
|
if (voodoo->set->nr_cards == 2)
|
||||||
|
svga_set_override(voodoo->svga, (voodoo->set->voodoos[0]->fbiInit0 | voodoo->set->voodoos[1]->fbiInit0) & 1);
|
||||||
|
else
|
||||||
|
svga_set_override(voodoo->svga, val & 1);
|
||||||
if (val & FBIINIT0_GRAPHICS_RESET)
|
if (val & FBIINIT0_GRAPHICS_RESET)
|
||||||
{
|
{
|
||||||
/*Reset display/draw buffer selection. This may not actually
|
/*Reset display/draw buffer selection. This may not actually
|
||||||
|
|
@ -7203,11 +7206,11 @@ void voodoo_callback(void *p)
|
||||||
voodoo_t *draw_voodoo;
|
voodoo_t *draw_voodoo;
|
||||||
int draw_line;
|
int draw_line;
|
||||||
|
|
||||||
if (voodoo == voodoo->set->voodoos[1])
|
|
||||||
goto skip_draw;
|
|
||||||
|
|
||||||
if (SLI_ENABLED)
|
if (SLI_ENABLED)
|
||||||
{
|
{
|
||||||
|
if (voodoo == voodoo->set->voodoos[1])
|
||||||
|
goto skip_draw;
|
||||||
|
|
||||||
if (((voodoo->initEnable & INITENABLE_SLI_MASTER_SLAVE) ? 1 : 0) == (voodoo->line & 1))
|
if (((voodoo->initEnable & INITENABLE_SLI_MASTER_SLAVE) ? 1 : 0) == (voodoo->line & 1))
|
||||||
draw_voodoo = voodoo;
|
draw_voodoo = voodoo;
|
||||||
else
|
else
|
||||||
|
|
@ -7216,6 +7219,8 @@ void voodoo_callback(void *p)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!(voodoo->fbiInit0 & 1))
|
||||||
|
goto skip_draw;
|
||||||
draw_voodoo = voodoo;
|
draw_voodoo = voodoo;
|
||||||
draw_line = voodoo->line;
|
draw_line = voodoo->line;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue