Commits on Source (2)
-
Chris Wilson authored
Mike Lothian ran into a surprising situation where compScreenUpdate was calling CompositePicture without a pixmap attached to the destination Window, and so we found ourselves chasing a NULL PixmapPtr. #1 to_sna_from_pixmap (pixmap=0x0) at sna.h:521 #2 sna_composite (op=<optimized out>, src=0x55b3346c1420, mask=0x0, dst=0x55b3346c1d50, src_x=<optimized out>, src_y=<optimized out>, mask_x=0, mask_y=0, dst_x=0, dst_y=0, width=3840, height=2160) at sna_composite.c:652 #3 0x000055b33202c208 in damageComposite (op=<optimized out>, pSrc=0x55b3346c1420, pMask=0x0, pDst=0x55b3346c1d50, xSrc=<optimized out>, ySrc=<optimized out>, xMask=0, yMask=0, xDst=0, yDst=0, width=3840, height=2160) at damage.c:513 #4 0x000055b33201820c in CompositePicture (op=<optimized out>, op@entry=1 '\001', pSrc=pSrc@entry=0x55b3346c1420, pMask=pMask@entry=0x0, pDst=pDst@entry=0x55b3346c1d50, xSrc=xSrc@entry=0, ySrc=ySrc@entry=0, xMask=0, yMask=0, xDst=0, yDst=0, width=3840, height=2160) at picture.c:1547 #5 0x000055b331fc85d3 in compWindowUpdateAutomatic ( pWin=pWin@entry=0x55b3343a6bc0) at compwindow.c:705 #6 0x000055b331fca029 in compPaintWindowToParent (pWin=pWin@entry=0x55b3343a6bc0) at compwindow.c:729 #7 0x000055b331fc9fbb in compPaintChildrenToWindow (pWin=0x55b333e77b50) at compwindow.c:744 #8 0x000055b331fca59f in compScreenUpdate (pClient=<optimized out>, closure=<optimized out>) at compalloc.c:57 #9 0x000055b331f3abf4 in ProcessWorkQueue () at dixutils.c:536 #10 0x000055b3320aaa51 in WaitForSomething (are_ready=<optimized out>) at WaitFor.c:192 #11 0x000055b331f361a9 in Dispatch () at dispatch.c:421 #12 0x000055b331f39cec in dix_main (argc=13, argv=0x7ffcf273f538, envp=<optimized out>) at main.c:276 #13 0x000055b331f247de in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at stubmain.c:34 Fortuitously, that drawable was also fully clipped so that it took an early exit and so we can hide the segfault by delaying querying the pixmap until after the clip check. The ongoing mystery is how we ended up in that state in the first place. Closes: #204 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Chris Wilson authored
When there is ample memory bandwidth and we are not fighting for global resources, enable TearFree by default. Avoiding tearing is much more pleasant (for direct rendering where the source itself is not being synchronized to vblank) at negligible power cost; just doubles the memory footprint of scanout. References: https://gitlab.freedesktop.org/drm/intel/-/issues/2799 References: https://gitlab.freedesktop.org/drm/intel/-/issues/2763 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>