From c29a4a2754cf6231a283642e6c97a570740212ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20M=C3=BCller?= Date: Sat, 15 Jan 2022 03:40:01 +0100 Subject: [PATCH] Fixed building when --disable-present option is used MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since a few years (since 09230a2d), the X server wasn't compileable when --disable-present was passed to the autogen script. This commit aims to fix this by adding directives and conditions around some code introduced in 09230a2d, cef12efc and 16571b89. Signed-off-by: Hans Müller --- hw/xfree86/drivers/modesetting/Makefile.am | 6 +++++- hw/xfree86/drivers/modesetting/drmmode_display.c | 9 +++++++-- os/utils.c | 6 ++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/drivers/modesetting/Makefile.am b/hw/xfree86/drivers/modesetting/Makefile.am index 961c57408..eb5c57276 100644 --- a/hw/xfree86/drivers/modesetting/Makefile.am +++ b/hw/xfree86/drivers/modesetting/Makefile.am @@ -44,6 +44,10 @@ modesetting_drv_la_LDFLAGS = -module -avoid-version modesetting_drv_la_LIBADD = $(UDEV_LIBS) $(DRM_LIBS) modesetting_drv_ladir = @moduledir@/drivers +if PRESENT +present_c=present.c +endif + modesetting_drv_la_SOURCES = \ dri2.c \ driver.c \ @@ -52,7 +56,7 @@ modesetting_drv_la_SOURCES = \ drmmode_display.h \ dumb_bo.c \ dumb_bo.h \ - present.c \ + $(present_c) \ vblank.c \ pageflip.c \ $(NULL) diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c index 48dccad73..be33fb563 100644 --- a/hw/xfree86/drivers/modesetting/drmmode_display.c +++ b/hw/xfree86/drivers/modesetting/drmmode_display.c @@ -49,7 +49,9 @@ #include #include "xf86Crtc.h" #include "drmmode_display.h" +#ifdef PRESENT #include "present.h" +#endif #include @@ -233,8 +235,11 @@ get_drawable_modifiers(DrawablePtr draw, uint32_t format, ScrnInfoPtr scrn = xf86ScreenToScrn(draw->pScreen); modesettingPtr ms = modesettingPTR(scrn); - if (!present_can_window_flip((WindowPtr) draw) || - !ms->drmmode.pageflip || ms->drmmode.dri2_flipping || !scrn->vtSema) { + if (!ms->drmmode.pageflip || ms->drmmode.dri2_flipping || !scrn->vtSema +#ifdef PRESENT + || !present_can_window_flip((WindowPtr) draw) +#endif + ) { *num_modifiers = 0; *modifiers = NULL; return TRUE; diff --git a/os/utils.c b/os/utils.c index c9a8e7367..d68aae7df 100644 --- a/os/utils.c +++ b/os/utils.c @@ -112,7 +112,9 @@ __stdcall unsigned long GetTickCount(void); #include "miinitext.h" +#ifdef PRESENT #include "present.h" +#endif Bool noTestExtensions; @@ -536,7 +538,9 @@ UseMsg(void) ErrorF ("-deferglyphs [none|all|16] defer loading of [no|all|16-bit] glyphs\n"); ErrorF("-f # bell base (0-100)\n"); +#ifdef PRESENT ErrorF("-fakescreenfps # fake screen default fps (1-600)\n"); +#endif ErrorF("-fp string default font path\n"); ErrorF("-help prints message with these options\n"); ErrorF("+iglx Allow creating indirect GLX contexts\n"); @@ -785,6 +789,7 @@ ProcessCommandLine(int argc, char *argv[]) else UseMsg(); } +#ifdef PRESENT else if (strcmp(argv[i], "-fakescreenfps") == 0) { if (++i < argc) { FakeScreenFps = (uint32_t) atoi(argv[i]); @@ -794,6 +799,7 @@ ProcessCommandLine(int argc, char *argv[]) else UseMsg(); } +#endif else if (strcmp(argv[i], "-fp") == 0) { if (++i < argc) { defaultFontPath = argv[i];