diff options
Diffstat (limited to 'mesalib')
-rw-r--r-- | mesalib/configure.ac | 50 | ||||
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_framebuffer.c | 3 | ||||
-rw-r--r-- | mesalib/src/glsl/opt_cse.cpp | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | mesalib/src/mesa/drivers/dri/swrast/swrast.c | 4 |
4 files changed, 40 insertions, 19 deletions
diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 8fb5e0d8b..e4a728490 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -536,6 +536,11 @@ AC_ARG_ENABLE([dri], [enable DRI modules @<:@default=enabled@:>@])], [enable_dri="$enableval"], [enable_dri=yes]) +AC_ARG_ENABLE([dri3], + [AS_HELP_STRING([--enable-dri3], + [enable DRI3 @<:@default=enabled@:>@])], + [enable_dri3="$enableval"], + [enable_dri3=yes]) AC_ARG_ENABLE([glx], [AS_HELP_STRING([--enable-glx], [enable GLX library @<:@default=enabled@:>@])], @@ -702,6 +707,7 @@ fi AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \ "x$enable_dri" = xyes) AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes) +AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes) AC_ARG_ENABLE([shared-glapi], [AS_HELP_STRING([--enable-shared-glapi], @@ -756,6 +762,9 @@ AC_SUBST([MESA_LLVM]) PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED], [have_libdrm=yes], [have_libdrm=no]) +PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED], + have_libudev=yes, have_libudev=no) + if test "x$enable_dri" = xyes; then # DRI must be shared, I think if test "$enable_static" = yes; then @@ -811,13 +820,21 @@ xyesno) fi PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED" - PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED]) - PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED]) - PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED]) + if test x"$enable_dri3" = xyes; then + if test x"$have_libudev" != xyes; then + AC_MSG_ERROR([DRI3 requires libudev >= $LIBUDEV_REQUIRED]) + fi + PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED]) + PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED]) + fi fi # find the DRI deps for libGL - dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8 xcb-dri3 xcb-present xcb-sync xshmfence" + dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8" + + if test x"$enable_dri3" = xyes; then + dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence" + fi # add xf86vidmode if available PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no) @@ -827,8 +844,13 @@ xyesno) PKG_CHECK_MODULES([DRIGL], [$dri_modules]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" - X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS $LIBUDEV_CFLAGS" - GL_LIB_DEPS="$DRIGL_LIBS $LIBUDEV_LIBS" + X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS" + GL_LIB_DEPS="$DRIGL_LIBS" + + if test x"$enable_dri3$have_libudev" = xyesyes; then + X11_INCLUDES="$X11_INCLUDES $LIBUDEV_CFLAGS" + GL_LIB_DEPS="$GL_LIB_DEPS $LIBUDEV_LIBS" + fi # need DRM libs, $PTHREAD_LIBS, etc. GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" @@ -947,6 +969,9 @@ if test "x$enable_dri" = xyes; then linux*) DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1" DEFINES="$DEFINES -DHAVE_ALIAS" + if test "x$enable_dri3" = xyes; then + DEFINES="$DEFINES -DHAVE_DRI3" + fi case "$host_cpu" in x86_64|amd64) @@ -1142,8 +1167,9 @@ if test "x$enable_gbm" = xauto; then esac fi if test "x$enable_gbm" = xyes; then - PKG_CHECK_MODULES([LIBUDEV], [libudev], [], - AC_MSG_ERROR([gbm needs udev])) + if test x"$have_libudev" != xyes; then + AC_MSG_ERROR([gbm needs udev]) + fi if test "x$enable_dri" = xyes; then GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri" @@ -1170,8 +1196,6 @@ if test "x$enable_egl" = xyes; then if test "$enable_static" != yes; then # build egl_glx when libGL is built - PKG_CHECK_MODULES([LIBUDEV], [libudev > 150], - [have_libudev=yes],[have_libudev=no]) if test "$have_libudev" = yes; then DEFINES="$DEFINES -DHAVE_LIBUDEV" fi @@ -1500,12 +1524,6 @@ AC_ARG_WITH([llvm-shared-libs], [link with LLVM shared libraries @<:@default=disabled@:>@])], [], [with_llvm_shared_libs=no]) -AS_IF([test x$enable_opencl = xyes], - [ - if test "x$with_llvm_shared_libs" != xyes; then - AC_MSG_ERROR([OpenCL requires LLVM shared libraries]) - fi - ]) AC_ARG_WITH([llvm-prefix], [AS_HELP_STRING([--with-llvm-prefix], diff --git a/mesalib/src/gallium/auxiliary/util/u_framebuffer.c b/mesalib/src/gallium/auxiliary/util/u_framebuffer.c index 7803ec6a8..f84485d1f 100644 --- a/mesalib/src/gallium/auxiliary/util/u_framebuffer.c +++ b/mesalib/src/gallium/auxiliary/util/u_framebuffer.c @@ -88,7 +88,8 @@ util_copy_framebuffer_state(struct pipe_framebuffer_state *dst, for (i = 0; i < src->nr_cbufs; i++) pipe_surface_reference(&dst->cbufs[i], src->cbufs[i]); - for (i = src->nr_cbufs; i < dst->nr_cbufs; i++) + /* Set remaining dest cbuf pointers to NULL */ + for ( ; i < Elements(dst->cbufs); i++) pipe_surface_reference(&dst->cbufs[i], NULL); dst->nr_cbufs = src->nr_cbufs; diff --git a/mesalib/src/glsl/opt_cse.cpp b/mesalib/src/glsl/opt_cse.cpp index c0fdb23e6..c53b4c6e7 100644 --- a/mesalib/src/glsl/opt_cse.cpp +++ b/mesalib/src/glsl/opt_cse.cpp @@ -352,6 +352,7 @@ equals(ir_texture *a, ir_texture *b) if (!equals(a->lod_info.grad.dPdx, b->lod_info.grad.dPdx) || !equals(a->lod_info.grad.dPdy, b->lod_info.grad.dPdy)) return false; + break; case ir_txf_ms: if (!equals(a->lod_info.sample_index, b->lod_info.sample_index)) return false; @@ -359,6 +360,7 @@ equals(ir_texture *a, ir_texture *b) case ir_tg4: if (!equals(a->lod_info.component, b->lod_info.component)) return false; + break; default: assert(!"Unrecognized texture op"); } diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast.c b/mesalib/src/mesa/drivers/dri/swrast/swrast.c index f6570a5df..136a76fd9 100644..100755 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast.c +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast.c @@ -669,7 +669,7 @@ dri_create_context(gl_api api, unsigned major_version, unsigned minor_version, uint32_t flags, - bool notify_reset, + bool notify_reset, unsigned *error, void *sharedContextPrivate) { @@ -836,7 +836,7 @@ static const struct __DriverAPIRec swrast_driver_api = { /*.SwapBuffers = */dri_swap_buffers, /*.MakeCurrent = */dri_make_current, /*.UnbindContext = */dri_unbind_context, - /*.AllocateBuffer = */NULL, + /*.AllocateBuffer = */NULL, /*.ReleaseBuffer = */NULL }; |