aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesalib/src/mesa/main/dlist.c8
-rw-r--r--mesalib/src/mesa/main/imports.h6
-rw-r--r--mesalib/src/mesa/vbo/vbo.h348
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec.h9
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_api.c15
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_array.c17
-rw-r--r--pixman/Makefile.am2
-rw-r--r--pixman/RELEASING4
-rw-r--r--pixman/configure.ac2
-rw-r--r--pixman/pixman/Makefile.am2
-rw-r--r--pixman/pixman/pixman-x64-mmx-emulation.h263
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in22
12 files changed, 231 insertions, 467 deletions
diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c
index a6502bbb7..569a7d9ca 100644
--- a/mesalib/src/mesa/main/dlist.c
+++ b/mesalib/src/mesa/main/dlist.c
@@ -8419,8 +8419,6 @@ _mesa_CallList(GLuint list)
GLboolean save_compile_flag;
GET_CURRENT_CONTEXT(ctx);
FLUSH_CURRENT(ctx, 0);
- /* VERY IMPORTANT: Save the CompileFlag status, turn it off, */
- /* execute the display list, and restore the CompileFlag. */
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glCallList %d\n", list);
@@ -8430,8 +8428,12 @@ _mesa_CallList(GLuint list)
return;
}
-/* mesa_print_display_list( list ); */
+ if (0)
+ mesa_print_display_list( list );
+ /* VERY IMPORTANT: Save the CompileFlag status, turn it off,
+ * execute the display list, and restore the CompileFlag.
+ */
save_compile_flag = ctx->CompileFlag;
if (save_compile_flag) {
ctx->CompileFlag = GL_FALSE;
diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h
index 9922f43e3..315c4119d 100644
--- a/mesalib/src/mesa/main/imports.h
+++ b/mesalib/src/mesa/main/imports.h
@@ -540,6 +540,12 @@ extern void
_mesa_init_sqrt_table(void);
#ifdef __GNUC__
+
+#ifdef __MINGW32__
+#define ffs __builtin_ffs
+#define ffsll __builtin_ffsll
+#endif
+
#define _mesa_ffs(i) ffs(i)
#define _mesa_ffsll(i) ffsll(i)
diff --git a/mesalib/src/mesa/vbo/vbo.h b/mesalib/src/mesa/vbo/vbo.h
index 37940efdc..b94d58f3d 100644
--- a/mesalib/src/mesa/vbo/vbo.h
+++ b/mesalib/src/mesa/vbo/vbo.h
@@ -1,173 +1,175 @@
-/*
- * mesa 3-D graphics library
- * Version: 6.5
- *
- * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-/**
- * \file vbo_context.h
- * \brief VBO builder module datatypes and definitions.
- * \author Keith Whitwell
- */
-
-
-#ifndef _VBO_H
-#define _VBO_H
-
-#include "main/glheader.h"
-
-struct gl_client_array;
-struct gl_context;
-
-struct _mesa_prim {
- GLuint mode:8; /**< GL_POINTS, GL_LINES, GL_QUAD_STRIP, etc */
- GLuint indexed:1;
- GLuint begin:1;
- GLuint end:1;
- GLuint weak:1;
- GLuint no_current_update:1;
- GLuint pad:19;
-
- GLuint start;
- GLuint count;
- GLint basevertex;
- GLsizei num_instances;
-};
-
-/* Would like to call this a "vbo_index_buffer", but this would be
- * confusing as the indices are not neccessarily yet in a non-null
- * buffer object.
- */
-struct _mesa_index_buffer {
- GLuint count;
- GLenum type;
- struct gl_buffer_object *obj;
- const void *ptr;
-};
-
-
-
-GLboolean _vbo_CreateContext( struct gl_context *ctx );
-void _vbo_DestroyContext( struct gl_context *ctx );
-void _vbo_InvalidateState( struct gl_context *ctx, GLuint new_state );
-
-
-typedef void (*vbo_draw_func)( struct gl_context *ctx,
- const struct gl_client_array **arrays,
- const struct _mesa_prim *prims,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLboolean index_bounds_valid,
- GLuint min_index,
- GLuint max_index );
-
-
-
-
-/* Utility function to cope with various constraints on tnl modules or
- * hardware. This can be used to split an incoming set of arrays and
- * primitives against the following constraints:
- * - Maximum number of indices in index buffer.
- * - Maximum number of vertices referenced by index buffer.
- * - Maximum hardware vertex buffer size.
- */
-struct split_limits {
- GLuint max_verts;
- GLuint max_indices;
- GLuint max_vb_size; /* bytes */
-};
-
-
-void vbo_split_prims( struct gl_context *ctx,
- const struct gl_client_array *arrays[],
- const struct _mesa_prim *prim,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLuint min_index,
- GLuint max_index,
- vbo_draw_func draw,
- const struct split_limits *limits );
-
-
-/* Helpers for dealing translating away non-zero min_index.
- */
-GLboolean vbo_all_varyings_in_vbos( const struct gl_client_array *arrays[] );
-GLboolean vbo_any_varyings_in_vbos( const struct gl_client_array *arrays[] );
-
-void vbo_rebase_prims( struct gl_context *ctx,
- const struct gl_client_array *arrays[],
- const struct _mesa_prim *prim,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLuint min_index,
- GLuint max_index,
- vbo_draw_func draw );
-void
-vbo_get_minmax_index(struct gl_context *ctx, const struct _mesa_prim *prim,
- const struct _mesa_index_buffer *ib,
- GLuint *min_index, GLuint *max_index);
-
-void vbo_use_buffer_objects(struct gl_context *ctx);
-
-
-void vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func);
-
-
-void GLAPIENTRY
-_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
-
-void GLAPIENTRY
-_es_Normal3f(GLfloat x, GLfloat y, GLfloat z);
-
-void GLAPIENTRY
-_es_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-
-void GLAPIENTRY
-_es_Materialfv(GLenum face, GLenum pname, const GLfloat *params);
-
-void GLAPIENTRY
-_es_Materialf(GLenum face, GLenum pname, GLfloat param);
-
-void GLAPIENTRY
-_es_VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-
-void GLAPIENTRY
-_es_VertexAttrib1f(GLuint indx, GLfloat x);
-
-void GLAPIENTRY
-_es_VertexAttrib1fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
-
-void GLAPIENTRY
-_es_VertexAttrib2fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
-
-void GLAPIENTRY
-_es_VertexAttrib3fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib4fv(GLuint indx, const GLfloat* values);
-
-#endif
+/*
+ * mesa 3-D graphics library
+ * Version: 6.5
+ *
+ * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file vbo_context.h
+ * \brief VBO builder module datatypes and definitions.
+ * \author Keith Whitwell
+ */
+
+
+#ifndef _VBO_H
+#define _VBO_H
+
+#include "main/glheader.h"
+
+struct gl_client_array;
+struct gl_context;
+
+struct _mesa_prim {
+ GLuint mode:8; /**< GL_POINTS, GL_LINES, GL_QUAD_STRIP, etc */
+ GLuint indexed:1;
+ GLuint begin:1;
+ GLuint end:1;
+ GLuint weak:1;
+ GLuint no_current_update:1;
+ GLuint pad:19;
+
+ GLuint start;
+ GLuint count;
+ GLint basevertex;
+ GLsizei num_instances;
+};
+
+/* Would like to call this a "vbo_index_buffer", but this would be
+ * confusing as the indices are not neccessarily yet in a non-null
+ * buffer object.
+ */
+struct _mesa_index_buffer {
+ GLuint count;
+ GLenum type;
+ struct gl_buffer_object *obj;
+ const void *ptr;
+};
+
+
+
+GLboolean _vbo_CreateContext( struct gl_context *ctx );
+void _vbo_DestroyContext( struct gl_context *ctx );
+void _vbo_InvalidateState( struct gl_context *ctx, GLuint new_state );
+
+
+typedef void (*vbo_draw_func)( struct gl_context *ctx,
+ const struct gl_client_array **arrays,
+ const struct _mesa_prim *prims,
+ GLuint nr_prims,
+ const struct _mesa_index_buffer *ib,
+ GLboolean index_bounds_valid,
+ GLuint min_index,
+ GLuint max_index );
+
+
+
+
+/* Utility function to cope with various constraints on tnl modules or
+ * hardware. This can be used to split an incoming set of arrays and
+ * primitives against the following constraints:
+ * - Maximum number of indices in index buffer.
+ * - Maximum number of vertices referenced by index buffer.
+ * - Maximum hardware vertex buffer size.
+ */
+struct split_limits {
+ GLuint max_verts;
+ GLuint max_indices;
+ GLuint max_vb_size; /* bytes */
+};
+
+
+void vbo_split_prims( struct gl_context *ctx,
+ const struct gl_client_array *arrays[],
+ const struct _mesa_prim *prim,
+ GLuint nr_prims,
+ const struct _mesa_index_buffer *ib,
+ GLuint min_index,
+ GLuint max_index,
+ vbo_draw_func draw,
+ const struct split_limits *limits );
+
+
+/* Helpers for dealing translating away non-zero min_index.
+ */
+GLboolean vbo_all_varyings_in_vbos( const struct gl_client_array *arrays[] );
+GLboolean vbo_any_varyings_in_vbos( const struct gl_client_array *arrays[] );
+
+void vbo_rebase_prims( struct gl_context *ctx,
+ const struct gl_client_array *arrays[],
+ const struct _mesa_prim *prim,
+ GLuint nr_prims,
+ const struct _mesa_index_buffer *ib,
+ GLuint min_index,
+ GLuint max_index,
+ vbo_draw_func draw );
+void
+vbo_get_minmax_index(struct gl_context *ctx, const struct _mesa_prim *prim,
+ const struct _mesa_index_buffer *ib,
+ GLuint *min_index, GLuint *max_index);
+
+void vbo_use_buffer_objects(struct gl_context *ctx);
+
+
+void vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func);
+
+void vbo_check_buffers_are_unmapped(struct gl_context *ctx);
+
+
+void GLAPIENTRY
+_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
+
+void GLAPIENTRY
+_es_Normal3f(GLfloat x, GLfloat y, GLfloat z);
+
+void GLAPIENTRY
+_es_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+
+void GLAPIENTRY
+_es_Materialfv(GLenum face, GLenum pname, const GLfloat *params);
+
+void GLAPIENTRY
+_es_Materialf(GLenum face, GLenum pname, GLfloat param);
+
+void GLAPIENTRY
+_es_VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+
+void GLAPIENTRY
+_es_VertexAttrib1f(GLuint indx, GLfloat x);
+
+void GLAPIENTRY
+_es_VertexAttrib1fv(GLuint indx, const GLfloat* values);
+
+void GLAPIENTRY
+_es_VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
+
+void GLAPIENTRY
+_es_VertexAttrib2fv(GLuint indx, const GLfloat* values);
+
+void GLAPIENTRY
+_es_VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
+
+void GLAPIENTRY
+_es_VertexAttrib3fv(GLuint indx, const GLfloat* values);
+
+void GLAPIENTRY
+_es_VertexAttrib4fv(GLuint indx, const GLfloat* values);
+
+#endif
diff --git a/mesalib/src/mesa/vbo/vbo_exec.h b/mesalib/src/mesa/vbo/vbo_exec.h
index 0dd2286dc..2531f20f5 100644
--- a/mesalib/src/mesa/vbo/vbo_exec.h
+++ b/mesalib/src/mesa/vbo/vbo_exec.h
@@ -40,13 +40,16 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "vbo_attrib.h"
+/**
+ * Max number of primitives (number of glBegin/End pairs) per VBO.
+ */
#define VBO_MAX_PRIM 64
-/* Wierd implementation stuff:
+
+/**
+ * Size of the VBO to use for glBegin/glVertex/glEnd-style rendering.
*/
#define VBO_VERT_BUFFER_SIZE (1024*64) /* bytes */
-#define VBO_MAX_ATTR_CODEGEN 16
-#define ERROR_ATTRIB 16
/** Current vertex program mode */
diff --git a/mesalib/src/mesa/vbo/vbo_exec_api.c b/mesalib/src/mesa/vbo/vbo_exec_api.c
index 859db5e2c..bb366b272 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_api.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_api.c
@@ -378,7 +378,7 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint newSize)
* afterwards).
*/
if (attr == 0)
- exec->ctx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;
+ ctx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;
}
@@ -862,7 +862,7 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec )
/* Hook our functions into the dispatch table.
*/
- _mesa_install_exec_vtxfmt( exec->ctx, &exec->vtxfmt );
+ _mesa_install_exec_vtxfmt( ctx, &exec->vtxfmt );
for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) {
ASSERT(i < Elements(exec->vtx.attrsz));
@@ -941,8 +941,8 @@ void vbo_exec_BeginVertices( struct gl_context *ctx )
vbo_exec_vtx_map( exec );
- assert((exec->ctx->Driver.NeedFlush & FLUSH_UPDATE_CURRENT) == 0);
- exec->ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT;
+ assert((ctx->Driver.NeedFlush & FLUSH_UPDATE_CURRENT) == 0);
+ ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT;
}
@@ -960,7 +960,7 @@ void vbo_exec_FlushVertices( struct gl_context *ctx, GLuint flags )
assert(exec->flush_call_depth == 1);
#endif
- if (exec->ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) {
+ if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) {
/* We've had glBegin but not glEnd! */
#ifdef DEBUG
exec->flush_call_depth--;
@@ -974,10 +974,7 @@ void vbo_exec_FlushVertices( struct gl_context *ctx, GLuint flags )
/* Need to do this to ensure BeginVertices gets called again:
*/
- if (exec->ctx->Driver.NeedFlush & FLUSH_UPDATE_CURRENT)
- exec->ctx->Driver.NeedFlush &= ~FLUSH_UPDATE_CURRENT;
-
- exec->ctx->Driver.NeedFlush &= ~flags;
+ ctx->Driver.NeedFlush &= ~(FLUSH_UPDATE_CURRENT | flags);
#ifdef DEBUG
exec->flush_call_depth--;
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c
index 65a0642f1..1d7fe4d3f 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_array.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_array.c
@@ -59,6 +59,23 @@ check_buffers_are_unmapped(const struct gl_client_array **inputs)
/**
+ * A debug function that may be called from other parts of Mesa as
+ * needed during debugging.
+ */
+void
+vbo_check_buffers_are_unmapped(struct gl_context *ctx)
+{
+ struct vbo_context *vbo = vbo_context(ctx);
+ struct vbo_exec_context *exec = &vbo->exec;
+ /* check the current vertex arrays */
+ check_buffers_are_unmapped(exec->array.inputs);
+ /* check the current glBegin/glVertex/glEnd-style VBO */
+ assert(!_mesa_bufferobj_mapped(exec->vtx.bufferobj));
+}
+
+
+
+/**
* Compute min and max elements by scanning the index buffer for
* glDraw[Range]Elements() calls.
* If primitive restart is enabled, we need to ignore restart
diff --git a/pixman/Makefile.am b/pixman/Makefile.am
index b12b212fd..7eb9f59ac 100644
--- a/pixman/Makefile.am
+++ b/pixman/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = pixman test demos
+SUBDIRS = pixman demos test
pkgconfigdir=$(libdir)/pkgconfig
pkgconfig_DATA=pixman-1.pc
diff --git a/pixman/RELEASING b/pixman/RELEASING
index 0103eaec9..8644f2d8d 100644
--- a/pixman/RELEASING
+++ b/pixman/RELEASING
@@ -11,7 +11,7 @@ Here are the steps to follow to create a new pixman release:
git log master...origin (no output; note: *3* dots)
2) Increment pixman_(major|minor|micro) in configure.ac according to
- the directions in that file. Use git commit to record this.
+ the directions in that file.
3) Make sure that new version works, including
@@ -23,7 +23,7 @@ Here are the steps to follow to create a new pixman release:
- the cairo test suite hasn't gained any new failures compared
to last pixman version.
-4) Use "git commit" to record any changes made in step 3.
+4) Use "git commit" to record the changes made in step 2 and 3.
5) Generate and publish the tar files by running
diff --git a/pixman/configure.ac b/pixman/configure.ac
index 4a4759e91..d76e0a2a5 100644
--- a/pixman/configure.ac
+++ b/pixman/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 21)
-m4_define([pixman_micro], 5)
+m4_define([pixman_micro], 7)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
diff --git a/pixman/pixman/Makefile.am b/pixman/pixman/Makefile.am
index 2658e40dc..06a4dfb6a 100644
--- a/pixman/pixman/Makefile.am
+++ b/pixman/pixman/Makefile.am
@@ -52,7 +52,7 @@ pixman-combine64.h : pixman-combine.h.template make-combine.pl
$(PERL) $(srcdir)/make-combine.pl 16 < $(srcdir)/pixman-combine.h.template > $@ || ($(RM) $@; exit 1)
EXTRA_DIST = Makefile.win32 pixman-combine.c.template make-combine.pl pixman-region.c \
- pixman-combine.h.template solaris-hwcap.mapfile pixman-x64-mmx-emulation.h
+ pixman-combine.h.template solaris-hwcap.mapfile
CLEANFILES = pixman-combine32.c pixman-combine64.c pixman-combine32.h pixman-combine64.h
# mmx code
diff --git a/pixman/pixman/pixman-x64-mmx-emulation.h b/pixman/pixman/pixman-x64-mmx-emulation.h
deleted file mode 100644
index 378019cf2..000000000
--- a/pixman/pixman/pixman-x64-mmx-emulation.h
+++ /dev/null
@@ -1,263 +0,0 @@
-#ifndef MMX_X64_H_INCLUDED
-#define MMX_X64_H_INCLUDED
-
-/* Implementation of x64 MMX substitition functions, before
- * pixman is reimplemented not to use __m64 type on Visual C++
- *
- * Copyright (C)2009 by George Yohng
- * Released in public domain.
- */
-
-#include <intrin.h>
-
-#define M64C(a) (*(const __m64 *)(&a))
-#define M64U(a) (*(const unsigned long long *)(&a))
-
-__inline __m64
-_m_from_int (int a)
-{
- long long i64 = a;
-
- return M64C (i64);
-}
-
-__inline __m64
-_mm_setzero_si64 ()
-{
- long long i64 = 0;
-
- return M64C (i64);
-}
-
-__inline __m64
-_mm_set_pi32 (int i1, int i0)
-{
- unsigned long long i64 = ((unsigned)i0) + (((unsigned long long)(unsigned)i1) << 32);
-
- return M64C (i64);
-}
-
-__inline void
-_m_empty ()
-{
-}
-
-__inline __m64
-_mm_set1_pi16 (short w)
-{
- unsigned long long i64 = ((unsigned long long)(unsigned short)(w)) * 0x0001000100010001ULL;
-
- return M64C (i64);
-}
-
-__inline int
-_m_to_int (__m64 m)
-{
- return m.m64_i32[0];
-}
-
-__inline __m64
-_mm_movepi64_pi64 (__m128i a)
-{
- return M64C (a.m128i_i64[0]);
-}
-
-__inline __m64
-_m_pand (__m64 a, __m64 b)
-{
- unsigned long long i64 = M64U (a) & M64U (b);
-
- return M64C (i64);
-}
-
-__inline __m64
-_m_por (__m64 a, __m64 b)
-{
- unsigned long long i64 = M64U (a) | M64U (b);
-
- return M64C (i64);
-}
-
-__inline __m64
-_m_pxor (__m64 a, __m64 b)
-{
- unsigned long long i64 = M64U (a) ^ M64U (b);
-
- return M64C (i64);
-}
-
-__inline __m64
-_m_pmulhuw (__m64 a, __m64 b) /* unoptimized */
-{
- unsigned short d[4] =
- {
- (unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0]) >> 16),
- (unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1]) >> 16),
- (unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2]) >> 16),
- (unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]) >> 16)
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64
-_m_pmullw2 (__m64 a, __m64 b) /* unoptimized */
-{
- unsigned short d[4] =
- {
- (unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0])),
- (unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1])),
- (unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2])),
- (unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]))
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64
-_m_pmullw (__m64 a, __m64 b) /* unoptimized */
-{
- unsigned long long x =
- ((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0]))) +
- (((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1]))) << 16) +
- (((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2]))) << 32) +
- (((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]))) << 48);
-
- return M64C (x);
-}
-
-__inline __m64
-_m_paddusb (__m64 a, __m64 b) /* unoptimized */
-{
- unsigned long long x = (M64U (a) & 0x00FF00FF00FF00FFULL) +
- (M64U (b) & 0x00FF00FF00FF00FFULL);
-
- unsigned long long y = ((M64U (a) >> 8) & 0x00FF00FF00FF00FFULL) +
- ((M64U (b) >> 8) & 0x00FF00FF00FF00FFULL);
-
- x |= ((x & 0xFF00FF00FF00FF00ULL) >> 8) * 0xFF;
- y |= ((y & 0xFF00FF00FF00FF00ULL) >> 8) * 0xFF;
-
- x = (x & 0x00FF00FF00FF00FFULL) | ((y & 0x00FF00FF00FF00FFULL) << 8);
-
- return M64C (x);
-}
-
-__inline __m64
-_m_paddusw (__m64 a, __m64 b) /* unoptimized */
-{
- unsigned long long x = (M64U (a) & 0x0000FFFF0000FFFFULL) +
- (M64U (b) & 0x0000FFFF0000FFFFULL);
-
- unsigned long long y = ((M64U (a) >> 16) & 0x0000FFFF0000FFFFULL) +
- ((M64U (b) >> 16) & 0x0000FFFF0000FFFFULL);
-
- x |= ((x & 0xFFFF0000FFFF0000) >> 16) * 0xFFFF;
- y |= ((y & 0xFFFF0000FFFF0000) >> 16) * 0xFFFF;
-
- x = (x & 0x0000FFFF0000FFFFULL) | ((y & 0x0000FFFF0000FFFFULL) << 16);
-
- return M64C (x);
-}
-
-__inline __m64
-_m_pshufw (__m64 a, int n) /* unoptimized */
-{
- unsigned short d[4] =
- {
- a.m64_u16[n & 3],
- a.m64_u16[(n >> 2) & 3],
- a.m64_u16[(n >> 4) & 3],
- a.m64_u16[(n >> 6) & 3]
- };
-
- return M64C (d[0]);
-}
-
-__inline unsigned char
-sat16 (unsigned short d)
-{
- if (d > 0xFF) return 0xFF;
- else return d & 0xFF;
-}
-
-__inline __m64
-_m_packuswb (__m64 m1, __m64 m2) /* unoptimized */
-{
- unsigned char d[8] =
- {
- sat16 (m1.m64_u16[0]),
- sat16 (m1.m64_u16[1]),
- sat16 (m1.m64_u16[2]),
- sat16 (m1.m64_u16[3]),
- sat16 (m2.m64_u16[0]),
- sat16 (m2.m64_u16[1]),
- sat16 (m2.m64_u16[2]),
- sat16 (m2.m64_u16[3])
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64 _m_punpcklbw (__m64 m1, __m64 m2) /* unoptimized */
-{
- unsigned char d[8] =
- {
- m1.m64_u8[0],
- m2.m64_u8[0],
- m1.m64_u8[1],
- m2.m64_u8[1],
- m1.m64_u8[2],
- m2.m64_u8[2],
- m1.m64_u8[3],
- m2.m64_u8[3],
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64 _m_punpckhbw (__m64 m1, __m64 m2) /* unoptimized */
-{
- unsigned char d[8] =
- {
- m1.m64_u8[4],
- m2.m64_u8[4],
- m1.m64_u8[5],
- m2.m64_u8[5],
- m1.m64_u8[6],
- m2.m64_u8[6],
- m1.m64_u8[7],
- m2.m64_u8[7],
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64 _m_psrlwi (__m64 a, int n) /* unoptimized */
-{
- unsigned short d[4] =
- {
- a.m64_u16[0] >> n,
- a.m64_u16[1] >> n,
- a.m64_u16[2] >> n,
- a.m64_u16[3] >> n
- };
-
- return M64C (d[0]);
-}
-
-__inline __m64 _m_psrlqi (__m64 m, int n)
-{
- unsigned long long x = M64U (m) >> n;
-
- return M64C (x);
-}
-
-__inline __m64 _m_psllqi (__m64 m, int n)
-{
- unsigned long long x = M64U (m) << n;
-
- return M64C (x);
-}
-
-#endif /* MMX_X64_H_INCLUDED */
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 919ed4b34..d6061b0ec 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -905,7 +905,7 @@
<model>
<configItem>
<name>sanwaskbkg3</name>
- <description>Sanwa Supply SKB-KG3</description>
+ <_description>Sanwa Supply SKB-KG3</_description>
<vendor>Sanwa Supply Inc.</vendor>
</configItem>
</model>
@@ -2082,7 +2082,7 @@
<variant>
<configItem>
<name>uig</name>
- <description>Uyghur</description>
+ <_description>Uyghur</_description>
<languageList><iso639Id>uig</iso639Id></languageList>
</configItem>
</variant>
@@ -4998,25 +4998,25 @@
<option>
<configItem>
<name>lv3:lsgt_switch</name>
- <description>&lt;Less/Greater&gt;</description>
+ <_description>&lt;Less/Greater&gt;</_description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:caps_switch_latch</name>
- <description>Caps Lock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+ <_description>Caps Lock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:bksl_switch_latch</name>
- <description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+ <_description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch_latch</name>
- <description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+ <_description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
</configItem>
</option>
</group>
@@ -5065,7 +5065,7 @@
<option>
<configItem>
<name>ctrl:ctrl_menu</name>
- <description>Right Ctrl is mapped to Menu</description>
+ <_description>Right Ctrl is mapped to Menu</_description>
</configItem>
</option>
</group>
@@ -5492,13 +5492,13 @@
<option>
<configItem>
<name>shift:both_capslock_cancel</name>
- <description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</description>
+ <_description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</_description>
</configItem>
</option>
<option>
<configItem>
<name>shift:both_shiftlock</name>
- <description>Both Shift-Keys together toggle ShiftLock</description>
+ <_description>Both Shift-Keys together toggle ShiftLock</_description>
</configItem>
</option>
<option>
@@ -5601,13 +5601,13 @@
<option>
<configItem>
<name>lv5:lsgt_switch_lock_cancel</name>
- <description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
+ <_description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_lock_cancel</name>
- <description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
+ <_description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description>
</configItem>
</option>
</group>