diff options
98 files changed, 897 insertions, 249 deletions
diff --git a/fontconfig/fc-cache/fc-cache.c b/fontconfig/fc-cache/fc-cache.c index aeb0af29b..af7ba6dd6 100644 --- a/fontconfig/fc-cache/fc-cache.c +++ b/fontconfig/fc-cache/fc-cache.c @@ -118,7 +118,7 @@ usage (char *program, int error) static FcStrSet *processed_dirs; static int -scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose, int *changed) +scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose, FcBool recursive, int *changed) { int ret = 0; const FcChar8 *dir; @@ -141,7 +141,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, fflush (stdout); } - if (FcStrSetMember (processed_dirs, dir)) + if (recursive && FcStrSetMember (processed_dirs, dir)) { if (verbose) printf ("skipping, looped directory detected\n"); @@ -213,32 +213,37 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, ret++; } } - - subdirs = FcStrSetCreate (); - if (!subdirs) + + if (recursive) { - fprintf (stderr, "%s: Can't create subdir set\n", dir); - ret++; - FcDirCacheUnload (cache); - continue; - } - for (i = 0; i < FcCacheNumSubdir (cache); i++) - FcStrSetAdd (subdirs, FcCacheSubdir (cache, i)); + subdirs = FcStrSetCreate (); + if (!subdirs) + { + fprintf (stderr, "%s: Can't create subdir set\n", dir); + ret++; + FcDirCacheUnload (cache); + continue; + } + for (i = 0; i < FcCacheNumSubdir (cache); i++) + FcStrSetAdd (subdirs, FcCacheSubdir (cache, i)); - FcDirCacheUnload (cache); + FcDirCacheUnload (cache); - sublist = FcStrListCreate (subdirs); - FcStrSetDestroy (subdirs); - if (!sublist) - { - fprintf (stderr, "%s: Can't create subdir list\n", dir); - ret++; - continue; + sublist = FcStrListCreate (subdirs); + FcStrSetDestroy (subdirs); + if (!sublist) + { + fprintf (stderr, "%s: Can't create subdir list\n", dir); + ret++; + continue; + } + FcStrSetAdd (processed_dirs, dir); + ret += scanDirs (sublist, config, force, really_force, verbose, recursive, changed); + FcStrListDone (sublist); } - FcStrSetAdd (processed_dirs, dir); - ret += scanDirs (sublist, config, force, really_force, verbose, changed); + else + FcDirCacheUnload (cache); } - FcStrListDone (list); return ret; } @@ -366,7 +371,11 @@ main (int argc, char **argv) } changed = 0; - ret = scanDirs (list, config, force, really_force, verbose, &changed); + ret = scanDirs (list, config, force, really_force, verbose, FcTrue, &changed); + /* Update the directory cache again to avoid the race condition as much as possible */ + FcStrListFirst (list); + ret += scanDirs (list, config, FcTrue, really_force, verbose, FcFalse, &changed); + FcStrListDone (list); /* * Try to create CACHEDIR.TAG anyway. @@ -379,6 +388,8 @@ main (int argc, char **argv) cleanCacheDirectories (config, verbose); + FcConfigDestroy (config); + FcFini (); /* * Now we need to sleep a second (or two, to be extra sure), to make * sure that timestamps for changes after this run of fc-cache are later @@ -386,8 +397,7 @@ main (int argc, char **argv) * sleep(3) can't be interrupted by a signal here -- this isn't in the * library, and there aren't any signals flying around here. */ - FcConfigDestroy (config); - FcFini (); + /* the resolution of mtime on FAT is 2 seconds */ if (changed) sleep (2); if (verbose) diff --git a/fontconfig/fontconfig/fontconfig.h b/fontconfig/fontconfig/fontconfig.h index 58912f572..e58857972 100644 --- a/fontconfig/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig/fontconfig.h @@ -974,6 +974,9 @@ FcStrSetDestroy (FcStrSet *set); FcPublic FcStrList * FcStrListCreate (FcStrSet *set); +FcPublic void +FcStrListFirst (FcStrList *list); + FcPublic FcChar8 * FcStrListNext (FcStrList *list); diff --git a/fontconfig/src/fcstr.c b/fontconfig/src/fcstr.c index 3a32031a2..570717243 100644 --- a/fontconfig/src/fcstr.c +++ b/fontconfig/src/fcstr.c @@ -1374,6 +1374,12 @@ FcStrListCreate (FcStrSet *set) return list; } +void +FcStrListFirst (FcStrList *list) +{ + list->n = 0; +} + FcChar8 * FcStrListNext (FcStrList *list) { diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 1f0a646a6..e7c822338 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -1781,7 +1781,6 @@ if test "x$with_gallium_drivers" != x; then GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then radeon_llvm_check - R600_NEED_RADEON_GALLIUM=yes; LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" fi if test "x$enable_r600_llvm" = xyes; then @@ -1824,7 +1823,6 @@ if test "x$with_gallium_drivers" != x; then if test "x$enable_dri" = xyes; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast" - HAVE_COMMON_DRI=yes fi if test "x$enable_vdpau" = xyes; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS vdpau-softpipe" @@ -1938,7 +1936,6 @@ AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \ "x$HAVE_GALLIUM_SVGA" = xyes) AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) -AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = xyes) AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes) AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes) @@ -2006,9 +2003,12 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/freedreno/Makefile src/gallium/drivers/freedreno/a2xx/Makefile src/gallium/drivers/freedreno/a3xx/Makefile + src/gallium/drivers/galahad/Makefile src/gallium/drivers/i915/Makefile + src/gallium/drivers/identity/Makefile src/gallium/drivers/ilo/Makefile src/gallium/drivers/llvmpipe/Makefile + src/gallium/drivers/noop/Makefile src/gallium/drivers/nouveau/Makefile src/gallium/drivers/r300/Makefile src/gallium/drivers/r600/Makefile @@ -2025,7 +2025,7 @@ AC_CONFIG_FILES([Makefile src/gallium/state_trackers/dri/sw/Makefile src/gallium/state_trackers/egl/Makefile src/gallium/state_trackers/gbm/Makefile - src/gallium/state_trackers/glx/Makefile + src/gallium/state_trackers/glx/xlib/Makefile src/gallium/state_trackers/osmesa/Makefile src/gallium/state_trackers/vdpau/Makefile src/gallium/state_trackers/vega/Makefile diff --git a/mesalib/src/glsl/ast.h b/mesalib/src/glsl/ast.h index 242ee4883..2307a7878 100755 --- a/mesalib/src/glsl/ast.h +++ b/mesalib/src/glsl/ast.h @@ -49,7 +49,7 @@ struct YYLTYPE; */ class ast_node { public: - DECLARE_RZALLOC_CXX_OPERATORS(ast_node); + DECLARE_RALLOC_CXX_OPERATORS(ast_node); static void operator delete(void *table, void *ctx) { ralloc_free(table); @@ -350,7 +350,7 @@ enum { }; struct ast_type_qualifier { - DECLARE_RZALLOC_CXX_OPERATORS(ast_type_qualifier); + DECLARE_RALLOC_CXX_OPERATORS(ast_type_qualifier); union { struct { @@ -580,6 +580,10 @@ public: virtual void print(void) const; bool has_qualifiers() const; + ast_fully_specified_type() : qualifier(), specifier(NULL) + { + } + const struct glsl_type *glsl_type(const char **name, struct _mesa_glsl_parse_state *state) const; @@ -863,6 +867,10 @@ public: class ast_function_definition : public ast_node { public: + ast_function_definition() : prototype(NULL), body(NULL) + { + } + virtual void print(void) const; virtual ir_rvalue *hir(exec_list *instructions, diff --git a/mesalib/src/glsl/glsl_parser_extras.cpp b/mesalib/src/glsl/glsl_parser_extras.cpp index e9922fc14..4f2f2893a 100644 --- a/mesalib/src/glsl/glsl_parser_extras.cpp +++ b/mesalib/src/glsl/glsl_parser_extras.cpp @@ -55,7 +55,7 @@ static unsigned known_desktop_glsl_versions[] = _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, GLenum target, void *mem_ctx) - : ctx(_ctx) + : ctx(_ctx), switch_state() { switch (target) { case GL_VERTEX_SHADER: this->target = vertex_shader; break; @@ -66,10 +66,14 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, this->scanner = NULL; this->translation_unit.make_empty(); this->symbols = new(mem_ctx) glsl_symbol_table; + + this->num_uniform_blocks = 0; + this->uniform_block_array_size = 0; + this->uniform_blocks = NULL; + this->info_log = ralloc_strdup(mem_ctx, ""); this->error = false; this->loop_nesting_ast = NULL; - this->switch_state.switch_nesting_ast = NULL; this->struct_specifier_depth = 0; this->num_builtins_to_link = 0; @@ -105,6 +109,13 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, this->Const.MaxDrawBuffers = ctx->Const.MaxDrawBuffers; + this->current_function = NULL; + this->toplevel_ir = NULL; + this->found_return = false; + this->all_invariant = false; + this->user_structures = NULL; + this->num_user_structures = 0; + /* Populate the list of supported GLSL versions */ /* FINISHME: Once the OpenGL 3.0 'forward compatible' context or * the OpenGL 3.2 Core context is supported, this logic will need @@ -163,6 +174,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, this->gs_input_prim_type_specified = false; this->gs_input_prim_type = GL_POINTS; + this->gs_input_size = 0; this->out_qualifier = new(this) ast_type_qualifier(); } @@ -1038,7 +1050,8 @@ ast_expression::print(void) const ast_expression::ast_expression(int oper, ast_expression *ex0, ast_expression *ex1, - ast_expression *ex2) + ast_expression *ex2) : + primary_expression() { this->oper = ast_operators(oper); this->subexpressions[0] = ex0; diff --git a/mesalib/src/glsl/glsl_parser_extras.h b/mesalib/src/glsl/glsl_parser_extras.h index 3a228fde7..4833436a3 100755 --- a/mesalib/src/glsl/glsl_parser_extras.h +++ b/mesalib/src/glsl/glsl_parser_extras.h @@ -73,7 +73,7 @@ struct _mesa_glsl_parse_state { _mesa_glsl_parse_state(struct gl_context *_ctx, GLenum target, void *mem_ctx); - DECLARE_RZALLOC_CXX_OPERATORS(_mesa_glsl_parse_state); + DECLARE_RALLOC_CXX_OPERATORS(_mesa_glsl_parse_state); static void operator delete(void *mem, void *ctx) { ralloc_free(mem); diff --git a/mesalib/src/glsl/ralloc.h b/mesalib/src/glsl/ralloc.h index 799d3a9b8..31682d515 100644 --- a/mesalib/src/glsl/ralloc.h +++ b/mesalib/src/glsl/ralloc.h @@ -404,10 +404,20 @@ bool ralloc_vasprintf_append(char **str, const char *fmt, va_list args); } /* end of extern "C" */ #endif -#define _RALLOC_OPS(ALLOC, TYPE) \ +/** + * Declare C++ new and delete operators which use ralloc. + * + * Placing this macro in the body of a class makes it possible to do: + * + * TYPE *var = new(mem_ctx) TYPE(...); + * delete var; + * + * which is more idiomatic in C++ than calling ralloc. + */ +#define DECLARE_RALLOC_CXX_OPERATORS(TYPE) \ static void* operator new(size_t size, void *mem_ctx) \ { \ - void *p = ALLOC(mem_ctx, size); \ + void *p = ralloc_size(mem_ctx, size); \ assert(p != NULL); \ return p; \ } \ @@ -417,17 +427,5 @@ bool ralloc_vasprintf_append(char **str, const char *fmt, va_list args); ralloc_free(p); \ } -/** - * Declare C++ new and delete operators which use ralloc. - * - * Placing one of these macros in the body of a class makes it possible to do: - * - * TYPE *var = new(mem_ctx) TYPE(...); - * delete var; - * - * which is more idiomatic in C++ than calling ralloc or rzalloc. - */ -#define DECLARE_RALLOC_CXX_OPERATORS(TYPE) _RALLOC_OPS(ralloc_size, TYPE) -#define DECLARE_RZALLOC_CXX_OPERATORS(TYPE) _RALLOC_OPS(rzalloc_size, TYPE) #endif diff --git a/mesalib/src/mesa/drivers/dri/swrast/Makefile.am b/mesalib/src/mesa/drivers/dri/swrast/Makefile.am index fb9b8a050..9652583f2 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/Makefile.am +++ b/mesalib/src/mesa/drivers/dri/swrast/Makefile.am @@ -34,10 +34,7 @@ AM_CFLAGS = \ $(VISIBILITY_CFLAGS) dridir = $(DRI_DRIVER_INSTALL_DIR) - -if HAVE_SWRAST_DRI dri_LTLIBRARIES = swrast_dri.la -endif swrast_dri_la_SOURCES = \ $(SWRAST_C_FILES) diff --git a/mesalib/src/mesa/main/ff_fragment_shader.cpp b/mesalib/src/mesa/main/ff_fragment_shader.cpp index 86317efcd..01edd3ff8 100644 --- a/mesalib/src/mesa/main/ff_fragment_shader.cpp +++ b/mesalib/src/mesa/main/ff_fragment_shader.cpp @@ -32,7 +32,6 @@ extern "C" { #include "imports.h" #include "mtypes.h" #include "main/context.h" -#include "main/uniforms.h" #include "main/macros.h" #include "main/samplerobj.h" #include "program/program.h" diff --git a/mesalib/src/mesa/main/objectlabel.c b/mesalib/src/mesa/main/objectlabel.c index 90d9e09f5..e75fe3be2 100644 --- a/mesalib/src/mesa/main/objectlabel.c +++ b/mesalib/src/mesa/main/objectlabel.c @@ -86,21 +86,38 @@ set_label(struct gl_context *ctx, char **labelPtr, const char *label, /** * Helper for _mesa_GetObjectLabel() and _mesa_GetObjectPtrLabel(). + * \param src the src label (may be null) + * \param dst pointer to dest buffer (may be null) + * \param length returns length of label (may be null) + * \param bufsize size of dst buffer */ static void -copy_label(char **labelPtr, char *label, int *length, int bufSize) +copy_label(const GLchar *src, GLchar *dst, GLsizei *length, GLsizei bufSize) { int labelLen = 0; - if (*labelPtr) - labelLen = strlen(*labelPtr); + /* From http://www.opengl.org/registry/specs/KHR/debug.txt: + * "If <length> is NULL, no length is returned. The maximum number of + * characters that may be written into <label>, including the null + * terminator, is specified by <bufSize>. If no debug label was specified + * for the object then <label> will contain a null-terminated empty string, + * and zero will be returned in <length>. If <label> is NULL and <length> + * is non-NULL then no string will be returned and the length of the label + * will be returned in <length>." + */ - if (label) { - if (bufSize <= labelLen) - labelLen = bufSize-1; + if (src) + labelLen = strlen(src); + + if (dst) { + if (src) { + if (bufSize <= labelLen) + labelLen = bufSize - 1; - memcpy(label, *labelPtr, labelLen); - label[labelLen] = '\0'; + memcpy(dst, src, labelLen); + } + + dst[labelLen] = '\0'; } if (length) @@ -207,7 +224,7 @@ get_label_pointer(struct gl_context *ctx, GLenum identifier, GLuint name, } if (NULL == labelPtr) { - _mesa_error(ctx, GL_INVALID_VALUE, "glObjectLabel(name = %u)", name); + _mesa_error(ctx, GL_INVALID_VALUE, "%s(name = %u)", caller, name); } return labelPtr; @@ -239,11 +256,17 @@ _mesa_GetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GET_CURRENT_CONTEXT(ctx); char **labelPtr; + if (bufSize < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectLabel(bufSize = %d)", + bufSize); + return; + } + labelPtr = get_label_pointer(ctx, identifier, name, "glGetObjectLabel"); if (!labelPtr) return; - copy_label(labelPtr, label, length, bufSize); + copy_label(*labelPtr, label, length, bufSize); } void GLAPIENTRY @@ -271,6 +294,12 @@ _mesa_GetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, char **labelPtr; struct gl_sync_object *const syncObj = (struct gl_sync_object *) ptr; + if (bufSize < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectPtrLabel(bufSize = %d)", + bufSize); + return; + } + if (!_mesa_validate_sync(ctx, syncObj)) { _mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectPtrLabel (not a valid sync object)"); return; @@ -278,5 +307,5 @@ _mesa_GetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, labelPtr = &syncObj->Label; - copy_label(labelPtr, label, length, bufSize); + copy_label(*labelPtr, label, length, bufSize); } diff --git a/mesalib/src/mesa/main/syncobj.c b/mesalib/src/mesa/main/syncobj.c index 3157491bf..ae49db2e4 100644 --- a/mesalib/src/mesa/main/syncobj.c +++ b/mesalib/src/mesa/main/syncobj.c @@ -161,8 +161,16 @@ _mesa_free_sync_data(struct gl_context *ctx) } -int -_mesa_validate_sync(struct gl_context *ctx, struct gl_sync_object *syncObj) +/** + * Check if the given sync object is: + * - non-null + * - not in sync objects hash table + * - type is GL_SYNC_FENCE + * - not marked as deleted + */ +bool +_mesa_validate_sync(struct gl_context *ctx, + const struct gl_sync_object *syncObj) { return (syncObj != NULL) && _mesa_set_search(ctx->Shared->SyncObjects, @@ -410,7 +418,7 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, return; } - if (size > 0) { + if (size > 0 && bufSize > 0) { const GLsizei copy_count = MIN2(size, bufSize); memcpy(values, v, sizeof(GLint) * copy_count); diff --git a/mesalib/src/mesa/main/syncobj.h b/mesalib/src/mesa/main/syncobj.h index a6563b09d..1dbb7b14a 100644 --- a/mesalib/src/mesa/main/syncobj.h +++ b/mesalib/src/mesa/main/syncobj.h @@ -53,8 +53,9 @@ _mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj); extern void GLAPIENTRY _mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj); -extern int -_mesa_validate_sync(struct gl_context *ctx, struct gl_sync_object *syncObj); +extern bool +_mesa_validate_sync(struct gl_context *ctx, + const struct gl_sync_object *syncObj); extern GLboolean GLAPIENTRY _mesa_IsSync(GLsync sync); diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index 8cd42dfd2..b08107b1c 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -44,11 +44,11 @@ #include "main/mtypes.h" #include "main/shaderobj.h" +#include "main/uniforms.h" #include "program/hash_table.h" extern "C" { #include "main/shaderapi.h" -#include "main/uniforms.h" #include "program/prog_instruction.h" #include "program/prog_optimize.h" #include "program/prog_print.h" @@ -155,7 +155,7 @@ namespace { class ir_to_mesa_instruction : public exec_node { public: - DECLARE_RZALLOC_CXX_OPERATORS(ir_to_mesa_instruction) + DECLARE_RALLOC_CXX_OPERATORS(ir_to_mesa_instruction) enum prog_opcode op; dst_reg dst; diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 53838b391..a5d0b84e3 100644 --- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -43,11 +43,11 @@ #include "main/mtypes.h" #include "main/shaderobj.h" +#include "main/uniforms.h" #include "program/hash_table.h" extern "C" { #include "main/shaderapi.h" -#include "main/uniforms.h" #include "program/prog_instruction.h" #include "program/prog_optimize.h" #include "program/prog_print.h" @@ -217,7 +217,7 @@ st_dst_reg::st_dst_reg(st_src_reg reg) class glsl_to_tgsi_instruction : public exec_node { public: - DECLARE_RZALLOC_CXX_OPERATORS(glsl_to_tgsi_instruction) + DECLARE_RALLOC_CXX_OPERATORS(glsl_to_tgsi_instruction) unsigned op; st_dst_reg dst; diff --git a/pixman/configure.ac b/pixman/configure.ac index 263c63edf..2dd477663 100644 --- a/pixman/configure.ac +++ b/pixman/configure.ac @@ -961,37 +961,38 @@ main () ]])) AC_DEFUN([PIXMAN_CHECK_PTHREAD],[dnl - if test "z$support_for_pthread_setspecific" != "zyes"; then + if test "z$support_for_pthreads" != "zyes"; then PIXMAN_LINK_WITH_ENV( [$1], [pthread_test_program], [PTHREAD_CFLAGS="$CFLAGS" PTHREAD_LIBS="$LIBS" PTHREAD_LDFLAGS="$LDFLAGS" - support_for_pthread_setspecific=yes]) + support_for_pthreads=yes]) fi ]) -if test $ac_cv_tls = none ; then - support_for_pthread_setspecific=no +support_for_pthreads=no - AC_MSG_CHECKING(for pthread_setspecific) +AC_MSG_CHECKING(for pthreads) - PIXMAN_CHECK_PTHREAD([CFLAGS="-pthread"; LDFLAGS="-pthread"]) - PIXMAN_CHECK_PTHREAD([CFLAGS="-D_REENTRANT"; LIBS="-lpthread"]) - PIXMAN_CHECK_PTHREAD([CFLAGS="-D_REENTRANT"; LDFLAGS="-lroot"]) +PIXMAN_CHECK_PTHREAD([CFLAGS="-pthread"; LDFLAGS="-pthread"]) +PIXMAN_CHECK_PTHREAD([CFLAGS="-D_REENTRANT"; LIBS="-lpthread"]) +PIXMAN_CHECK_PTHREAD([CFLAGS="-D_REENTRANT"; LDFLAGS="-lroot"]) - if test $support_for_pthread_setspecific = yes; then - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - AC_DEFINE([HAVE_PTHREAD_SETSPECIFIC], [], [Whether pthread_setspecific() is supported]) +if test $support_for_pthreads = yes; then + AC_DEFINE([HAVE_PTHREADS], [], [Whether pthreads is supported]) + if test $ac_cv_tls = none ; then + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" fi - - AC_MSG_RESULT($support_for_pthread_setspecific); fi +AC_MSG_RESULT($support_for_pthreads) + AC_SUBST(TOOLCHAIN_SUPPORTS__THREAD) -AC_SUBST(HAVE_PTHREAD_SETSPECIFIC) +AC_SUBST(HAVE_PTHREADS) AC_SUBST(PTHREAD_LDFLAGS) AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) dnl ===================================== dnl __attribute__((constructor)) diff --git a/pixman/pixman/pixman-compiler.h b/pixman/pixman/pixman-compiler.h index 38e855519..938ebc21a 100644 --- a/pixman/pixman/pixman-compiler.h +++ b/pixman/pixman/pixman-compiler.h @@ -181,7 +181,7 @@ # define PIXMAN_GET_THREAD_LOCAL(name) \ (&name) -#elif defined(HAVE_PTHREAD_SETSPECIFIC) +#elif defined(HAVE_PTHREADS) #include <pthread.h> diff --git a/pixman/pixman/pixman-vmx.c b/pixman/pixman/pixman-vmx.c index f629003ab..c33631c0e 100644 --- a/pixman/pixman/pixman-vmx.c +++ b/pixman/pixman/pixman-vmx.c @@ -134,15 +134,11 @@ over (vector unsigned int src, source ## _mask = vec_lvsl (0, source); #define COMPUTE_SHIFT_MASKS(dest, source) \ - dest ## _mask = vec_lvsl (0, dest); \ - source ## _mask = vec_lvsl (0, source); \ - store_mask = vec_lvsr (0, dest); + source ## _mask = vec_lvsl (0, source); #define COMPUTE_SHIFT_MASKC(dest, source, mask) \ mask ## _mask = vec_lvsl (0, mask); \ - dest ## _mask = vec_lvsl (0, dest); \ - source ## _mask = vec_lvsl (0, source); \ - store_mask = vec_lvsr (0, dest); + source ## _mask = vec_lvsl (0, source); /* notice you have to declare temp vars... * Note: tmp3 and tmp4 must remain untouched! @@ -151,23 +147,17 @@ over (vector unsigned int src, #define LOAD_VECTORS(dest, source) \ tmp1 = (typeof(tmp1))vec_ld (0, source); \ tmp2 = (typeof(tmp2))vec_ld (15, source); \ - tmp3 = (typeof(tmp3))vec_ld (0, dest); \ v ## source = (typeof(v ## source)) \ vec_perm (tmp1, tmp2, source ## _mask); \ - tmp4 = (typeof(tmp4))vec_ld (15, dest); \ - v ## dest = (typeof(v ## dest)) \ - vec_perm (tmp3, tmp4, dest ## _mask); + v ## dest = (typeof(v ## dest))vec_ld (0, dest); #define LOAD_VECTORSC(dest, source, mask) \ tmp1 = (typeof(tmp1))vec_ld (0, source); \ tmp2 = (typeof(tmp2))vec_ld (15, source); \ - tmp3 = (typeof(tmp3))vec_ld (0, dest); \ v ## source = (typeof(v ## source)) \ vec_perm (tmp1, tmp2, source ## _mask); \ - tmp4 = (typeof(tmp4))vec_ld (15, dest); \ tmp1 = (typeof(tmp1))vec_ld (0, mask); \ - v ## dest = (typeof(v ## dest)) \ - vec_perm (tmp3, tmp4, dest ## _mask); \ + v ## dest = (typeof(v ## dest))vec_ld (0, dest); \ tmp2 = (typeof(tmp2))vec_ld (15, mask); \ v ## mask = (typeof(v ## mask)) \ vec_perm (tmp1, tmp2, mask ## _mask); @@ -178,11 +168,7 @@ over (vector unsigned int src, splat_alpha (v ## mask)); #define STORE_VECTOR(dest) \ - edges = vec_perm (tmp4, tmp3, dest ## _mask); \ - tmp3 = vec_perm ((vector unsigned char)v ## dest, edges, store_mask); \ - tmp1 = vec_perm (edges, (vector unsigned char)v ## dest, store_mask); \ - vec_st ((vector unsigned int) tmp3, 15, dest); \ - vec_st ((vector unsigned int) tmp1, 0, dest); + vec_st ((vector unsigned int) v ## dest, 0, dest); static void vmx_combine_over_u_no_mask (uint32_t * dest, @@ -191,8 +177,19 @@ vmx_combine_over_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t ia = ALPHA_8 (~s); + + UN8x4_MUL_UN8_ADD_UN8x4 (d, ia, s); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -230,8 +227,23 @@ vmx_combine_over_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t ia; + + UN8x4_MUL_UN8 (s, m); + + ia = ALPHA_8 (~s); + + UN8x4_MUL_UN8_ADD_UN8x4 (d, ia, s); + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -286,8 +298,18 @@ vmx_combine_over_reverse_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8_ADD_UN8x4 (s, ia, d); + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -324,8 +346,21 @@ vmx_combine_over_reverse_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8 (s, m); + + UN8x4_MUL_UN8_ADD_UN8x4 (s, ia, d); + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -379,8 +414,17 @@ vmx_combine_in_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t a = ALPHA_8 (*dest); + + UN8x4_MUL_UN8 (s, a); + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -415,8 +459,20 @@ vmx_combine_in_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t a = ALPHA_8 (*dest); + + UN8x4_MUL_UN8 (s, m); + UN8x4_MUL_UN8 (s, a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -468,8 +524,18 @@ vmx_combine_in_reverse_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t d = *dest; + uint32_t a = ALPHA_8 (*src++); + + UN8x4_MUL_UN8 (d, a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -505,8 +571,21 @@ vmx_combine_in_reverse_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t d = *dest; + uint32_t a = *src++; + + UN8x4_MUL_UN8 (a, m); + a = ALPHA_8 (a); + UN8x4_MUL_UN8 (d, a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -559,8 +638,18 @@ vmx_combine_out_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t a = ALPHA_8 (~(*dest)); + + UN8x4_MUL_UN8 (s, a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -596,8 +685,20 @@ vmx_combine_out_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t a = ALPHA_8 (~(*dest)); + + UN8x4_MUL_UN8 (s, m); + UN8x4_MUL_UN8 (s, a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -649,8 +750,18 @@ vmx_combine_out_reverse_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t d = *dest; + uint32_t a = ALPHA_8 (~(*src++)); + + UN8x4_MUL_UN8 (d, a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -687,8 +798,21 @@ vmx_combine_out_reverse_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t d = *dest; + uint32_t a = *src++; + + UN8x4_MUL_UN8 (a, m); + a = ALPHA_8 (~a); + UN8x4_MUL_UN8 (d, a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -741,8 +865,20 @@ vmx_combine_atop_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t dest_a = ALPHA_8 (d); + uint32_t src_ia = ALPHA_8 (~s); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_a, d, src_ia); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -781,8 +917,25 @@ vmx_combine_atop_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t dest_a = ALPHA_8 (d); + uint32_t src_ia; + + UN8x4_MUL_UN8 (s, m); + + src_ia = ALPHA_8 (~s); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_a, d, src_ia); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -840,8 +993,20 @@ vmx_combine_atop_reverse_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t src_a = ALPHA_8 (s); + uint32_t dest_ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_ia, d, src_a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -880,8 +1045,25 @@ vmx_combine_atop_reverse_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t src_a; + uint32_t dest_ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8 (s, m); + + src_a = ALPHA_8 (s); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_ia, d, src_a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -939,8 +1121,20 @@ vmx_combine_xor_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t src_ia = ALPHA_8 (~s); + uint32_t dest_ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_ia, d, src_ia); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); @@ -979,8 +1173,25 @@ vmx_combine_xor_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t src_ia; + uint32_t dest_ia = ALPHA_8 (~d); + + UN8x4_MUL_UN8 (s, m); + + src_ia = ALPHA_8 (~s); + + UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8 (s, dest_ia, d, src_ia); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1038,8 +1249,18 @@ vmx_combine_add_u_no_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t s = *src++; + uint32_t d = *dest; + + UN8x4_ADD_UN8x4 (d, s); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKS (dest, src); /* printf ("%s\n",__PRETTY_FUNCTION__); */ @@ -1074,8 +1295,20 @@ vmx_combine_add_u_mask (uint32_t * dest, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, src_mask, mask_mask, store_mask; + vector unsigned char tmp1, tmp2, src_mask, mask_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t m = ALPHA_8 (*mask++); + uint32_t s = *src++; + uint32_t d = *dest; + + UN8x4_MUL_UN8 (s, m); + UN8x4_ADD_UN8x4 (d, s); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1130,8 +1363,18 @@ vmx_combine_src_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + + UN8x4_MUL_UN8x4 (s, a); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1170,8 +1413,22 @@ vmx_combine_over_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (s); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4_ADD_UN8x4 (d, ~a, s); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1214,8 +1471,21 @@ vmx_combine_over_reverse_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t ida = ALPHA_8 (~d); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8_ADD_UN8x4 (s, ida, d); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1257,8 +1527,20 @@ vmx_combine_in_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t da = ALPHA_8 (*dest); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (s, da); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1299,8 +1581,20 @@ vmx_combine_in_reverse_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (*src++); + + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4 (d, a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1342,8 +1636,21 @@ vmx_combine_out_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t da = ALPHA_8 (~d); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (s, da); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1386,8 +1693,21 @@ vmx_combine_out_reverse_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (s); + + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4 (d, ~a); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1430,8 +1750,23 @@ vmx_combine_atop_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask, vsrca; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (s); + uint32_t da = ALPHA_8 (d); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4_ADD_UN8x4_MUL_UN8 (d, ~a, s, da); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1481,8 +1816,23 @@ vmx_combine_atop_reverse_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (s); + uint32_t da = ALPHA_8 (~d); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4_ADD_UN8x4_MUL_UN8 (d, a, s, da); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1529,8 +1879,23 @@ vmx_combine_xor_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + uint32_t sa = ALPHA_8 (s); + uint32_t da = ALPHA_8 (~d); + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_MUL_UN8 (a, sa); + UN8x4_MUL_UN8x4_ADD_UN8x4_MUL_UN8 (d, ~a, s, da); + + *dest++ = d; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); @@ -1577,8 +1942,20 @@ vmx_combine_add_ca (pixman_implementation_t *imp, { int i; vector unsigned int vdest, vsrc, vmask; - vector unsigned char tmp1, tmp2, tmp3, tmp4, edges, - dest_mask, mask_mask, src_mask, store_mask; + vector unsigned char tmp1, tmp2, mask_mask, src_mask; + + while (width && ((uintptr_t)dest & 15)) + { + uint32_t a = *mask++; + uint32_t s = *src++; + uint32_t d = *dest; + + UN8x4_MUL_UN8x4 (s, a); + UN8x4_ADD_UN8x4 (s, d); + + *dest++ = s; + width--; + } COMPUTE_SHIFT_MASKC (dest, src, mask); diff --git a/pixman/test/Makefile.am b/pixman/test/Makefile.am index 5d901d572..88dc36d2a 100644 --- a/pixman/test/Makefile.am +++ b/pixman/test/Makefile.am @@ -1,8 +1,8 @@ include $(top_srcdir)/test/Makefile.sources -AM_CFLAGS = $(OPENMP_CFLAGS) -AM_LDFLAGS = $(OPENMP_CFLAGS) $(TESTPROGS_EXTRA_LDFLAGS) -LDADD = libutils.la $(top_builddir)/pixman/libpixman-1.la -lm $(PNG_LIBS) +AM_CFLAGS = $(OPENMP_CFLAGS) $(PTHREAD_CFLAGS) +AM_LDFLAGS = $(OPENMP_CFLAGS) $(TESTPROGS_EXTRA_LDFLAGS) $(PTHREAD_LDFLAGS) +LDADD = libutils.la $(top_builddir)/pixman/libpixman-1.la -lm $(PNG_LIBS) $(PTHREAD_LIBS) AM_CPPFLAGS = -I$(top_srcdir)/pixman -I$(top_builddir)/pixman $(PNG_CFLAGS) libutils_la_SOURCES = $(libutils_sources) $(libutils_headers) diff --git a/pixman/test/Makefile.sources b/pixman/test/Makefile.sources index 2fabdb574..2ae5d9f8d 100644 --- a/pixman/test/Makefile.sources +++ b/pixman/test/Makefile.sources @@ -13,6 +13,7 @@ TESTPROGRAMS = \ infinite-loop \ trap-crasher \ alpha-loop \ + thread-test \ scaling-crash-test \ scaling-helpers-test \ gradient-crash-test \ diff --git a/pixman/test/thread-test.c b/pixman/test/thread-test.c new file mode 100644 index 000000000..f24c31d06 --- /dev/null +++ b/pixman/test/thread-test.c @@ -0,0 +1,197 @@ +#include <config.h> + +#ifndef HAVE_PTHREADS + +int main () +{ + printf ("Skipped thread-test - pthreads not supported\n"); + return 0; +} + +#else + +#include <stdlib.h> +#include <pthread.h> +#include "utils.h" + +typedef struct +{ + int thread_no; + uint32_t *dst_buf; +} info_t; + +static const pixman_op_t operators[] = +{ + PIXMAN_OP_SRC, + PIXMAN_OP_OVER, + PIXMAN_OP_ADD, + PIXMAN_OP_CLEAR, + PIXMAN_OP_SRC, + PIXMAN_OP_DST, + PIXMAN_OP_OVER, + PIXMAN_OP_OVER_REVERSE, + PIXMAN_OP_IN, + PIXMAN_OP_IN_REVERSE, + PIXMAN_OP_OUT, + PIXMAN_OP_OUT_REVERSE, + PIXMAN_OP_ATOP, + PIXMAN_OP_ATOP_REVERSE, + PIXMAN_OP_XOR, + PIXMAN_OP_ADD, + PIXMAN_OP_SATURATE, + PIXMAN_OP_DISJOINT_CLEAR, + PIXMAN_OP_DISJOINT_SRC, + PIXMAN_OP_DISJOINT_DST, + PIXMAN_OP_DISJOINT_OVER, + PIXMAN_OP_DISJOINT_OVER_REVERSE, + PIXMAN_OP_DISJOINT_IN, + PIXMAN_OP_DISJOINT_IN_REVERSE, + PIXMAN_OP_DISJOINT_OUT, + PIXMAN_OP_DISJOINT_OUT_REVERSE, + PIXMAN_OP_DISJOINT_ATOP, + PIXMAN_OP_DISJOINT_ATOP_REVERSE, + PIXMAN_OP_DISJOINT_XOR, + PIXMAN_OP_CONJOINT_CLEAR, + PIXMAN_OP_CONJOINT_SRC, + PIXMAN_OP_CONJOINT_DST, + PIXMAN_OP_CONJOINT_OVER, + PIXMAN_OP_CONJOINT_OVER_REVERSE, + PIXMAN_OP_CONJOINT_IN, + PIXMAN_OP_CONJOINT_IN_REVERSE, + PIXMAN_OP_CONJOINT_OUT, + PIXMAN_OP_CONJOINT_OUT_REVERSE, + PIXMAN_OP_CONJOINT_ATOP, + PIXMAN_OP_CONJOINT_ATOP_REVERSE, + PIXMAN_OP_CONJOINT_XOR, + PIXMAN_OP_MULTIPLY, + PIXMAN_OP_SCREEN, + PIXMAN_OP_OVERLAY, + PIXMAN_OP_DARKEN, + PIXMAN_OP_LIGHTEN, + PIXMAN_OP_COLOR_DODGE, + PIXMAN_OP_COLOR_BURN, + PIXMAN_OP_HARD_LIGHT, + PIXMAN_OP_DIFFERENCE, + PIXMAN_OP_EXCLUSION, +}; + +static const pixman_format_code_t formats[] = +{ + PIXMAN_a8r8g8b8, + PIXMAN_r5g6b5, + PIXMAN_a8, + PIXMAN_a4, + PIXMAN_a1, + PIXMAN_b5g6r5, + PIXMAN_r8g8b8a8, + PIXMAN_a4r4g4b4 +}; + +#define N_ROUNDS 8192 + +#define RAND_ELT(arr) \ + arr[prng_rand() % ARRAY_LENGTH (arr)] + +#define DEST_WIDTH (7) + +static void * +thread (void *data) +{ + info_t *info = data; + uint32_t crc32 = 0x0; + uint32_t src_buf[64]; + pixman_image_t *dst_img, *src_img; + int i; + + prng_srand (info->thread_no); + + for (i = 0; i < N_ROUNDS; ++i) + { + pixman_op_t op; + int rand1, rand2; + + prng_randmemset (info->dst_buf, DEST_WIDTH * sizeof (uint32_t), 0); + prng_randmemset (src_buf, sizeof (src_buf), 0); + + src_img = pixman_image_create_bits ( + RAND_ELT (formats), 4, 4, src_buf, 16); + dst_img = pixman_image_create_bits ( + RAND_ELT (formats), DEST_WIDTH, 1, info->dst_buf, + DEST_WIDTH * sizeof (uint32_t)); + + image_endian_swap (src_img); + image_endian_swap (dst_img); + + rand2 = prng_rand() % 4; + rand1 = prng_rand() % 4; + op = RAND_ELT (operators); + + pixman_image_composite32 ( + op, + src_img, NULL, dst_img, + rand1, rand2, 0, 0, 0, 0, DEST_WIDTH, 1); + + crc32 = compute_crc32_for_image (crc32, dst_img); + + pixman_image_unref (src_img); + pixman_image_unref (dst_img); + } + + return (void *)(uintptr_t)crc32; +} + +static inline uint32_t +byteswap32 (uint32_t x) +{ + return ((x & ((uint32_t)0xFF << 24)) >> 24) | + ((x & ((uint32_t)0xFF << 16)) >> 8) | + ((x & ((uint32_t)0xFF << 8)) << 8) | + ((x & ((uint32_t)0xFF << 0)) << 24); +} + +int +main (void) +{ + uint32_t dest[16 * DEST_WIDTH]; + info_t info[16] = { { 0 } }; + pthread_t threads[16]; + void *retvals[16]; + uint32_t crc32s[16], crc32; + int i; + + for (i = 0; i < 16; ++i) + { + info[i].thread_no = i; + info[i].dst_buf = &dest[i * DEST_WIDTH]; + } + + for (i = 0; i < 16; ++i) + pthread_create (&threads[i], NULL, thread, &info[i]); + + for (i = 0; i < 16; ++i) + pthread_join (threads[i], &retvals[i]); + + for (i = 0; i < 16; ++i) + { + crc32s[i] = (uintptr_t)retvals[i]; + + if (is_little_endian()) + crc32s[i] = byteswap32 (crc32s[i]); + } + + crc32 = compute_crc32 (0, crc32s, sizeof crc32s); + +#define EXPECTED 0xFD497D8D + + if (crc32 != EXPECTED) + { + printf ("thread-test failed. Got checksum 0x%08X, expected 0x%08X\n", + crc32, EXPECTED); + return 1; + } + + return 0; +} + +#endif + diff --git a/xorg-server/xkeyboard-config/CREDITS b/xorg-server/xkeyboard-config/CREDITS deleted file mode 100644 index e69de29bb..000000000 --- a/xorg-server/xkeyboard-config/CREDITS +++ /dev/null diff --git a/xorg-server/xkeyboard-config/Makefile.am b/xorg-server/xkeyboard-config/Makefile.am index ed3a0a326..e0b3168bc 100644 --- a/xorg-server/xkeyboard-config/Makefile.am +++ b/xorg-server/xkeyboard-config/Makefile.am @@ -5,7 +5,7 @@ SUBDIRS = compat geometry keycodes po rules symbols types docs man pkgconfigdir = $(datadir)/pkgconfig pkgconfig_DATA = xkeyboard-config.pc -EXTRA_DIST=config.rpath COPYING CREDITS README \ +EXTRA_DIST=config.rpath COPYING README \ autogen.sh \ xkeyboard-config.pc.in \ intltool-extract.in intltool-merge.in intltool-update.in diff --git a/xorg-server/xkeyboard-config/symbols/af b/xorg-server/xkeyboard-config/symbols/af index c4355dd4e..265c18e87 100644 --- a/xorg-server/xkeyboard-config/symbols/af +++ b/xorg-server/xkeyboard-config/symbols/af @@ -10,7 +10,7 @@ // // 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net> -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Afghani"; diff --git a/xorg-server/xkeyboard-config/symbols/al b/xorg-server/xkeyboard-config/symbols/al index 75e7f52de..ff3388647 100644 --- a/xorg-server/xkeyboard-config/symbols/al +++ b/xorg-server/xkeyboard-config/symbols/al @@ -3,7 +3,7 @@ // done by Pablo Saratxaga <pablo@mandrakesoft.com> // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type3)" diff --git a/xorg-server/xkeyboard-config/symbols/am b/xorg-server/xkeyboard-config/symbols/am index c3be81db0..9b092f4d6 100644 --- a/xorg-server/xkeyboard-config/symbols/am +++ b/xorg-server/xkeyboard-config/symbols/am @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/am' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Armenian"; diff --git a/xorg-server/xkeyboard-config/symbols/ara b/xorg-server/xkeyboard-config/symbols/ara index f39fddb56..5ecffa4c3 100644 --- a/xorg-server/xkeyboard-config/symbols/ara +++ b/xorg-server/xkeyboard-config/symbols/ara @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/ar' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Arabic"; diff --git a/xorg-server/xkeyboard-config/symbols/az b/xorg-server/xkeyboard-config/symbols/az index 2dab93a3c..cfdc93cea 100644 --- a/xorg-server/xkeyboard-config/symbols/az +++ b/xorg-server/xkeyboard-config/symbols/az @@ -1,7 +1,7 @@ // Symbols definition for a very simple Azerbaidjani keyboard layout. // 2001 - Pablo Saratxaga <pablo@mandrakesoft.com> -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "latin" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/be b/xorg-server/xkeyboard-config/symbols/be index c82cb7d6f..ffb89e420 100644 --- a/xorg-server/xkeyboard-config/symbols/be +++ b/xorg-server/xkeyboard-config/symbols/be @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/be' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/bg b/xorg-server/xkeyboard-config/symbols/bg index 2bef5eadb..3b7fd4be0 100644 --- a/xorg-server/xkeyboard-config/symbols/bg +++ b/xorg-server/xkeyboard-config/symbols/bg @@ -44,7 +44,7 @@ // Describes Bulgarian keyboard "BDS" modified according to the // the new state standard BDS 5237:2006 and extended with symbols in // levels 3 and 4. -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "bds" { name[Group1]= "Bulgarian"; diff --git a/xorg-server/xkeyboard-config/symbols/brai b/xorg-server/xkeyboard-config/symbols/brai index 2a7072d45..036b56ff9 100644 --- a/xorg-server/xkeyboard-config/symbols/brai +++ b/xorg-server/xkeyboard-config/symbols/brai @@ -1,5 +1,5 @@ // 10-dot patterns on the home row + v and n -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "home_row" { include "brai(keypad)" diff --git a/xorg-server/xkeyboard-config/symbols/bt b/xorg-server/xkeyboard-config/symbols/bt index 980b5c690..f76f13a4c 100644 --- a/xorg-server/xkeyboard-config/symbols/bt +++ b/xorg-server/xkeyboard-config/symbols/bt @@ -13,7 +13,7 @@ // Version 1.0 2004-07-29 Some correction by Pema Geyleg <pema_geyleg@druknet.bt> ///////////////////////////////////////////////////////////////// -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Dzongkha"; diff --git a/xorg-server/xkeyboard-config/symbols/bw b/xorg-server/xkeyboard-config/symbols/bw index 0baadbaa3..29fdc1c02 100644 --- a/xorg-server/xkeyboard-config/symbols/bw +++ b/xorg-server/xkeyboard-config/symbols/bw @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "tswana" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/by b/xorg-server/xkeyboard-config/symbols/by index 36994d3e1..443a76426 100644 --- a/xorg-server/xkeyboard-config/symbols/by +++ b/xorg-server/xkeyboard-config/symbols/by @@ -5,7 +5,7 @@ // Added third level with russian symbols // See freedesktop.org bug #23604 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "ru(winkeys)" name[Group1]= "Belarusian"; diff --git a/xorg-server/xkeyboard-config/symbols/cd.in b/xorg-server/xkeyboard-config/symbols/cd.in index 384422ac4..e5b09e8a3 100644 --- a/xorg-server/xkeyboard-config/symbols/cd.in +++ b/xorg-server/xkeyboard-config/symbols/cd.in @@ -1,7 +1,7 @@ // based on us_intl keyboard map file and a Sinhala keyboard map // version 0.3 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "French (Democratic Republic of the Congo)"; diff --git a/xorg-server/xkeyboard-config/symbols/ch b/xorg-server/xkeyboard-config/symbols/ch index 59174076e..671c3c5e8 100644 --- a/xorg-server/xkeyboard-config/symbols/ch +++ b/xorg-server/xkeyboard-config/symbols/ch @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/cn b/xorg-server/xkeyboard-config/symbols/cn index cceb64b7d..75ebbf66a 100644 --- a/xorg-server/xkeyboard-config/symbols/cn +++ b/xorg-server/xkeyboard-config/symbols/cn @@ -1,7 +1,7 @@ // // Default Chinese is the same as American // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "us(basic)" diff --git a/xorg-server/xkeyboard-config/symbols/cz b/xorg-server/xkeyboard-config/symbols/cz index 336050ceb..3d3170029 100644 --- a/xorg-server/xkeyboard-config/symbols/cz +++ b/xorg-server/xkeyboard-config/symbols/cz @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // This layout conforms to a new cz compromise standard designed diff --git a/xorg-server/xkeyboard-config/symbols/dk b/xorg-server/xkeyboard-config/symbols/dk index 4e656b209..4619357a6 100644 --- a/xorg-server/xkeyboard-config/symbols/dk +++ b/xorg-server/xkeyboard-config/symbols/dk @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/dk' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type2)" diff --git a/xorg-server/xkeyboard-config/symbols/ee b/xorg-server/xkeyboard-config/symbols/ee index eb26d50bc..61d865cf1 100644 --- a/xorg-server/xkeyboard-config/symbols/ee +++ b/xorg-server/xkeyboard-config/symbols/ee @@ -2,7 +2,7 @@ // Estonian XKB-keymap by Ville Hallik <ville@linux.ee> // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Describes the differences between a very simple en_US diff --git a/xorg-server/xkeyboard-config/symbols/es b/xorg-server/xkeyboard-config/symbols/es index 4196762a6..b9066fb01 100644 --- a/xorg-server/xkeyboard-config/symbols/es +++ b/xorg-server/xkeyboard-config/symbols/es @@ -1,6 +1,6 @@ // Modified for a real Spanish keyboard by Jon Tombs. -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type4)" diff --git a/xorg-server/xkeyboard-config/symbols/et b/xorg-server/xkeyboard-config/symbols/et index 22ba892aa..a591a77a4 100644 --- a/xorg-server/xkeyboard-config/symbols/et +++ b/xorg-server/xkeyboard-config/symbols/et @@ -5,7 +5,7 @@ // 2007 Sergey Udaltsov <svu@gnome.org> // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "et(olpc)" name[Group1]="Amharic"; diff --git a/xorg-server/xkeyboard-config/symbols/fi b/xorg-server/xkeyboard-config/symbols/fi index b8b2183b4..4778f7d16 100644 --- a/xorg-server/xkeyboard-config/symbols/fi +++ b/xorg-server/xkeyboard-config/symbols/fi @@ -6,7 +6,7 @@ // Eliminate deadkeys alternative sent by Linus Torvalds // -partial alphanumeric_keys default +default partial alphanumeric_keys xkb_symbols "kotoistus" { // Official keymap for Finland based on SFS 5966 standard diff --git a/xorg-server/xkeyboard-config/symbols/fo b/xorg-server/xkeyboard-config/symbols/fo index b0b24ce75..283e13d6d 100644 --- a/xorg-server/xkeyboard-config/symbols/fo +++ b/xorg-server/xkeyboard-config/symbols/fo @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type2)" diff --git a/xorg-server/xkeyboard-config/symbols/fr b/xorg-server/xkeyboard-config/symbols/fr index 71b20b44b..e5e83eff4 100644 --- a/xorg-server/xkeyboard-config/symbols/fr +++ b/xorg-server/xkeyboard-config/symbols/fr @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/gb b/xorg-server/xkeyboard-config/symbols/gb index 949b2491f..135583356 100644 --- a/xorg-server/xkeyboard-config/symbols/gb +++ b/xorg-server/xkeyboard-config/symbols/gb @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/gb' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Describes the differences between a very simple en_US diff --git a/xorg-server/xkeyboard-config/symbols/ge b/xorg-server/xkeyboard-config/symbols/ge index 57c02a0d6..5a5c69dae 100644 --- a/xorg-server/xkeyboard-config/symbols/ge +++ b/xorg-server/xkeyboard-config/symbols/ge @@ -15,7 +15,7 @@ // 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch> // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Georgian"; diff --git a/xorg-server/xkeyboard-config/symbols/gh b/xorg-server/xkeyboard-config/symbols/gh index 93015a7ff..995abb829 100644 --- a/xorg-server/xkeyboard-config/symbols/gh +++ b/xorg-server/xkeyboard-config/symbols/gh @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/gn b/xorg-server/xkeyboard-config/symbols/gn index f85e98ec3..7f796c541 100644 --- a/xorg-server/xkeyboard-config/symbols/gn +++ b/xorg-server/xkeyboard-config/symbols/gn @@ -1,7 +1,7 @@ // based on us_intl keyboard map file and a Sinhala keyboard map // version 0.3 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]="French (Guinea)"; diff --git a/xorg-server/xkeyboard-config/symbols/ie b/xorg-server/xkeyboard-config/symbols/ie index 070c9d9a3..3e39d57f9 100644 --- a/xorg-server/xkeyboard-config/symbols/ie +++ b/xorg-server/xkeyboard-config/symbols/ie @@ -22,7 +22,7 @@ // without use of a deadkey. -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Modern keyboard for Irish and English diff --git a/xorg-server/xkeyboard-config/symbols/il b/xorg-server/xkeyboard-config/symbols/il index 78425339b..91da6db7a 100644 --- a/xorg-server/xkeyboard-config/symbols/il +++ b/xorg-server/xkeyboard-config/symbols/il @@ -4,7 +4,7 @@ // It does not implement changes to the English layout ("Alt-English"), // as I believe that it is not the job of this layout to modify the English // layout. -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // uses the kbd layout in use in Israel. diff --git a/xorg-server/xkeyboard-config/symbols/iq b/xorg-server/xkeyboard-config/symbols/iq index 5430b53bf..597690d25 100644 --- a/xorg-server/xkeyboard-config/symbols/iq +++ b/xorg-server/xkeyboard-config/symbols/iq @@ -2,7 +2,7 @@ // 3-Level layout -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "ara(basic)" name[Group1]= "Iraqi"; diff --git a/xorg-server/xkeyboard-config/symbols/ir b/xorg-server/xkeyboard-config/symbols/ir index 519708d75..85396b915 100644 --- a/xorg-server/xkeyboard-config/symbols/ir +++ b/xorg-server/xkeyboard-config/symbols/ir @@ -12,7 +12,7 @@ // Author: Behnam Esfahbod <behnam@esfahbod.info> // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "pes" { name[Group1]= "Persian"; diff --git a/xorg-server/xkeyboard-config/symbols/it b/xorg-server/xkeyboard-config/symbols/it index d2a5461b5..7b9183a82 100644 --- a/xorg-server/xkeyboard-config/symbols/it +++ b/xorg-server/xkeyboard-config/symbols/it @@ -1,7 +1,7 @@ // based on a keyboard map from an 'xkb/symbols/it' file // 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it) -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type4)" diff --git a/xorg-server/xkeyboard-config/symbols/jp b/xorg-server/xkeyboard-config/symbols/jp index dfb56b7c2..deac93c7c 100644 --- a/xorg-server/xkeyboard-config/symbols/jp +++ b/xorg-server/xkeyboard-config/symbols/jp @@ -1,6 +1,6 @@ // Symbols for Japanese 106-keys keyboards (by tsuka@kawalab.dnj.ynu.ac.jp). -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "106" { include "jp(common)" diff --git a/xorg-server/xkeyboard-config/symbols/ke b/xorg-server/xkeyboard-config/symbols/ke index 3ecf3de89..ec2ffd05e 100644 --- a/xorg-server/xkeyboard-config/symbols/ke +++ b/xorg-server/xkeyboard-config/symbols/ke @@ -3,7 +3,7 @@ // Please notify any corrections or omissions to // Kevin Donnelly (kevin@dotmon.com) -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "swa" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/keypad b/xorg-server/xkeyboard-config/symbols/keypad index 6c41f134f..51ea3f679 100644 --- a/xorg-server/xkeyboard-config/symbols/keypad +++ b/xorg-server/xkeyboard-config/symbols/keypad @@ -93,7 +93,7 @@ xkb_symbols "operators" { }; }; -partial hidden default keypad_keys +default partial hidden keypad_keys xkb_symbols "x11" { include "keypad(operators)" diff --git a/xorg-server/xkeyboard-config/symbols/kg b/xorg-server/xkeyboard-config/symbols/kg index bb1b2d538..1c2706017 100644 --- a/xorg-server/xkeyboard-config/symbols/kg +++ b/xorg-server/xkeyboard-config/symbols/kg @@ -18,7 +18,7 @@ // Kyrgyz standard keyboard -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Kyrgyz"; diff --git a/xorg-server/xkeyboard-config/symbols/kh b/xorg-server/xkeyboard-config/symbols/kh index d93517a33..b25cf1330 100644 --- a/xorg-server/xkeyboard-config/symbols/kh +++ b/xorg-server/xkeyboard-config/symbols/kh @@ -24,7 +24,7 @@ // but with a leading 'XK_' // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Khmer (Cambodia)"; diff --git a/xorg-server/xkeyboard-config/symbols/kz b/xorg-server/xkeyboard-config/symbols/kz index c6da615dc..276305693 100644 --- a/xorg-server/xkeyboard-config/symbols/kz +++ b/xorg-server/xkeyboard-config/symbols/kz @@ -10,7 +10,7 @@ // RST KazSSR 903-90 // levels 3 and 4 are non-standard extensions -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1] = "Kazakh"; diff --git a/xorg-server/xkeyboard-config/symbols/la b/xorg-server/xkeyboard-config/symbols/la index b302f5e71..cd24a4e3e 100644 --- a/xorg-server/xkeyboard-config/symbols/la +++ b/xorg-server/xkeyboard-config/symbols/la @@ -1,6 +1,6 @@ // Lao keymap, by Anousak Souphavanh <anousak@muanglao.com> -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // This keymap describes the Lao keyboard standard, diff --git a/xorg-server/xkeyboard-config/symbols/latam b/xorg-server/xkeyboard-config/symbols/latam index 6cc9c6850..4a30d6d4e 100644 --- a/xorg-server/xkeyboard-config/symbols/latam +++ b/xorg-server/xkeyboard-config/symbols/latam @@ -1,7 +1,7 @@ // based on a keyboard // Modified for a real Latin American Keyboard by Fabian Mandelbaum -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type4)" diff --git a/xorg-server/xkeyboard-config/symbols/lk b/xorg-server/xkeyboard-config/symbols/lk index 356e060fe..b88dcdf1e 100644 --- a/xorg-server/xkeyboard-config/symbols/lk +++ b/xorg-server/xkeyboard-config/symbols/lk @@ -28,7 +28,7 @@ // rayanna = r // yayanna = y -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "sin_phonetic" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/lt b/xorg-server/xkeyboard-config/symbols/lt index 206611d9f..5610e6797 100644 --- a/xorg-server/xkeyboard-config/symbols/lt +++ b/xorg-server/xkeyboard-config/symbols/lt @@ -7,7 +7,7 @@ // // If you want two layouts, use: // Option "XkbLayout" "lt,lt(us)" -partial default alphanumeric_keys modifier_keys +default partial alphanumeric_keys modifier_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/lv b/xorg-server/xkeyboard-config/symbols/lv index 4b0ba6c04..f0b63368c 100644 --- a/xorg-server/xkeyboard-config/symbols/lv +++ b/xorg-server/xkeyboard-config/symbols/lv @@ -44,7 +44,7 @@ // Latvian QWERTY layout // http://en.wikipedia.org/wiki/QWERTY // -partial default alphanumeric_keys modifier_keys +default partial alphanumeric_keys modifier_keys xkb_symbols "basic" { name[Group1]= "Latvian"; diff --git a/xorg-server/xkeyboard-config/symbols/ma b/xorg-server/xkeyboard-config/symbols/ma index ad3064f3f..2e3f4b1a3 100644 --- a/xorg-server/xkeyboard-config/symbols/ma +++ b/xorg-server/xkeyboard-config/symbols/ma @@ -1,5 +1,5 @@ // Arabic AZERTY with modern Latin digits -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "arabic" { include "ara(azerty)" diff --git a/xorg-server/xkeyboard-config/symbols/mao b/xorg-server/xkeyboard-config/symbols/mao index ce1b2ea3c..4edc3b988 100644 --- a/xorg-server/xkeyboard-config/symbols/mao +++ b/xorg-server/xkeyboard-config/symbols/mao @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Adds the macrons needed for the Maori language to diff --git a/xorg-server/xkeyboard-config/symbols/md b/xorg-server/xkeyboard-config/symbols/md index 18b32fdee..c23d1184d 100644 --- a/xorg-server/xkeyboard-config/symbols/md +++ b/xorg-server/xkeyboard-config/symbols/md @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "ro" diff --git a/xorg-server/xkeyboard-config/symbols/mk b/xorg-server/xkeyboard-config/symbols/mk index ec92c0868..456c81c85 100644 --- a/xorg-server/xkeyboard-config/symbols/mk +++ b/xorg-server/xkeyboard-config/symbols/mk @@ -2,7 +2,7 @@ // Author: Damjan Georgievski <penguinista AT mail.net.mk> // Revision: 1.5 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Macedonian"; diff --git a/xorg-server/xkeyboard-config/symbols/ml b/xorg-server/xkeyboard-config/symbols/ml index a3a747c48..e310a0189 100644 --- a/xorg-server/xkeyboard-config/symbols/ml +++ b/xorg-server/xkeyboard-config/symbols/ml @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "fr(basic)" diff --git a/xorg-server/xkeyboard-config/symbols/mm b/xorg-server/xkeyboard-config/symbols/mm index 060e76ade..9738ce911 100644 --- a/xorg-server/xkeyboard-config/symbols/mm +++ b/xorg-server/xkeyboard-config/symbols/mm @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Burmese"; diff --git a/xorg-server/xkeyboard-config/symbols/mn b/xorg-server/xkeyboard-config/symbols/mn index 943cc0c1f..f455dee8c 100644 --- a/xorg-server/xkeyboard-config/symbols/mn +++ b/xorg-server/xkeyboard-config/symbols/mn @@ -3,7 +3,7 @@ // Author Sanlig Badral <badral@chinggis.com> // 2002/12/7 Version 1.0 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Mongolian"; diff --git a/xorg-server/xkeyboard-config/symbols/mt b/xorg-server/xkeyboard-config/symbols/mt index d42064a0f..8a0cec3f9 100644 --- a/xorg-server/xkeyboard-config/symbols/mt +++ b/xorg-server/xkeyboard-config/symbols/mt @@ -1,7 +1,7 @@ // Maltese keyboard map (based on MSA Standard DMS100) // by Ramon Casha (ramon.casha@linux.org.mt) -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/mv b/xorg-server/xkeyboard-config/symbols/mv index 5c9177b06..e34e063b4 100644 --- a/xorg-server/xkeyboard-config/symbols/mv +++ b/xorg-server/xkeyboard-config/symbols/mv @@ -1,6 +1,6 @@ // Keymap for Thaana/Dhivehi script (Dhivehi language). -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]="Dhivehi"; diff --git a/xorg-server/xkeyboard-config/symbols/ng b/xorg-server/xkeyboard-config/symbols/ng index ecf5be79e..313941a91 100644 --- a/xorg-server/xkeyboard-config/symbols/ng +++ b/xorg-server/xkeyboard-config/symbols/ng @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/no b/xorg-server/xkeyboard-config/symbols/no index 5e4cffdcf..6ecdb9a7a 100644 --- a/xorg-server/xkeyboard-config/symbols/no +++ b/xorg-server/xkeyboard-config/symbols/no @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/no' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Describes the differences between a very simple en_US diff --git a/xorg-server/xkeyboard-config/symbols/np b/xorg-server/xkeyboard-config/symbols/np index ed7c2077a..5cebac4c8 100644 --- a/xorg-server/xkeyboard-config/symbols/np +++ b/xorg-server/xkeyboard-config/symbols/np @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/dev' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Nepali"; diff --git a/xorg-server/xkeyboard-config/symbols/pc b/xorg-server/xkeyboard-config/symbols/pc index 20bb92f31..e95e2406e 100644 --- a/xorg-server/xkeyboard-config/symbols/pc +++ b/xorg-server/xkeyboard-config/symbols/pc @@ -1,4 +1,4 @@ -default partial alphanumeric_keys modifier_keys +default partial alphanumeric_keys modifier_keys xkb_symbols "pc105" { key <ESC> { [ Escape ] }; diff --git a/xorg-server/xkeyboard-config/symbols/ph b/xorg-server/xkeyboard-config/symbols/ph index 7b294948e..3aff18e24 100644 --- a/xorg-server/xkeyboard-config/symbols/ph +++ b/xorg-server/xkeyboard-config/symbols/ph @@ -41,7 +41,7 @@ // ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Filipino"; diff --git a/xorg-server/xkeyboard-config/symbols/pk b/xorg-server/xkeyboard-config/symbols/pk index de800d4c7..b53e3aa3c 100644 --- a/xorg-server/xkeyboard-config/symbols/pk +++ b/xorg-server/xkeyboard-config/symbols/pk @@ -6,7 +6,7 @@ // Alt-key combinations are yet to be put in. The unavailable keys are // those which do not have a corresponding glyph in Unicode. -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "urd-phonetic" { name[Group1]= "Urdu (Pakistan)"; diff --git a/xorg-server/xkeyboard-config/symbols/pl b/xorg-server/xkeyboard-config/symbols/pl index e2559b3ac..885a82afa 100644 --- a/xorg-server/xkeyboard-config/symbols/pl +++ b/xorg-server/xkeyboard-config/symbols/pl @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/pl' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // Visualisation and description: http://podziemie.net/xkb/pl diff --git a/xorg-server/xkeyboard-config/symbols/pt b/xorg-server/xkeyboard-config/symbols/pt index 010445570..4b85598a5 100644 --- a/xorg-server/xkeyboard-config/symbols/pt +++ b/xorg-server/xkeyboard-config/symbols/pt @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/pt' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type4)" diff --git a/xorg-server/xkeyboard-config/symbols/ro b/xorg-server/xkeyboard-config/symbols/ro index 46e275b72..01fb8485c 100644 --- a/xorg-server/xkeyboard-config/symbols/ro +++ b/xorg-server/xkeyboard-config/symbols/ro @@ -16,7 +16,7 @@ // v 1.4 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // This RO_US/Programmers layout, although the secondary layout in the // Romanian standard, has always been the "de facto" standard in the diff --git a/xorg-server/xkeyboard-config/symbols/ru b/xorg-server/xkeyboard-config/symbols/ru index a761c30d0..d39f92672 100644 --- a/xorg-server/xkeyboard-config/symbols/ru +++ b/xorg-server/xkeyboard-config/symbols/ru @@ -5,7 +5,7 @@ // 2005/12/09 Valery Inozemtsev <shrek@altlinux.ru> // Windows layout -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "winkeys" { include "ru(common)" diff --git a/xorg-server/xkeyboard-config/symbols/se b/xorg-server/xkeyboard-config/symbols/se index ef5e797ba..d015d4015 100644 --- a/xorg-server/xkeyboard-config/symbols/se +++ b/xorg-server/xkeyboard-config/symbols/se @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/se' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin(type2)" include "se(se)" diff --git a/xorg-server/xkeyboard-config/symbols/sk b/xorg-server/xkeyboard-config/symbols/sk index e33b74a5e..075281320 100644 --- a/xorg-server/xkeyboard-config/symbols/sk +++ b/xorg-server/xkeyboard-config/symbols/sk @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { // This layout conforms to a new sk compromise standard designed diff --git a/xorg-server/xkeyboard-config/symbols/sn b/xorg-server/xkeyboard-config/symbols/sn index 5b0befc88..77495ad4d 100644 --- a/xorg-server/xkeyboard-config/symbols/sn +++ b/xorg-server/xkeyboard-config/symbols/sn @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "latin" diff --git a/xorg-server/xkeyboard-config/symbols/sy b/xorg-server/xkeyboard-config/symbols/sy index a7d2fbc4e..a539f4019 100644 --- a/xorg-server/xkeyboard-config/symbols/sy +++ b/xorg-server/xkeyboard-config/symbols/sy @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "ara(basic)" name[Group1]= "Arabic (Syria)"; diff --git a/xorg-server/xkeyboard-config/symbols/terminate b/xorg-server/xkeyboard-config/symbols/terminate index c74220bc7..60c24795c 100644 --- a/xorg-server/xkeyboard-config/symbols/terminate +++ b/xorg-server/xkeyboard-config/symbols/terminate @@ -1,4 +1,4 @@ -partial default modifier_keys +default partial modifier_keys xkb_symbols "ctrl_alt_bksp" { key <BKSP> { type="CTRL+ALT", diff --git a/xorg-server/xkeyboard-config/symbols/th b/xorg-server/xkeyboard-config/symbols/th index a23ff45a3..63fd281b5 100644 --- a/xorg-server/xkeyboard-config/symbols/th +++ b/xorg-server/xkeyboard-config/symbols/th @@ -1,6 +1,6 @@ // based on a keyboard map from an 'xkb/symbols/th' file -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Thai"; diff --git a/xorg-server/xkeyboard-config/symbols/tj b/xorg-server/xkeyboard-config/symbols/tj index e4c4af4f6..76086056d 100644 --- a/xorg-server/xkeyboard-config/symbols/tj +++ b/xorg-server/xkeyboard-config/symbols/tj @@ -11,7 +11,7 @@ // -------------------------------------------------------------------- // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { name[Group1] = "Tajik"; diff --git a/xorg-server/xkeyboard-config/symbols/tw b/xorg-server/xkeyboard-config/symbols/tw index c01024a81..e136319c1 100644 --- a/xorg-server/xkeyboard-config/symbols/tw +++ b/xorg-server/xkeyboard-config/symbols/tw @@ -1,4 +1,4 @@ -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "tw" { name[Group1]= "Taiwanese"; diff --git a/xorg-server/xkeyboard-config/symbols/tz b/xorg-server/xkeyboard-config/symbols/tz index e4d50539f..60ff033be 100644 --- a/xorg-server/xkeyboard-config/symbols/tz +++ b/xorg-server/xkeyboard-config/symbols/tz @@ -3,7 +3,7 @@ // Please notify any corrections or omissions to // Kevin Donnelly (kevin@dotmon.com) -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "swa" { name[Group1]= "Swahili (Tanzania)"; diff --git a/xorg-server/xkeyboard-config/symbols/ua b/xorg-server/xkeyboard-config/symbols/ua index f7a2a59a4..331cbfcb3 100644 --- a/xorg-server/xkeyboard-config/symbols/ua +++ b/xorg-server/xkeyboard-config/symbols/ua @@ -5,7 +5,7 @@ // Unicode - 3d level added with some Unicode symbols (typographic quotes, m-dash, n-dash etc), // some often used cyrillics from other slavic languages and some ASCII symbols used often (slash, brackets...) -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "unicode" { include "ua(winkeys)" diff --git a/xorg-server/xkeyboard-config/symbols/us b/xorg-server/xkeyboard-config/symbols/us index 73673882d..b70cb016a 100644 --- a/xorg-server/xkeyboard-config/symbols/us +++ b/xorg-server/xkeyboard-config/symbols/us @@ -1,5 +1,5 @@ default -partial alphanumeric_keys modifier_keys +partial alphanumeric_keys modifier_keys xkb_symbols "basic" { name[Group1]= "English (US)"; diff --git a/xorg-server/xkeyboard-config/symbols/uz b/xorg-server/xkeyboard-config/symbols/uz index f0e07ede1..d4cf48fbf 100644 --- a/xorg-server/xkeyboard-config/symbols/uz +++ b/xorg-server/xkeyboard-config/symbols/uz @@ -30,7 +30,7 @@ // apostrophe is replaced with U02BB. // -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "cyrillic" { name[Group1]= "Uzbek"; diff --git a/xorg-server/xkeyboard-config/symbols/vn b/xorg-server/xkeyboard-config/symbols/vn index 58eb595da..10a6d2634 100644 --- a/xorg-server/xkeyboard-config/symbols/vn +++ b/xorg-server/xkeyboard-config/symbols/vn @@ -8,7 +8,7 @@ // July 2009 -partial default alphanumeric_keys +default partial alphanumeric_keys xkb_symbols "basic" { include "us" diff --git a/xorg-server/xkeyboard-config/symbols/za b/xorg-server/xkeyboard-config/symbols/za index c5f699463..74abc8271 100644 --- a/xorg-server/xkeyboard-config/symbols/za +++ b/xorg-server/xkeyboard-config/symbols/za @@ -1,6 +1,6 @@ // based on the Latvian and GB keyboard maps -partial default alphanumeric_keys modifier_keys +default partial alphanumeric_keys modifier_keys xkb_symbols "basic" { // Describes the differences between an en_US |