aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fontconfig/src/fccfg.c2
-rw-r--r--fontconfig/src/fcmatch.c5
-rw-r--r--libX11/configure.ac2
-rw-r--r--libX11/include/X11/Xlibint.h19
-rw-r--r--libX11/man/XrmEnumerateDatabase.man2
-rw-r--r--libX11/man/XrmGetFileDatabase.man2
-rw-r--r--libX11/man/XrmGetResource.man2
-rw-r--r--libX11/man/XrmInitialize.man2
-rw-r--r--libX11/man/XrmMergeDatabases.man2
-rw-r--r--libX11/man/XrmPutResource.man2
-rw-r--r--libX11/man/XrmUniqueQuark.man2
-rw-r--r--libX11/nls/Makefile.am4
-rw-r--r--libX11/nls/en_US.UTF-8/Compose.pre52
-rw-r--r--libX11/nls/pt_BR.UTF-8/Compose.pre52
-rw-r--r--libX11/src/GetFProp.c27
-rw-r--r--libX11/src/PropAlloc.c7
-rw-r--r--libX11/src/udcInf.c8
-rw-r--r--mesalib/configure.ac55
-rw-r--r--mesalib/docs/viewperf.html29
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_cpu_detect.c2
-rw-r--r--mesalib/src/mapi/glapi/gen/Makefile.am14
-rw-r--r--mesalib/src/mesa/main/get.c12
-rw-r--r--mesalib/src/mesa/main/glformats.c2
-rw-r--r--mesalib/src/mesa/main/samplerobj.c12
-rw-r--r--mesalib/src/mesa/main/samplerobj.h2
-rw-r--r--mesalib/src/mesa/main/teximage.c2
-rw-r--r--mesalib/src/mesa/vbo/vbo_save_draw.c2
-rw-r--r--pixman/pixman/pixman-mmx.c2
-rw-r--r--xorg-server/fb/wfbrename.h1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.o_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in6
-rw-r--r--xorg-server/xkeyboard-config/symbols/altwin8
-rw-r--r--xorg-server/xkeyboard-config/symbols/cm6
33 files changed, 218 insertions, 130 deletions
diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c
index b762376ae..7da50b50f 100644
--- a/fontconfig/src/fccfg.c
+++ b/fontconfig/src/fccfg.c
@@ -429,7 +429,7 @@ retry:
if (config == cfg)
return FcTrue;
- if (!config->fonts[FcSetSystem])
+ if (config && !config->fonts[FcSetSystem])
if (!FcConfigBuildFonts (config))
return FcFalse;
diff --git a/fontconfig/src/fcmatch.c b/fontconfig/src/fcmatch.c
index 23f985a6c..7993b81de 100644
--- a/fontconfig/src/fcmatch.c
+++ b/fontconfig/src/fcmatch.c
@@ -532,7 +532,10 @@ FcFontRenderPrepare (FcConfig *config,
{
pe = &FcPatternElts(pat)[i];
fe = FcPatternObjectFindElt (font, pe->object);
- if (!fe)
+ if (!fe &&
+ pe->object != FC_FAMILYLANG_OBJECT &&
+ pe->object != FC_STYLELANG_OBJECT &&
+ pe->object != FC_FULLNAMELANG_OBJECT)
{
FcPatternObjectListAdd (new, pe->object,
FcValueListDuplicate (FcPatternEltValues(pe)),
diff --git a/libX11/configure.ac b/libX11/configure.ac
index 4d7d411ae..7734219f4 100644
--- a/libX11/configure.ac
+++ b/libX11/configure.ac
@@ -1,7 +1,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([libX11], [1.5.0],
+AC_INIT([libX11], [1.5.99.901],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libX11])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h])
diff --git a/libX11/include/X11/Xlibint.h b/libX11/include/X11/Xlibint.h
index 40965c449..06395b32e 100644
--- a/libX11/include/X11/Xlibint.h
+++ b/libX11/include/X11/Xlibint.h
@@ -486,6 +486,14 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len);
req = (xReq *) _XGetRequest(dpy, X_/**/name, SIZEOF(xReq))
#endif
+/*
+ * MakeBigReq sets the CARD16 "req->length" to 0 and inserts a new CARD32
+ * length, after req->length, before the data in the request. The new length
+ * includes the "n" extra 32-bit words.
+ *
+ * Do not use MakeBigReq if there is no data already in the request.
+ * req->length must already be >= 2.
+ */
#ifdef LONG64
#define MakeBigReq(req,n) \
{ \
@@ -493,7 +501,7 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len);
CARD32 _BRlen = req->length - 1; \
req->length = 0; \
_BRdat = ((CARD32 *)req)[_BRlen]; \
- memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \
((CARD32 *)req)[1] = _BRlen + n + 2; \
Data32(dpy, &_BRdat, 4); \
}
@@ -504,12 +512,19 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len);
CARD32 _BRlen = req->length - 1; \
req->length = 0; \
_BRdat = ((CARD32 *)req)[_BRlen]; \
- memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \
((CARD32 *)req)[1] = _BRlen + n + 2; \
Data32(dpy, &_BRdat, 4); \
}
#endif
+/*
+ * SetReqLen increases the count of 32-bit words in the request by "n",
+ * or by "badlen" if "n" is too large.
+ *
+ * Do not use SetReqLen if "req" does not already have data after the
+ * xReq header. req->length must already be >= 2.
+ */
#ifndef __clang_analyzer__
#define SetReqLen(req,n,badlen) \
if ((req->length + n) > (unsigned)65535) { \
diff --git a/libX11/man/XrmEnumerateDatabase.man b/libX11/man/XrmEnumerateDatabase.man
index 843100635..03c0f30e2 100644
--- a/libX11/man/XrmEnumerateDatabase.man
+++ b/libX11/man/XrmEnumerateDatabase.man
@@ -84,6 +84,8 @@
.SH NAME
XrmEnumerateDatabase \- enumerate resource database entries
.SH SYNTAX
+.HP
+#include <X11/Xresource.h>
.TS
lw(.5i) lw(2i) lw(2.5i).
T{
diff --git a/libX11/man/XrmGetFileDatabase.man b/libX11/man/XrmGetFileDatabase.man
index 3a8a6fa82..71ddd9f10 100644
--- a/libX11/man/XrmGetFileDatabase.man
+++ b/libX11/man/XrmGetFileDatabase.man
@@ -93,6 +93,8 @@
XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmGetDatabase, XrmSetDatabase, XrmDestroyDatabase \- retrieve and store resource databases
.SH SYNTAX
.HP
+#include <X11/Xresource.h>
+.HP
XrmDatabase XrmGetFileDatabase\^(\^char *\fIfilename\fP\^);
.HP
void XrmPutFileDatabase\^(\^XrmDatabase \fIdatabase\fP\^, char
diff --git a/libX11/man/XrmGetResource.man b/libX11/man/XrmGetResource.man
index 76ca9218c..ef2cf9ada 100644
--- a/libX11/man/XrmGetResource.man
+++ b/libX11/man/XrmGetResource.man
@@ -85,6 +85,8 @@
XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource \- retrieve database resources and search lists
.SH SYNTAX
.HP
+#include <X11/Xresource.h>
+.HP
Bool XrmGetResource\^(\^XrmDatabase \fIdatabase\fP\^, char *\fIstr_name\fP\^,
char *\fIstr_class\fP\^, char **\fIstr_type_return\fP\^, XrmValue
*\fIvalue_return\fP\^);
diff --git a/libX11/man/XrmInitialize.man b/libX11/man/XrmInitialize.man
index b8b549db6..3b3ddd78b 100644
--- a/libX11/man/XrmInitialize.man
+++ b/libX11/man/XrmInitialize.man
@@ -83,6 +83,8 @@
XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec \- initialize the Resource Manager, Resource Manager structures, and parse the command line
.SH SYNTAX
.HP
+#include <X11/Xresource.h>
+.HP
void XrmInitialize\^(void\^);
.HP
void XrmParseCommand\^(\^XrmDatabase *\fIdatabase\fP\^, XrmOptionDescList
diff --git a/libX11/man/XrmMergeDatabases.man b/libX11/man/XrmMergeDatabases.man
index 57a6578ec..41b27bb63 100644
--- a/libX11/man/XrmMergeDatabases.man
+++ b/libX11/man/XrmMergeDatabases.man
@@ -83,6 +83,8 @@
XrmMergeDatabases, XrmCombineDatabase, XrmCombineFileDatabase \- merge resource databases
.SH SYNTAX
.HP
+#include <X11/Xresource.h>
+.HP
void XrmMergeDatabases(\^XrmDatabase \fIsource_db\fP, XrmDatabase
*\fItarget_db\fP\^);
.HP
diff --git a/libX11/man/XrmPutResource.man b/libX11/man/XrmPutResource.man
index 9f9d08884..fd644630d 100644
--- a/libX11/man/XrmPutResource.man
+++ b/libX11/man/XrmPutResource.man
@@ -83,6 +83,8 @@
XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource \- store database resources
.SH SYNTAX
.HP
+#include <X11/Xresource.h>
+.HP
void XrmPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, char
*\fIspecifier\fP\^, char *\fItype\fP\^, XrmValue *\fIvalue\fP\^);
.HP
diff --git a/libX11/man/XrmUniqueQuark.man b/libX11/man/XrmUniqueQuark.man
index 383d26c50..93755f71b 100644
--- a/libX11/man/XrmUniqueQuark.man
+++ b/libX11/man/XrmUniqueQuark.man
@@ -83,6 +83,8 @@
XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList \- manipulate resource quarks
.SH SYNOPSIS
.HP
+#include <X11/Xresource.h>
+.HP
XrmQuark XrmUniqueQuark\^(void);
.LP
\&#define XrmStringToName(string) XrmStringToQuark(string)
diff --git a/libX11/nls/Makefile.am b/libX11/nls/Makefile.am
index 0eced4cd8..53eaacdf6 100644
--- a/libX11/nls/Makefile.am
+++ b/libX11/nls/Makefile.am
@@ -37,8 +37,8 @@ locale.dir: locale.dir.pre
cat locale.dir.l2 locale.dir.l1 > locale.dir
if HAVE_PERL
-TESTS_ENVIRONMENT = $(PERL)
-TESTS = $(srcdir)/compose-check.pl
+LOG_COMPILER = $(PERL)
+TESTS = compose-check.pl
endif HAVE_PERL
diff --git a/libX11/nls/en_US.UTF-8/Compose.pre b/libX11/nls/en_US.UTF-8/Compose.pre
index de24dadec..8b45d920d 100644
--- a/libX11/nls/en_US.UTF-8/Compose.pre
+++ b/libX11/nls/en_US.UTF-8/Compose.pre
@@ -1481,30 +1481,30 @@ XCOMM Part 3
<Multi_key> <acute> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
<Multi_key> <apostrophe> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
<dead_stroke> <dead_acute> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-<dead_double_grave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-<dead_double_grave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-<dead_inverted_breve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-<dead_inverted_breve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE
-<dead_double_grave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-<dead_double_grave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-<dead_inverted_breve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-<dead_inverted_breve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE
-<dead_double_grave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-<dead_double_grave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-<dead_inverted_breve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-<dead_inverted_breve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE
-<dead_double_grave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-<dead_double_grave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-<dead_inverted_breve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-<dead_inverted_breve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE
-<dead_double_grave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-<dead_double_grave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-<dead_inverted_breve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-<dead_inverted_breve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE
-<dead_double_grave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-<dead_double_grave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-<dead_inverted_breve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-<dead_inverted_breve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE
+<dead_doublegrave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+<dead_doublegrave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+<dead_invertedbreve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+<dead_invertedbreve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE
+<dead_doublegrave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+<dead_doublegrave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+<dead_invertedbreve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+<dead_invertedbreve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE
+<dead_doublegrave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+<dead_doublegrave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+<dead_invertedbreve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+<dead_invertedbreve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE
+<dead_doublegrave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+<dead_doublegrave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+<dead_invertedbreve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+<dead_invertedbreve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE
+<dead_doublegrave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+<dead_doublegrave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+<dead_invertedbreve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+<dead_invertedbreve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE
+<dead_doublegrave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+<dead_doublegrave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+<dead_invertedbreve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+<dead_invertedbreve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE
<dead_caron> <H> : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON
<Multi_key> <c> <H> : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON
<dead_caron> <h> : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON
@@ -1784,8 +1784,8 @@ XCOMM Part 3
<dead_breve> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
<Multi_key> <U> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
<Multi_key> <b> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
-<dead_double_grave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-<dead_double_grave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+<dead_doublegrave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+<dead_doublegrave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
<Multi_key> <slash> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE
<Multi_key> <KP_Divide> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE
<Multi_key> <slash> <Cyrillic_ghe> : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE
diff --git a/libX11/nls/pt_BR.UTF-8/Compose.pre b/libX11/nls/pt_BR.UTF-8/Compose.pre
index b6d7c8acc..9e0ca4e42 100644
--- a/libX11/nls/pt_BR.UTF-8/Compose.pre
+++ b/libX11/nls/pt_BR.UTF-8/Compose.pre
@@ -1086,30 +1086,30 @@ XCOMM <Multi_key> <apostrophe> <o> <a> : "ǻ" U01FB # LATIN SMALL LETTER A WITH
<dead_acute> <Multi_key> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
<Multi_key> <acute> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
<Multi_key> <apostrophe> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-<dead_double_grave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-<dead_double_grave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-<dead_inverted_breve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-<dead_inverted_breve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE
-<dead_double_grave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-<dead_double_grave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-<dead_inverted_breve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-<dead_inverted_breve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE
-<dead_double_grave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-<dead_double_grave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-<dead_inverted_breve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-<dead_inverted_breve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE
-<dead_double_grave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-<dead_double_grave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-<dead_inverted_breve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-<dead_inverted_breve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE
-<dead_double_grave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-<dead_double_grave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-<dead_inverted_breve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-<dead_inverted_breve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE
-<dead_double_grave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-<dead_double_grave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-<dead_inverted_breve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-<dead_inverted_breve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE
+<dead_doublegrave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+<dead_doublegrave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+<dead_invertedbreve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+<dead_invertedbreve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE
+<dead_doublegrave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+<dead_doublegrave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+<dead_invertedbreve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+<dead_invertedbreve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE
+<dead_doublegrave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+<dead_doublegrave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+<dead_invertedbreve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+<dead_invertedbreve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE
+<dead_doublegrave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+<dead_doublegrave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+<dead_invertedbreve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+<dead_invertedbreve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE
+<dead_doublegrave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+<dead_doublegrave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+<dead_invertedbreve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+<dead_invertedbreve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE
+<dead_doublegrave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+<dead_doublegrave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+<dead_invertedbreve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+<dead_invertedbreve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE
<dead_belowcomma> <S> : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW
<dead_belowcomma> <s> : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW
<dead_belowcomma> <T> : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW
@@ -1371,8 +1371,8 @@ XCOMM <Multi_key> <apostrophe> <o> <a> : "ǻ" U01FB # LATIN SMALL LETTER A WITH
<dead_breve> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
<Multi_key> <U> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
<Multi_key> <b> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U
-<dead_double_grave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-<dead_double_grave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+<dead_doublegrave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+<dead_doublegrave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
<Multi_key> <slash> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE
<Multi_key> <KP_Divide> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE
<Multi_key> <slash> <Cyrillic_ghe> : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE
diff --git a/libX11/src/GetFProp.c b/libX11/src/GetFProp.c
index 27ec98b72..1e0cd3285 100644
--- a/libX11/src/GetFProp.c
+++ b/libX11/src/GetFProp.c
@@ -29,27 +29,24 @@ in this Software without prior written authorization from The Open Group.
#endif
#include "Xlibint.h"
-Bool XGetFontProperty (
+Bool
+XGetFontProperty(
XFontStruct *fs,
register Atom name,
unsigned long *valuePtr)
{
/* XXX this is a simple linear search for now. If the
- protocol is changed to sort the property list, this should
- become a binary search. */
+ protocol is changed to sort the property list, this should
+ become a binary search. */
register XFontProp *prop = fs->properties;
register XFontProp *last = prop + fs->n_properties;
+
while (prop != last) {
- if (prop->name == name) {
- *valuePtr = prop->card32;
- return (1);
- }
- prop++;
- }
- return (0);
+ if (prop->name == name) {
+ *valuePtr = prop->card32;
+ return (1);
+ }
+ prop++;
}
-
-
-
-
-
+ return (0);
+}
diff --git a/libX11/src/PropAlloc.c b/libX11/src/PropAlloc.c
index bad768153..516283080 100644
--- a/libX11/src/PropAlloc.c
+++ b/libX11/src/PropAlloc.c
@@ -58,12 +58,7 @@ XWMHints *XAllocWMHints (void)
XClassHint *XAllocClassHint (void)
{
- register XClassHint *h;
-
- if ((h = (XClassHint *) Xcalloc (1, (unsigned) sizeof (XClassHint))))
- h->res_name = h->res_class = NULL;
-
- return h;
+ return Xcalloc (1, sizeof (XClassHint));
}
diff --git a/libX11/src/udcInf.c b/libX11/src/udcInf.c
index db7ad10f3..b7577ac96 100644
--- a/libX11/src/udcInf.c
+++ b/libX11/src/udcInf.c
@@ -702,14 +702,14 @@ int *num_gi;
_XlcCloseConverter(conv);
_XlcDestroyLC(lcd);
- *gi = (_XUDCGIInf *)Xmalloc(sizeof(_XUDCGIInf));
- (*gi)->charset_str = (char *)Xmalloc(strlen(charsetname)+1);
- strcpy((*gi)->charset_str,charsetname);
- (*gi)->glyph_index = glyph;
+ *gi = Xmalloc(sizeof(_XUDCGIInf));
if(*gi == NULL){
_xudc_utyerrno = 0x03 ;
return(_XUDC_ERROR);
}
+ (*gi)->charset_str = Xmalloc(strlen(charsetname)+1);
+ strcpy((*gi)->charset_str,charsetname);
+ (*gi)->glyph_index = glyph;
*num_gi = 1;
return(0);
}
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index ea56a044d..320486910 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -1062,26 +1062,24 @@ if test "x$enable_dri" = xyes; then
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
# Check for expat
- if test "x$enable_dri" = xyes; then
- EXPAT_INCLUDES=""
- EXPAT_LIB=-lexpat
- AC_ARG_WITH([expat],
- [AS_HELP_STRING([--with-expat=DIR],
- [expat install directory])],[
- EXPAT_INCLUDES="-I$withval/include"
- CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
- LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
- EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
- ])
- AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
- save_LIBS="$LIBS"
- AC_CHECK_LIB([expat],[XML_ParserCreate],[],
- [AC_MSG_ERROR([Expat required for DRI.])])
- LIBS="$save_LIBS"
- fi
-
- # if we are building any dri driver other than swrast or using the dri state tracker ...
- if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast -a "x$enable_dri" = xyes; then
+ EXPAT_INCLUDES=""
+ EXPAT_LIB=-lexpat
+ AC_ARG_WITH([expat],
+ [AS_HELP_STRING([--with-expat=DIR],
+ [expat install directory])],[
+ EXPAT_INCLUDES="-I$withval/include"
+ CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
+ LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
+ EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
+ ])
+ AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
+ save_LIBS="$LIBS"
+ AC_CHECK_LIB([expat],[XML_ParserCreate],[],
+ [AC_MSG_ERROR([Expat required for DRI.])])
+ LIBS="$save_LIBS"
+
+ # If we are building any DRI driver other than swrast.
+ if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
# ... libdrm is required
if test "x$have_libdrm" != xyes; then
AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
@@ -1149,14 +1147,6 @@ case $DRI_DIRS in
;;
esac
-AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
-AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
-AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
-AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
-AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
-AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
-AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes)
-
dnl
dnl OSMesa configuration
dnl
@@ -1755,6 +1745,7 @@ gallium_check_st() {
fi
if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
+ HAVE_COMMON_DRI=yes
fi
if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
@@ -1996,6 +1987,14 @@ for driver in $GALLIUM_DRIVERS_DIRS; do
esac
done
+AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
+AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
+AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
+AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
+AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
+AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
+AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes)
+
AM_CONDITIONAL(HAVE_GALAHAD_GALLIUM, test x$HAVE_GALAHAD_GALLIUM = xyes)
AM_CONDITIONAL(HAVE_IDENTITY_GALLIUM, test x$HAVE_IDENTITY_GALLIUM = xyes)
AM_CONDITIONAL(HAVE_NOOP_GALLIUM, test x$HAVE_NOOP_GALLIUM = xyes)
diff --git a/mesalib/docs/viewperf.html b/mesalib/docs/viewperf.html
index ab2fd67ef..3bbe1978a 100644
--- a/mesalib/docs/viewperf.html
+++ b/mesalib/docs/viewperf.html
@@ -203,6 +203,35 @@ This causes the object in question to be drawn in a strange orientation
and with a semi-random color (between white and black) since GL_FOG is enabled.
</p>
+
+<h2>Proe-05 test 1</h2>
+
+<p>
+This uses depth testing but there's two problems:
+<ol>
+<li>The glXChooseFBConfig() call doesn't request a depth buffer
+<li>The test never calls glClear(GL_DEPTH_BUFFER_BIT) to initialize the depth buffer
+</ol>
+<p>
+If the chosen visual does not have a depth buffer, you'll see the wireframe
+car model but it won't be rendered correctly.
+</p>
+If (by luck) the chosen visual has a depth buffer, its initial contents
+will be undefined so you may or may not see parts of the model.
+<p>
+Interestingly, with NVIDIA's driver most visuals happen to have a depth buffer
+and apparently the contents are initialized to 1.0 by default so this test
+just happens to work with their drivers.
+</p>
+
+<p>
+Finally, even if a depth buffer was requested and the glClear(GL_COLOR_BUFFER_BIT)
+calls were changed to glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
+the problem still wouldn't be fixed because GL_DEPTH_WRITEMASK=GL_FALSE when
+glClear is called so clearing the depth buffer would be a no-op anyway.
+</p>
+
+
</div>
</body>
</html>
diff --git a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
index d7f0be40e..03280515b 100644
--- a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
+++ b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
@@ -270,7 +270,7 @@ util_cpu_detect(void)
util_cpu_caps.x86_cpu_type = 8 + ((regs2[0] >> 20) & 255); /* use extended family (P4, IA64) */
/* general feature flags */
- util_cpu_caps.has_tsc = (regs2[3] >> 8) & 1; /* 0x0000010 */
+ util_cpu_caps.has_tsc = (regs2[3] >> 4) & 1; /* 0x0000010 */
util_cpu_caps.has_mmx = (regs2[3] >> 23) & 1; /* 0x0800000 */
util_cpu_caps.has_sse = (regs2[3] >> 25) & 1; /* 0x2000000 */
util_cpu_caps.has_sse2 = (regs2[3] >> 26) & 1; /* 0x4000000 */
diff --git a/mesalib/src/mapi/glapi/gen/Makefile.am b/mesalib/src/mapi/glapi/gen/Makefile.am
index 4d51bbca6..36e47e21e 100644
--- a/mesalib/src/mapi/glapi/gen/Makefile.am
+++ b/mesalib/src/mapi/glapi/gen/Makefile.am
@@ -246,19 +246,19 @@ $(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX)
######################################################################
$(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m dispatch_c \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m dispatch_c -s \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c -s \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -m dispatch_h -f $(srcdir)/gl_and_glX_API.xml -s \
+ $(PYTHON_GEN) $< -m dispatch_h -f $(srcdir)/gl_and_glX_API.xml -s \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m size_h \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m size_h \
--only-get -h '_INDIRECT_SIZE_GET_H_' \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
@@ -267,14 +267,14 @@ $(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX)
| $(INDENT) $(INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m reqsize_h \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_h \
--only-get -h '_INDIRECT_SIZE_GET_H_' \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m reqsize_c \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_c \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
$(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX)
- $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_and_glX_API.xml \
+ $(PYTHON_GEN) $< -f $(srcdir)/gl_and_glX_API.xml \
| $(INDENT) $(XORG_INDENT_FLAGS) > $@
diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c
index 2399f9c9d..582ef3198 100644
--- a/mesalib/src/mesa/main/get.c
+++ b/mesalib/src/mesa/main/get.c
@@ -34,6 +34,7 @@
#include "state.h"
#include "texcompress.h"
#include "framebuffer.h"
+#include "samplerobj.h"
/* This is a table driven implemetation of the glGet*v() functions.
* The basic idea is that most getters just look up an int somewhere
@@ -827,7 +828,16 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
{
struct gl_sampler_object *samp =
ctx->Texture.Unit[ctx->Texture.CurrentUnit].Sampler;
- v->value_int = samp ? samp->Name : 0;
+
+ /*
+ * The sampler object may have been deleted on another context,
+ * so we try to lookup the sampler object before returning its Name.
+ */
+ if (samp && _mesa_lookup_samplerobj(ctx, samp->Name)) {
+ v->value_int = samp->Name;
+ } else {
+ v->value_int = 0;
+ }
}
break;
/* GL_ARB_uniform_buffer_object */
diff --git a/mesalib/src/mesa/main/glformats.c b/mesalib/src/mesa/main/glformats.c
index 8728540cf..c1e16587a 100644
--- a/mesalib/src/mesa/main/glformats.c
+++ b/mesalib/src/mesa/main/glformats.c
@@ -917,7 +917,7 @@ _mesa_is_compressed_format(struct gl_context *ctx, GLenum format)
case GL_COMPRESSED_SIGNED_RG11_EAC:
case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
- return _mesa_is_gles3(ctx);
+ return _mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility;
case GL_PALETTE4_RGB8_OES:
case GL_PALETTE4_RGBA8_OES:
case GL_PALETTE4_R5_G6_B5_OES:
diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c
index 319a444d7..5cff32936 100644
--- a/mesalib/src/mesa/main/samplerobj.c
+++ b/mesalib/src/mesa/main/samplerobj.c
@@ -40,7 +40,7 @@
#include "main/samplerobj.h"
-static struct gl_sampler_object *
+struct gl_sampler_object *
_mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name)
{
if (name == 0)
@@ -206,9 +206,19 @@ _mesa_DeleteSamplers(GLsizei count, const GLuint *samplers)
for (i = 0; i < count; i++) {
if (samplers[i]) {
+ GLuint j;
struct gl_sampler_object *sampObj =
_mesa_lookup_samplerobj(ctx, samplers[i]);
+
if (sampObj) {
+ /* If the sampler is currently bound, unbind it. */
+ for (j = 0; j < ctx->Const.MaxCombinedTextureImageUnits; j++) {
+ if (ctx->Texture.Unit[j].Sampler == sampObj) {
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[j].Sampler, NULL);
+ }
+ }
+
/* The ID is immediately freed for re-use */
_mesa_HashRemove(ctx->Shared->SamplerObjects, samplers[i]);
/* But the object exists until its reference count goes to zero */
diff --git a/mesalib/src/mesa/main/samplerobj.h b/mesalib/src/mesa/main/samplerobj.h
index 311425701..69e389949 100644
--- a/mesalib/src/mesa/main/samplerobj.h
+++ b/mesalib/src/mesa/main/samplerobj.h
@@ -62,6 +62,8 @@ _mesa_reference_sampler_object(struct gl_context *ctx,
_mesa_reference_sampler_object_(ctx, ptr, samp);
}
+extern struct gl_sampler_object *
+_mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name);
extern struct gl_sampler_object *
_mesa_new_sampler_object(struct gl_context *ctx, GLuint name);
diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c
index 9d4a17052..7d996da47 100644
--- a/mesalib/src/mesa/main/teximage.c
+++ b/mesalib/src/mesa/main/teximage.c
@@ -520,7 +520,7 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
}
}
- if (_mesa_is_gles3(ctx)) {
+ if (_mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility) {
switch (internalFormat) {
case GL_COMPRESSED_RGB8_ETC2:
case GL_COMPRESSED_SRGB8_ETC2:
diff --git a/mesalib/src/mesa/vbo/vbo_save_draw.c b/mesalib/src/mesa/vbo/vbo_save_draw.c
index efb386e5c..f5b5c411d 100644
--- a/mesalib/src/mesa/vbo/vbo_save_draw.c
+++ b/mesalib/src/mesa/vbo/vbo_save_draw.c
@@ -253,7 +253,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data)
struct vbo_save_context *save = &vbo_context(ctx)->save;
GLboolean remap_vertex_store = GL_FALSE;
- if (save->vertex_store->buffer) {
+ if (save->vertex_store && save->vertex_store->buffer) {
/* The vertex store is currently mapped but we're about to replay
* a display list. This can happen when a nested display list is
* being build with GL_COMPILE_AND_EXECUTE.
diff --git a/pixman/pixman/pixman-mmx.c b/pixman/pixman/pixman-mmx.c
index ca2ac83d9..14790c029 100644
--- a/pixman/pixman/pixman-mmx.c
+++ b/pixman/pixman/pixman-mmx.c
@@ -44,8 +44,6 @@
#include "pixman-combine32.h"
#include "pixman-inlines.h"
-#define no_vERBOSE
-
#ifdef VERBOSE
#define CHECKPOINT() error_f ("at %s %d\n", __FUNCTION__, __LINE__)
#else
diff --git a/xorg-server/fb/wfbrename.h b/xorg-server/fb/wfbrename.h
index 588440c2b..54d00d003 100644
--- a/xorg-server/fb/wfbrename.h
+++ b/xorg-server/fb/wfbrename.h
@@ -52,6 +52,7 @@
#define fbCreatePixmap wfbCreatePixmap
#define fbCreatePixmapBpp wfbCreatePixmapBpp
#define fbCreateWindow wfbCreateWindow
+#define fbDestroyGlyphCache wfbDestroyGlyphCache
#define fbDestroyPixmap wfbDestroyPixmap
#define fbDestroyWindow wfbDestroyWindow
#define fbDoCopy wfbDoCopy
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index 721291985..46c07b01d 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -1,5 +1,6 @@
altwin:menu = +altwin(menu)
altwin:meta_alt = +altwin(meta_alt)
+ altwin:alt_win = +altwin(alt_win)
altwin:ctrl_win = +altwin(ctrl_win)
altwin:ctrl_alt_win = +altwin(ctrl_alt_win)
altwin:meta_win = +altwin(meta_win)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 95790dda8..1d346238e 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -6221,6 +6221,12 @@
</option>
<option>
<configItem>
+ <name>altwin:alt_win</name>
+ <_description>Alt is mapped to Win keys (and the usual Alt keys)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
<name>altwin:ctrl_win</name>
<_description>Control is mapped to Win keys (and the usual Ctrl keys)</_description>
</configItem>
diff --git a/xorg-server/xkeyboard-config/symbols/altwin b/xorg-server/xkeyboard-config/symbols/altwin
index f7578b493..d22013d0c 100644
--- a/xorg-server/xkeyboard-config/symbols/altwin
+++ b/xorg-server/xkeyboard-config/symbols/altwin
@@ -7,6 +7,14 @@ xkb_symbols "meta_alt" {
// modifier_map Mod4 {};
};
+// Alt is mapped to the Win-keys (and the usual Alt keys).
+partial modifier_keys
+xkb_symbols "alt_win" {
+ key <LWIN> { [ Alt_L ] };
+ key <RWIN> { [ Alt_R ] };
+ modifier_map Mod1 { <LWIN>, <RWIN> };
+};
+
// Control is mapped to the Win-keys (and the usual Ctrl keys).
partial modifier_keys
xkb_symbols "ctrl_win" {
diff --git a/xorg-server/xkeyboard-config/symbols/cm b/xorg-server/xkeyboard-config/symbols/cm
index 622d62d8b..9b2da163c 100644
--- a/xorg-server/xkeyboard-config/symbols/cm
+++ b/xorg-server/xkeyboard-config/symbols/cm
@@ -158,7 +158,7 @@ xkb_symbols "azerty"
key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
- key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC07> { [ j, J, leftarrow, U2122 ] }; //SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN
key <AC08> { [ k, K, downarrow, uparrow ] }; // SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW
key <AC09> { [ l, L, rightarrow, U00A3 ] }; // SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING
@@ -215,7 +215,7 @@ xkb_symbols "qwerty"
key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
- key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC07> { [ j, J, U0330, U0323 ] }; // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
key <AC08> { [ k, K, U1DC5, U1DC7 ] }; // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
key <AC09> { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
@@ -270,7 +270,7 @@ xkb_symbols "dvorak"
key <AC04> { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
key <AC05> { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
key <AC06> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
- key <AC07> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC07> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC08> { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
key <AC09> { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
key <AC10> { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S