646d14d2d3
Corruption has again been reported on Intel hardware running Xorg with the modesetting driver (which uses OpenGL based acceleration instead of SNA acceleration the intel driver defaults to). Reported in various forms on Sandy Bridge (X220), Ivy Bridge (X230) and Haswell (X240). Confirmed to not occur with the intel driver but the xserver was changed to default to the modesetting driver on >= gen4 hardware (except Ironlake). One means of triggering this is to open a large pdf with xpdf on an idle machine and highlight a section of the document. There have been reports of gpu hangs on gen4 intel hardware (T500 with GM45, X61 with 965GM) when starting Xorg as well.
80 lines
2.6 KiB
Makefile
80 lines
2.6 KiB
Makefile
# $OpenBSD: Makefile.bsd-wrapper,v 1.16 2018/01/08 05:41:20 jsg Exp $
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
SHARED_LIBS= EGL 1.1 gbm 0.2 glapi 0.2 GL 17.1 GLESv1_CM 1.0 GLESv2 1.2 \
|
|
OSMesa 11.0
|
|
|
|
DRI_DRIVERS= swrast
|
|
GALLIUM_DRIVERS= swrast
|
|
|
|
.if ${MACHINE} == i386 || ${MACHINE} == amd64
|
|
DRI_DRIVERS=swrast,radeon,r200,i915,i965
|
|
GALLIUM_DRIVERS=swrast,r300,r600
|
|
.endif
|
|
|
|
.if ${MACHINE} == loongson || ${MACHINE} == macppc || \
|
|
${MACHINE} == sparc64
|
|
DRI_DRIVERS=swrast,radeon,r200
|
|
GALLIUM_DRIVERS=swrast,r300,r600
|
|
.endif
|
|
|
|
CONFIGURE_ARGS= --with-dri-drivers=${DRI_DRIVERS} \
|
|
--with-gallium-drivers=${GALLIUM_DRIVERS} \
|
|
--disable-silent-rules \
|
|
--disable-gallium-llvm \
|
|
--disable-llvm-shared-libs \
|
|
--disable-regen-sources \
|
|
--enable-gles1 --enable-gles2 \
|
|
--enable-shared-glapi \
|
|
--enable-osmesa \
|
|
--enable-gbm \
|
|
--enable-texture-float \
|
|
--with-egl-platforms="x11,drm" \
|
|
--prefix=${X11BASE} \
|
|
--with-dri-driverdir=${X11BASE}/lib/modules/dri \
|
|
--with-dri-searchpath=${X11BASE}/lib/modules/dri
|
|
|
|
# cheat on configure - we don't need pthread-stubs anymore
|
|
CONFIGURE_ARGS+= PTHREADSTUBS_CFLAGS=' ' PTHREADSTUBS_LIBS=' '
|
|
|
|
# The i965 driver uses the cmpxchg8b instruction
|
|
.if ${MACHINE} == i386
|
|
CONFIGURE_ARGS+= USER_CFLAGS="-march=i586" USER_CXXFLAGS="-march=i586"
|
|
.endif
|
|
|
|
# powerpc lacks the __sync_add_and_fetch8 gcc atomic builtin
|
|
# which is used by the shader cache implementation
|
|
.if ${MACHINE_ARCH} == powerpc
|
|
CONFIGURE_ARGS+= --disable-shader-cache
|
|
.endif
|
|
|
|
.if ${MACHINE} == alpha
|
|
# -O2 causes gcc ICE on main/format_pack.c and program/prog_execute.c
|
|
O1= -fdefer-pop -fguess-branch-probability -fcprop-registers \
|
|
-fif-conversion -fif-conversion2 -ftree-ccp -ftree-dce \
|
|
-ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs -ftree-sra \
|
|
-ftree-copyrename -ftree-fre -ftree-ch -funit-at-a-time \
|
|
-fmerge-constants -fomit-frame-pointer
|
|
|
|
O2= ${O1} -fthread-jumps -fcrossjumping -foptimize-sibling-calls \
|
|
-fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm \
|
|
-fexpensive-optimizations -frerun-cse-after-loop \
|
|
-fcaller-saves -fpeephole2 -fschedule-insns -fschedule-insns2 \
|
|
-fsched-interblock -fsched-spec -fregmove \
|
|
-fdelete-null-pointer-checks -freorder-blocks \
|
|
-freorder-functions -falign-functions -falign-jumps -falign-loops \
|
|
-falign-labels -ftree-pre
|
|
|
|
CONFIGURE_ARGS+= USER_CFLAGS="-O0 ${O2}"
|
|
.endif
|
|
|
|
${.OBJDIR}/src/util/format_srgb.c:
|
|
lndir -s -e obj -e obj.${MACHINE_ARCH} -e Makefile.bsd-wrapper ${.CURDIR}
|
|
|
|
.include <bsd.xorg.mk>
|
|
|
|
# XXX needs to come after bsd.xorg.mk, because .if !target(config.status)
|
|
# won't trigger otherwise.
|
|
config.status: ${.OBJDIR}/src/util/format_srgb.c
|