On Mon, 29 Mar 2004, Lee Olsen wrote:

> The two line vbeModes.c change fixes VBEFindSupportedDepths reporting 
> zero for depths
> les than 15. The symptom I saw is a 512k card requesting a depth of 16, 
> resulting in "No usable
> modes."

>  diff -bc vbeModes.c*
> *** vbeModes.c    Mon Mar 29 15:24:45 2004
> --- vbeModes.c.orig    Thu Nov  6 10:38:14 2003
> ***************
> *** 54,61 ****
>           depth = 1;
>       }
>       bpp = mode->BitsPerPixel;
> -     if (!depth)
> -         depth = bpp;
>       VBEFreeModeInfo(mode);
>       mode = NULL;
>       switch (depth) {
> --- 54,59 ----
> 
> End of vbeModes.c changes

I take it that that these diffs are backwards - can you do
        diff -bc vbeModes.c.orig vbeModes.c
next time ?

I'm uneasy about this. The lines before are:
        if (VBE_MODE_COLOR(mode)) {
            depth = mode->RedMaskSize + mode->GreenMaskSize +
                    mode->BlueMaskSize;
        } else {
            depth = 1;
        }
        bpp = mode->BitsPerPixel;
        VBEFreeModeInfo(mode);
        mode = NULL;
        switch (depth) {
so your case must have
    VBE_MODE_COLOR(mode)
and
    mode->RedMaskSize + mode->GreenMaskSize + mode->BlueMaskSize == 0
Is this valid ?
Are we missing something else, like a difference between direct and 
indexed colours ?

-- 
Andrew C. Aitchison                                     Cambridge, UK
                        [EMAIL PROTECTED]

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to