diff options
-rw-r--r-- | fontconfig/configure.ac | 2 | ||||
-rwxr-xr-x | fontconfig/src/fccache.c | 7 | ||||
-rw-r--r-- | fontconfig/src/fccfg.c | 4 | ||||
-rw-r--r-- | fontconfig/src/fcdefault.c | 28 | ||||
-rw-r--r-- | fontconfig/src/fcfreetype.c | 3 | ||||
-rw-r--r-- | libxcb/autogen.sh | 4 | ||||
-rw-r--r-- | libxcb/xcb-proto/autogen.sh | 4 | ||||
-rw-r--r-- | mesalib/configure.ac | 3 | ||||
-rwxr-xr-x | mesalib/src/mapi/mapi/mapi_abi.py | 2 | ||||
-rw-r--r-- | mesalib/src/mesa/SConscript | 1 | ||||
-rw-r--r-- | mesalib/src/mesa/drivers/common/meta.c | 2 | ||||
-rw-r--r-- | mesalib/src/mesa/main/formatquery.c | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_blit.c | 90 | ||||
-rw-r--r-- | xkbcomp/autogen.sh | 5 | ||||
-rw-r--r-- | xkbcomp/configure.ac | 1 |
15 files changed, 102 insertions, 57 deletions
diff --git a/fontconfig/configure.ac b/fontconfig/configure.ac index a520ae70d..e8ee55916 100644 --- a/fontconfig/configure.ac +++ b/fontconfig/configure.ac @@ -141,7 +141,7 @@ AC_TYPE_PID_T # Checks for library functions. AC_FUNC_VPRINTF AC_FUNC_MMAP -AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp mkostemp _mktemp_s strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror readlink regexec regfree fstatvfs fstatfs lstat]) +AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s getopt getopt_long getprogname rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs lstat]) dnl AC_CHECK_FUNCS doesn't check for header files. dnl posix_fadvise() may be not available in older libc. diff --git a/fontconfig/src/fccache.c b/fontconfig/src/fccache.c index c37cbe148..d894fc2b6 100755 --- a/fontconfig/src/fccache.c +++ b/fontconfig/src/fccache.c @@ -449,6 +449,9 @@ FcCacheFindByAddrUnlocked (void *object) FcCacheSkip **next = fcCacheChains; FcCacheSkip *s; + if (!object) + return NULL; + /* * Walk chain pointers one level at a time */ @@ -556,7 +559,7 @@ FcCacheObjectDereference (void *object) skip = FcCacheFindByAddrUnlocked (object); if (skip) { - if (FcRefDec (&skip->ref) <= 1) + if (FcRefDec (&skip->ref) == 1) FcDirCacheDisposeUnlocked (skip->cache); } unlock_cache (); @@ -1109,6 +1112,7 @@ FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose) cache_dir, ent->d_name, target_dir); remove = FcTrue; } + FcDirCacheUnload (cache); } if (remove) { @@ -1118,7 +1122,6 @@ FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose) ret = FcFalse; } } - FcDirCacheUnload (cache); FcStrFree (file_name); } diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c index 3e9fdaba4..12d7e1a97 100644 --- a/fontconfig/src/fccfg.c +++ b/fontconfig/src/fccfg.c @@ -337,8 +337,8 @@ FcConfigAddCache (FcConfig *config, FcCache *cache, if (!FcConfigAcceptFont (config, font)) continue; - nref++; - FcFontSetAdd (config->fonts[set], font); + if (FcFontSetAdd (config->fonts[set], font)) + nref++; } FcDirCacheReference (cache, nref); } diff --git a/fontconfig/src/fcdefault.c b/fontconfig/src/fcdefault.c index aa47840d1..b1bd9cc1f 100644 --- a/fontconfig/src/fcdefault.c +++ b/fontconfig/src/fcdefault.c @@ -23,6 +23,7 @@ */ #include "fcint.h" +#include <limits.h> #include <string.h> /* MT-safe */ @@ -139,27 +140,38 @@ retry: prgname = FcStrdup (p); } +#elif defined (HAVE_GETPROGNAME) + const char *q = getprogname (); + if (q) + prgname = FcStrdup (q); + else + prgname = FcStrdup (""); #else - char buf[8192]; + char buf[PATH_MAX + 1]; unsigned int len; + char *p = NULL; len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1); if (len > 0) { - char *p; + buf[len] = '\0'; + p = buf; + } - p = strrchr (buf, '/'); - if (p) - p++; + if (p) + { + char *r = strrchr (p, '/'); + if (r) + r++; else - p = buf; + r = p; - prgname = FcStrdup (p); + prgname = FcStrdup (r); } -#endif if (!prgname) prgname = FcStrdup (""); +#endif if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) { free (prgname); diff --git a/fontconfig/src/fcfreetype.c b/fontconfig/src/fcfreetype.c index e88c37770..cb502438f 100644 --- a/fontconfig/src/fcfreetype.c +++ b/fontconfig/src/fcfreetype.c @@ -1706,7 +1706,8 @@ FcFreeTypeQueryFace (const FT_Face face, { const char *font_format = FT_Get_X11_Font_Format (face); if (font_format) - FcPatternAddString (pat, FC_FONTFORMAT, (FcChar8 *) font_format); + if (!FcPatternAddString (pat, FC_FONTFORMAT, (FcChar8 *) font_format)) + goto bail2; } #endif diff --git a/libxcb/autogen.sh b/libxcb/autogen.sh index 904cd6746..fc34bd55c 100644 --- a/libxcb/autogen.sh +++ b/libxcb/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/libxcb/xcb-proto/autogen.sh b/libxcb/xcb-proto/autogen.sh index 904cd6746..fc34bd55c 100644 --- a/libxcb/xcb-proto/autogen.sh +++ b/libxcb/xcb-proto/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 2d74b825d..99a08fd06 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -739,7 +739,6 @@ AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes) dnl dnl Driver specific build directories dnl -SRC_DIRS="gtest" GALLIUM_DIRS="auxiliary drivers state_trackers" GALLIUM_TARGET_DIRS="" GALLIUM_WINSYS_DIRS="sw" @@ -764,7 +763,7 @@ fi # build glsl and mesa if OpenGL or OpenGL ES is enabled case "x$enable_opengl$enable_gles1$enable_gles2" in x*yes*) - CORE_DIRS="mapi/glapi/gen $CORE_DIRS glsl mesa" + CORE_DIRS="mapi/glapi/gen $CORE_DIRS gtest glsl mesa" ;; esac diff --git a/mesalib/src/mapi/mapi/mapi_abi.py b/mesalib/src/mapi/mapi/mapi_abi.py index 30ffe7bc2..c645c02f9 100755 --- a/mesalib/src/mapi/mapi/mapi_abi.py +++ b/mesalib/src/mapi/mapi/mapi_abi.py @@ -29,7 +29,7 @@ import sys # make it possible to import glapi import os -GLAPI = "./%s/../glapi/gen" % (os.path.dirname(sys.argv[0])) +GLAPI = os.path.join(".", os.path.dirname(sys.argv[0]), "../glapi/gen") sys.path.append(GLAPI) import re diff --git a/mesalib/src/mesa/SConscript b/mesalib/src/mesa/SConscript index a28db23e4..e03d6a6a3 100644 --- a/mesalib/src/mesa/SConscript +++ b/mesalib/src/mesa/SConscript @@ -74,6 +74,7 @@ main_sources = [ 'main/ff_fragment_shader.cpp', 'main/ffvertex_prog.c', 'main/fog.c', + 'main/formatquery.c', 'main/formats.c', 'main/format_pack.c', 'main/format_unpack.c', diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c index e25481e1a..4e32b5066 100644 --- a/mesalib/src/mesa/drivers/common/meta.c +++ b/mesalib/src/mesa/drivers/common/meta.c @@ -4126,7 +4126,7 @@ _mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, const GLfloat x1 = x + width; const GLfloat y1 = y + height; - z = CLAMP(z, 0.0, 1.0); + z = CLAMP(z, 0.0f, 1.0f); z = invert_z(z); verts[0].x = x; diff --git a/mesalib/src/mesa/main/formatquery.c b/mesalib/src/mesa/main/formatquery.c index f08ab66f0..bd895e874 100644 --- a/mesalib/src/mesa/main/formatquery.c +++ b/mesalib/src/mesa/main/formatquery.c @@ -22,6 +22,7 @@ */ #include "mtypes.h" +#include "context.h" #include "glformats.h" #include "macros.h" #include "mfeatures.h" @@ -37,6 +38,8 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei count = 0; GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!ctx->Extensions.ARB_internalformat_query) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetInternalformativ"); return; diff --git a/mesalib/src/mesa/state_tracker/st_cb_blit.c b/mesalib/src/mesa/state_tracker/st_cb_blit.c index 603c8d4b4..ddef2707a 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_blit.c +++ b/mesalib/src/mesa/state_tracker/st_cb_blit.c @@ -184,48 +184,70 @@ st_BlitFramebuffer(struct gl_context *ctx, blit.mask = PIPE_MASK_RGBA; if (srcAtt->Type == GL_TEXTURE) { - struct st_texture_object *srcObj = - st_texture_object(srcAtt->Texture); - struct st_renderbuffer *dstRb = - st_renderbuffer(drawFB->_ColorDrawBuffers[0]); - struct pipe_surface *dstSurf = dstRb->surface; - - assert(srcObj->pt); - if (!srcObj->pt) { + struct st_texture_object *srcObj = st_texture_object(srcAtt->Texture); + GLuint i; + + if (!srcObj || !srcObj->pt) { return; } - blit.dst.resource = dstSurf->texture; - blit.dst.level = dstSurf->u.tex.level; - blit.dst.box.z = dstSurf->u.tex.first_layer; - blit.dst.format = util_format_linear(dstSurf->format); + for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { + struct st_renderbuffer *dstRb = + st_renderbuffer(drawFB->_ColorDrawBuffers[i]); - blit.src.resource = srcObj->pt; - blit.src.level = srcAtt->TextureLevel; - blit.src.box.z = srcAtt->Zoffset + srcAtt->CubeMapFace; - blit.src.format = util_format_linear(srcObj->pt->format); + if (dstRb) { + struct pipe_surface *dstSurf = dstRb->surface; - st->pipe->blit(st->pipe, &blit); + if (dstSurf) { + blit.dst.resource = dstSurf->texture; + blit.dst.level = dstSurf->u.tex.level; + blit.dst.box.z = dstSurf->u.tex.first_layer; + blit.dst.format = util_format_linear(dstSurf->format); + + blit.src.resource = srcObj->pt; + blit.src.level = srcAtt->TextureLevel; + blit.src.box.z = srcAtt->Zoffset + srcAtt->CubeMapFace; + blit.src.format = util_format_linear(srcObj->pt->format); + + st->pipe->blit(st->pipe, &blit); + } + } + } } else { struct st_renderbuffer *srcRb = st_renderbuffer(readFB->_ColorReadBuffer); - struct st_renderbuffer *dstRb = - st_renderbuffer(drawFB->_ColorDrawBuffers[0]); - struct pipe_surface *srcSurf = srcRb->surface; - struct pipe_surface *dstSurf = dstRb->surface; + struct pipe_surface *srcSurf; + GLuint i; - blit.dst.resource = dstSurf->texture; - blit.dst.level = dstSurf->u.tex.level; - blit.dst.box.z = dstSurf->u.tex.first_layer; - blit.dst.format = util_format_linear(dstSurf->format); + if (!srcRb || !srcRb->surface) { + return; + } - blit.src.resource = srcSurf->texture; - blit.src.level = srcSurf->u.tex.level; - blit.src.box.z = srcSurf->u.tex.first_layer; - blit.src.format = util_format_linear(srcSurf->format); + srcSurf = srcRb->surface; - st->pipe->blit(st->pipe, &blit); + for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { + struct st_renderbuffer *dstRb = + st_renderbuffer(drawFB->_ColorDrawBuffers[i]); + + if (dstRb) { + struct pipe_surface *dstSurf = dstRb->surface; + + if (dstSurf) { + blit.dst.resource = dstSurf->texture; + blit.dst.level = dstSurf->u.tex.level; + blit.dst.box.z = dstSurf->u.tex.first_layer; + blit.dst.format = util_format_linear(dstSurf->format); + + blit.src.resource = srcSurf->texture; + blit.src.level = srcSurf->u.tex.level; + blit.src.box.z = srcSurf->u.tex.first_layer; + blit.src.format = util_format_linear(srcSurf->format); + + st->pipe->blit(st->pipe, &blit); + } + } + } } } @@ -243,16 +265,16 @@ st_BlitFramebuffer(struct gl_context *ctx, &drawFB->Attachment[BUFFER_STENCIL]; struct st_renderbuffer *srcDepthRb = - st_renderbuffer(readFB->Attachment[BUFFER_DEPTH].Renderbuffer); + st_renderbuffer(srcDepth->Renderbuffer); struct st_renderbuffer *dstDepthRb = - st_renderbuffer(drawFB->Attachment[BUFFER_DEPTH].Renderbuffer); + st_renderbuffer(dstDepth->Renderbuffer); struct pipe_surface *dstDepthSurf = dstDepthRb ? dstDepthRb->surface : NULL; struct st_renderbuffer *srcStencilRb = - st_renderbuffer(readFB->Attachment[BUFFER_STENCIL].Renderbuffer); + st_renderbuffer(srcStencil->Renderbuffer); struct st_renderbuffer *dstStencilRb = - st_renderbuffer(drawFB->Attachment[BUFFER_STENCIL].Renderbuffer); + st_renderbuffer(dstStencil->Renderbuffer); struct pipe_surface *dstStencilSurf = dstStencilRb ? dstStencilRb->surface : NULL; diff --git a/xkbcomp/autogen.sh b/xkbcomp/autogen.sh index e81f98910..fc34bd55c 100644 --- a/xkbcomp/autogen.sh +++ b/xkbcomp/autogen.sh @@ -9,5 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" - +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/xkbcomp/configure.ac b/xkbcomp/configure.ac index f9175b649..81ec27b2f 100644 --- a/xkbcomp/configure.ac +++ b/xkbcomp/configure.ac @@ -24,7 +24,6 @@ AC_PREREQ([2.60]) AC_INIT([xkbcomp], [1.2.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xkbcomp]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS m4_ifndef([XORG_MACROS_VERSION], |