Hi, (gdb) bt #0 PictureMatchVisual (pScreen=0x2aa0038dd10, depth=24, pVisual=0x2aa00434610) at ../render/picture.c:501 #1 0x000002aa001491e2 in PictureWindowFormat (pWindow=0x2aa00772520) at ../render/picture.c:62 #2 0x000002aa0010f490 in compNewPixmap (pWin=0x2aa00772520, x=3, y=37, w=1274, h=984) at ../composite/compalloc.c:576 #3 0x000002aa0010f6f4 in compAllocPixmap (pWin=0x2aa00772520) at ../composite/compalloc.c:617 #4 0x000002aa0010b2d2 in compCheckRedirect (pWin=0x2aa00772520) at ../composite/compwindow.c:174 #5 0x000002aa0010b7ee in compRealizeWindow (pWin=0x2aa00772520) at ../composite/compwindow.c:274 #6 0x000002aa000ff074 in RealizeTree (pWin=0x2aa00798df0) at ../dix/window.c:2606 #7 0x000002aa000ff438 in MapWindow (pWin=0x2aa00798df0, client=0x2aa00386600) at ../dix/window.c:2683 #8 0x000002aa00098116 in ProcMapWindow (client=0x2aa00386600) at ../dix/dispatch.c:915 #9 0x000002aa00096ca0 in Dispatch () at ../dix/dispatch.c:553 #10 0x000002aa000aa016 in dix_main (argc=2, argv=0x3ffffff82c8, envp=0x3ffffff82e0) at ../dix/main.c:274 #11 0x000002aa00032aa0 in main (argc=2, argv=0x3ffffff82c8, envp=0x3ffffff82e0) at ../dix/stubmain.c:34
In this backtrace when the execution is at PictureMatchVisual, the visuals in pScreen (pScreen->visuals) is loaded from miInitVisuals (whereas the red, blue and green masks which is getting set in this function is getting set through the miSetVisualTypesAndMasks). As for pVisual, which is fetched through the WindowGetVisual function which in turn loops through configs loaded from mesa (are actually taken from pGlxScreen->fbconfigs which are filled up in __glXDRIscreenProbe which is eventually received from the drilIndexConfigAttrib API) After spending some time reading u_format_table.c, u_format.h and dril_target.c fbconfigs loaded from the mesa library(using drilIndexConfigAttrib) looks very much fine. From what I read and understood, this part seems wrong. And in that case, from what I can understand, miSetVisualTypesAndMasks should not be setting hard coded values (which could be different for big endian machines). I am pretty new to the code base as well as to the entire concept of graphics. These are the things that I understood by going through the code and running the debugger a few times. I am kind of stuck in this and some feedback will be of immense value. Thanks, Pranav

