tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Xorg for amiga, need help



Robert Swindells wrote:

On 19.09.15 22:09:48 you wrote:

> Frank Wille wrote:
>>[...] How do I write replacement code for:
>>  pScreen->devPrivates[cfb32ScreenPrivateIndex].ptr =
>>  pScreen->devPrivate;
>
> One answer to your question is to just delete that line, cfb doesn't
> exist any more,

Yes, I understand that all cfb- and mfb-calls have to be replaced. But
removed?


> that probably doesn't help much though.

I'm not sure if I can simply delete this line. In the init-function of
hw/netbsd/amiga/s3/amigaCVscrin.c it looks like this:

---8<---
    if (rootdepth != 8)
        oldDevPrivate = pScreen->devPrivate; 
    if (!miScreenInit(pScreen, amigaFbs[screen].fb,
                                  amigaFbs[screen].info.gd_fbwidth,   
                                  amigaFbs[screen].info.gd_fbheight,
                                  monitorResolution, monitorResolution,
                                  amigaFbs[screen].info.gd_fbwidth,
                                  rootdepth, ndepths, depths, 
                  defaultVisual, nvisuals, visuals))
/*
                  ,(miBSFuncPtr) 0))   
*/
    return (FALSE);

    if (rootdepth > 16) {
    pScreen->CloseScreen = cfb32CloseScreen;
        pScreen->CreateScreenResources = cfb32CreateScreenResources;
        pScreen->devPrivates[cfb32ScreenPrivateIndex].ptr =
pScreen->devPrivate;
        pScreen->devPrivate = oldDevPrivate;
    }
    else if (rootdepth > 8) {
    pScreen->CloseScreen = cfb16CloseScreen;
        pScreen->CreateScreenResources = cfb16CreateScreenResources;
        pScreen->devPrivates[cfb16ScreenPrivateIndex].ptr =
pScreen->devPrivate;
        pScreen->devPrivate = oldDevPrivate;
    }    
    else { 
    pScreen->CloseScreen = cfbCloseScreen;
    }
---8<---

So it seems important to select the correct cfbNScreenResources and
cfbNScreenPrivateIndex depending on the screen depth.

I have seen there is now miCreateScreenResources() in Xorg. But I don't know
if it automatically handles the Screen-Private entry.


> Are you using a new style driver as a template and adding amiga
> acceleration code to it or trying to keep most of the old driver ?

I copied the old X11R6 Xamiga server code and try to adapt it, like Izumi
Tsutsui did with X68k.

This is the only way to go, because we had very nice, hardware-accelerated,
drivers for all important Amiga graphics cards.

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index