Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework

This commit is contained in:
Ian Romanick 2007-02-09 12:38:49 -08:00
commit 16eb7254f8
30 changed files with 277 additions and 173 deletions

4
GL/mesa/.gitignore vendored
View File

@ -2,8 +2,6 @@ X/drivers
X/glxheader.h
X/xmesaP.h
X/xm*.c
array_cache/*.c
array_cache/*.h
mesa/drivers
mesa/glxheader.h
mesa/xm*.c
@ -30,3 +28,5 @@ tnl/*.c
tnl/*.h
x86
x86-64
vbo/*.c
vbo/*.h

View File

@ -1,15 +1,15 @@
SUBDIRS = main math array_cache swrast swrast_setup tnl shader X glapi
SUBDIRS = main math swrast swrast_setup tnl shader X glapi vbo
noinst_LTLIBRARIES = libGLcore.la
libGLcore_la_SOURCES = dummy.c
libGLcore_la_LIBADD = main/libmain.la \
math/libmath.la \
array_cache/libac.la \
swrast/libswrast.la \
swrast_setup/libss.la \
tnl/libtnl.la \
shader/libshader.la \
shader/grammar/libgrammar.la \
shader/slang/libslang.la \
vbo/libvbo.la \
X/libX.la

View File

@ -2,7 +2,6 @@ noinst_LTLIBRARIES = libX.la
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -1,21 +0,0 @@
noinst_LTLIBRARIES = libac.la
AM_CFLAGS = \
$(DIX_CFLAGS) \
-DXFree86Server \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \
-I../shader \
-I../swrast \
-I../swrast_setup \
-I../tnl \
-I.. \
-I$(top_srcdir)/hw/xfree86/os-support
nodist_libac_la_SOURCES = ac_context.c ac_import.c

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -9,7 +9,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../../X \
-I../../array_cache \
-I../../glapi \
-I../../main \
-I../../math \

View File

@ -8,7 +8,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../grammar \
-I../../X \
-I../../array_cache \
-I../../glapi \
-I../../main \
-I../../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \

View File

@ -7,7 +7,6 @@ AM_CFLAGS = \
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../array_cache \
-I../glapi \
-I../main \
-I../math \
@ -19,13 +18,9 @@ INCLUDES = -I@MESA_SOURCE@/include \
-I.. \
-I$(top_srcdir)/hw/xfree86/os-support
nodist_libtnl_la_SOURCES = t_array_api.c \
t_array_import.c \
t_context.c \
nodist_libtnl_la_SOURCES = t_context.c \
t_draw.c \
t_pipeline.c \
t_save_api.c \
t_save_loopback.c \
t_save_playback.c \
t_vb_arbprogram.c \
t_vb_arbprogram_sse.c \
t_vb_arbshader.c \
@ -42,9 +37,4 @@ nodist_libtnl_la_SOURCES = t_array_api.c \
t_vertex.c \
t_vertex_generic.c \
t_vertex_sse.c \
t_vp_build.c \
t_vtx_api.c \
t_vtx_eval.c \
t_vtx_exec.c \
t_vtx_generic.c \
t_vtx_x86.c
t_vp_build.c

35
GL/mesa/vbo/Makefile.am Normal file
View File

@ -0,0 +1,35 @@
noinst_LTLIBRARIES = libvbo.la
AM_CFLAGS = \
$(DIX_CFLAGS) \
-DXFree86Server \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
-I../glapi \
-I../main \
-I../math \
-I../shader \
-I../shader/slang \
-I../shader/slang \
-I../swrast \
-I../swrast_setup \
-I../tnl \
-I.. \
-I$(top_srcdir)/hw/xfree86/os-support
nodist_libvbo_la_SOURCES = vbo_context.c \
vbo_exec_api.c \
vbo_exec_array.c \
vbo_exec.c \
vbo_exec_draw.c \
vbo_exec_eval.c \
vbo_rebase.c \
vbo_save_api.c \
vbo_save.c \
vbo_save_draw.c \
vbo_save_loopback.c \
vbo_split.c \
vbo_split_copy.c \
vbo_split_inplace.c

View File

@ -85,15 +85,6 @@ symlink_mesa_math() {
done
}
symlink_mesa_ac() {
src_dir src/mesa/array_cache
dst_dir mesa/array_cache
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
action `basename $src`
done
}
symlink_mesa_swrast() {
src_dir src/mesa/swrast
dst_dir mesa/swrast
@ -157,6 +148,15 @@ symlink_mesa_shader_slang_library() {
done
}
symlink_mesa_vbo() {
src_dir src/mesa/vbo
dst_dir mesa/vbo
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
action `basename $src`
done
}
symlink_mesa_x() {
src_dir src/mesa/drivers/x11
dst_dir mesa/X
@ -203,7 +203,6 @@ symlink_mesa_x8664() {
symlink_mesa() {
symlink_mesa_main
symlink_mesa_math
symlink_mesa_ac
symlink_mesa_swrast
symlink_mesa_ss
symlink_mesa_tnl
@ -215,6 +214,7 @@ symlink_mesa() {
symlink_mesa_glapi
symlink_mesa_ppc
symlink_mesa_sparc
symlink_mesa_vbo
symlink_mesa_x86
symlink_mesa_x8664
}

View File

@ -1841,7 +1841,6 @@ Makefile
GL/Makefile
GL/glx/Makefile
GL/mesa/Makefile
GL/mesa/array_cache/Makefile
GL/mesa/glapi/Makefile
GL/mesa/main/Makefile
GL/mesa/math/Makefile
@ -1851,6 +1850,7 @@ GL/mesa/shader/slang/Makefile
GL/mesa/swrast/Makefile
GL/mesa/swrast_setup/Makefile
GL/mesa/tnl/Makefile
GL/mesa/vbo/Makefile
GL/mesa/X/Makefile
include/Makefile
afb/Makefile

View File

@ -35,6 +35,13 @@ int DamageClientPrivateIndex;
RESTYPE DamageExtType;
RESTYPE DamageExtWinType;
/* Version of the damage extension supported by the server, as opposed to the
* DAMAGE_* defines from damageproto for what version the proto header
* supports.
*/
#define SERVER_DAMAGE_MAJOR 1
#define SERVER_DAMAGE_MINOR 1
#define prScreen screenInfo.screens[0]
static void
@ -143,16 +150,16 @@ ProcDamageQueryVersion(ClientPtr client)
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
if (stuff->majorVersion < DAMAGE_MAJOR) {
if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) {
rep.majorVersion = stuff->majorVersion;
rep.minorVersion = stuff->minorVersion;
} else {
rep.majorVersion = DAMAGE_MAJOR;
if (stuff->majorVersion == DAMAGE_MAJOR &&
stuff->minorVersion < DAMAGE_MINOR)
rep.majorVersion = SERVER_DAMAGE_MAJOR;
if (stuff->majorVersion == SERVER_DAMAGE_MAJOR &&
stuff->minorVersion < SERVER_DAMAGE_MINOR)
rep.minorVersion = stuff->minorVersion;
else
rep.minorVersion = DAMAGE_MINOR;
rep.minorVersion = SERVER_DAMAGE_MINOR;
}
pDamageClient->major_version = rep.majorVersion;
pDamageClient->minor_version = rep.minorVersion;

View File

@ -1338,6 +1338,104 @@ fbCompositeSrc_8888x8888mmx (CARD8 op,
_mm_empty();
}
void
fbCompositeSrc_8888x0565mmx (CARD8 op,
PicturePtr pSrc,
PicturePtr pMask,
PicturePtr pDst,
INT16 xSrc,
INT16 ySrc,
INT16 xMask,
INT16 yMask,
INT16 xDst,
INT16 yDst,
CARD16 width,
CARD16 height)
{
CARD16 *dstLine, *dst;
CARD32 *srcLine, *src;
FbStride dstStride, srcStride;
CARD16 w;
CHECKPOINT();
fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1);
assert (pSrc->pDrawable == pMask->pDrawable);
while (height--)
{
dst = dstLine;
dstLine += dstStride;
src = srcLine;
srcLine += srcStride;
w = width;
CHECKPOINT();
while (w && (unsigned long)dst & 7)
{
__m64 vsrc = load8888 (*src);
ullong d = *dst;
__m64 vdest = expand565 ((__m64)d, 0);
vdest = pack565(over(vsrc, expand_alpha(vsrc), vdest), vdest, 0);
*dst = (ullong)vdest;
w--;
dst++;
src++;
}
CHECKPOINT();
while (w >= 4)
{
__m64 vsrc0, vsrc1, vsrc2, vsrc3;
__m64 vdest;
vsrc0 = load8888(*(src + 0));
vsrc1 = load8888(*(src + 1));
vsrc2 = load8888(*(src + 2));
vsrc3 = load8888(*(src + 3));
vdest = *(__m64 *)dst;
vdest = pack565(over(vsrc0, expand_alpha(vsrc0), expand565(vdest, 0)), vdest, 0);
vdest = pack565(over(vsrc1, expand_alpha(vsrc1), expand565(vdest, 1)), vdest, 1);
vdest = pack565(over(vsrc2, expand_alpha(vsrc2), expand565(vdest, 2)), vdest, 2);
vdest = pack565(over(vsrc3, expand_alpha(vsrc3), expand565(vdest, 3)), vdest, 3);
*(__m64 *)dst = vdest;
w -= 4;
dst += 4;
src += 4;
}
CHECKPOINT();
while (w)
{
__m64 vsrc = load8888 (*src);
ullong d = *dst;
__m64 vdest = expand565 ((__m64)d, 0);
vdest = pack565(over(vsrc, expand_alpha(vsrc), vdest), vdest, 0);
*dst = (ullong)vdest;
w--;
dst++;
src++;
}
}
_mm_empty();
}
void
fbCompositeSolidMask_nx8x8888mmx (CARD8 op,
PicturePtr pSrc,

View File

@ -130,6 +130,18 @@ void fbCompositeSrc_8888RevNPx8888mmx (CARD8 op,
INT16 yDst,
CARD16 width,
CARD16 height);
void fbCompositeSrc_8888x0565mmx (CARD8 op,
PicturePtr pSrc,
PicturePtr pMask,
PicturePtr pDst,
INT16 xSrc,
INT16 ySrc,
INT16 xMask,
INT16 yMask,
INT16 xDst,
INT16 yDst,
CARD16 width,
CARD16 height);
void fbCompositeSrc_8888RevNPx0565mmx (CARD8 op,
PicturePtr pSrc,
PicturePtr pMask,

View File

@ -1175,7 +1175,12 @@ fbComposite (CARD8 op,
func = fbCompositeSrc_8888x0888;
break;
case PICT_r5g6b5:
func = fbCompositeSrc_8888x0565;
#ifdef USE_MMX
if (fbHaveMMX())
func = fbCompositeSrc_8888x0565mmx;
else
#endif
func = fbCompositeSrc_8888x0565;
break;
default:
break;
@ -1221,7 +1226,12 @@ fbComposite (CARD8 op,
func = fbCompositeSrc_8888x0888;
break;
case PICT_b5g6r5:
func = fbCompositeSrc_8888x0565;
#ifdef USE_MMX
if (fbHaveMMX())
func = fbCompositeSrc_8888x0565mmx;
else
#endif
func = fbCompositeSrc_8888x0565;
break;
default:
break;
@ -1516,7 +1526,9 @@ static unsigned int detectCPUFeatures(void) {
features |= SSE;
if (result & (1 << 26))
features |= SSE2;
if ((result & MMX) && !(result & SSE) && (strcmp(vendor, "AuthenticAMD") == 0)) {
if ((features & MMX) && !(features & SSE) &&
(strcmp(vendor, "AuthenticAMD") == 0 ||
strcmp(vendor, "Geode by NSC") == 0)) {
/* check for AMD MMX extensions */
unsigned int result;

View File

@ -2,6 +2,7 @@ DIST_SUBDIRS = input config glxProxy examples doc
SUBDIRS = input config examples
bin_PROGRAMS = Xdmx
noinst_LIBRARIES = libfbcmap.a
if XINERAMA
PANORAMIX_SRCS = $(top_srcdir)/Xext/panoramiX.c
@ -16,13 +17,20 @@ GLX_INCS = -I$(top_srcdir)/hw/xfree86/dixmods/extmod \
GLX_DEFS = @GL_CFLAGS@
endif
# It's essential that fbcmap.c be compiled with this flag for DMX to work!!
DMX_CFLAGS = -DXFree86Server=1
if BUILDDOCS
SUBDIRS += doc
endif
AM_CFLAGS = \
-DHAVE_DMX_CONFIG_H \
$(DIX_CFLAGS) \
$(GLX_INCS) \
$(GLX_DEFS) \
@DMXMODULES_CFLAGS@
libfbcmap_a_SOURCES = libfbcmap.a
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
Xdmx_SOURCES = dmx.c \
dmxcb.c \
dmxcb.h \
@ -67,7 +75,6 @@ Xdmx_SOURCES = dmx.c \
dmxvisual.h \
dmxwindow.c \
dmxwindow.h \
$(top_srcdir)/fb/fbcmap.c \
$(top_srcdir)/mi/miinitext.c \
$(GLX_SRCS)
@ -82,16 +89,9 @@ Xdmx_LDADD = $(XORG_CORE_LIBS) \
$(GLX_LIBS) \
input/libdmxinput.a \
config/libdmxconfig.a \
libfbcmap.a \
@DMXMODULES_LIBS@
Xdmx_CFLAGS = \
-DHAVE_DMX_CONFIG_H \
$(DIX_CFLAGS) \
$(GLX_INCS) \
$(GLX_DEFS) \
$(DMX_CFLAGS) \
@DMXMODULES_CFLAGS@
# Man page
appmandir = $(APP_MAN_DIR)

View File

@ -49,58 +49,6 @@ typedef struct {
} __GLXpixmap;
struct __GLXdrawablePrivateRec {
/*
** list of drawable private structs
*/
struct __GLXdrawablePrivateRec *last;
struct __GLXdrawablePrivateRec *next;
DrawablePtr pDraw;
XID drawId;
__GLXpixmap *pGlxPixmap;
/*
** Either DRAWABLE_PIXMAP or DRAWABLE_WINDOW, copied from pDraw above.
** Needed by the resource freer because pDraw might already have been
** freed.
*/
int type;
/*
** Configuration of the visual to which this drawable was created.
*/
__GLXvisualConfig *pGlxVisual;
/*
** cached drawable size and origin
*/
GLint xorigin, yorigin;
GLint width, height;
/*
** list of contexts bound to this drawable
*/
struct __GLXcontextRec *glxc;
/*
** "methods" that the drawble should be able to respond to.
*/
void (*freeBuffers)(struct __GLXdrawablePrivateRec *);
void (*updatePalette)(struct __GLXdrawablePrivateRec *);
GLboolean (*swapBuffers)(struct __GLXdrawablePrivateRec *);
/*
** The GL drawable (information shared between GLX and the GL core)
*/
__GLdrawablePrivate glPriv;
/*
** reference count
*/
int refCount;
};
typedef struct {
DrawablePtr pDraw;
int type;

View File

@ -58,9 +58,6 @@
#include <GL/glxproto.h>
#include <GL/glxint.h>
/* For glxscreens.h */
typedef struct __GLXdrawablePrivateRec __GLXdrawablePrivate;
#include "glxscreens.h"
#include "glxdrawable.h"
#include "glxcontext.h"

View File

@ -81,7 +81,8 @@ Bool
ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv)
{
int width = 640, height = 480;
unsigned long redMask, greenMask, blueMask;
if (hostx_want_screen_size(&width, &height)
|| !screen->width || !screen->height)
{
@ -133,30 +134,24 @@ ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv)
{
screen->fb[0].depth = 15;
screen->fb[0].bitsPerPixel = 16;
hostx_get_visual_masks (&screen->fb[0].redMask,
&screen->fb[0].greenMask,
&screen->fb[0].blueMask);
}
else if (screen->fb[0].depth <= 16)
{
screen->fb[0].depth = 16;
screen->fb[0].bitsPerPixel = 16;
hostx_get_visual_masks (&screen->fb[0].redMask,
&screen->fb[0].greenMask,
&screen->fb[0].blueMask);
}
else
{
screen->fb[0].depth = 24;
screen->fb[0].bitsPerPixel = 32;
hostx_get_visual_masks (&screen->fb[0].redMask,
&screen->fb[0].greenMask,
&screen->fb[0].blueMask);
}
hostx_get_visual_masks (&redMask, &greenMask, &blueMask);
screen->fb[0].redMask = (Pixel) redMask;
screen->fb[0].greenMask = (Pixel) greenMask;
screen->fb[0].blueMask = (Pixel) blueMask;
}
scrpriv->randr = screen->randr;

View File

@ -1,12 +1,21 @@
bin_PROGRAMS = Xvfb
noinst_LIBRARIES = libfbcmap.a
AM_CFLAGS = -DHAVE_DIX_CONFIG_H \
-DNO_HW_ONLY_EXTS \
-DNO_MODULE_EXTS \
$(XVFBMODULES_CFLAGS) \
$(DIX_CFLAGS)
SRCS = InitInput.c \
InitOutput.c \
lk201kbd.h \
$(top_srcdir)/Xext/dpmsstubs.c \
$(top_srcdir)/Xi/stubs.c \
$(top_srcdir)/mi/miinitext.c \
$(top_srcdir)/fb/fbcmap.c
$(top_srcdir)/mi/miinitext.c
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap.c
Xvfb_SOURCES = $(SRCS)
@ -14,16 +23,8 @@ Xvfb_LDADD = $(XORG_CORE_LIBS) \
$(XVFB_LIBS) \
$(XSERVER_LIBS) \
$(EXTENSION_LIBS) \
$(XVFBMODULES_LIBS)
Xvfb_LDFLAGS =
AM_CFLAGS = -DHAVE_DIX_CONFIG_H \
-DNO_HW_ONLY_EXTS \
-DNO_MODULE_EXTS \
-DXFree86Server \
$(XVFBMODULES_CFLAGS) \
$(DIX_CFLAGS)
$(XVFBMODULES_LIBS) \
libfbcmap.a
# Man page
include $(top_srcdir)/cpprules.in

View File

@ -725,6 +725,11 @@ xf86SetModeCrtc(DisplayModePtr p, int adjustFlags)
p->CrtcVSyncEnd *= p->VScan;
p->CrtcVTotal *= p->VScan;
}
p->CrtcVBlankStart = min(p->CrtcVSyncStart, p->CrtcVDisplay);
p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
p->CrtcHAdjusted = FALSE;
p->CrtcVAdjusted = FALSE;
}

View File

@ -63,6 +63,40 @@ static void x86emuOp2_illegal_op(
#define xorl(a,b) ((a) && !(b)) || (!(a) && (b))
/****************************************************************************
REMARKS:
Handles opcode 0x0f,0x31
****************************************************************************/
static void x86emuOp2_rdtsc(u8 X86EMU_UNUSED(op2))
{
#ifdef __HAS_LONG_LONG__
static u64 counter = 0;
#else
static u32 counter = 0;
#endif
counter += 0x10000;
/* read timestamp counter */
/*
* Note that instead of actually trying to accurately measure this, we just
* increase the counter by a fixed amount every time we hit one of these
* instructions. Feel free to come up with a better method.
*/
START_OF_INSTR();
DECODE_PRINTF("RDTSC\n");
TRACE_AND_STEP();
#ifdef __HAS_LONG_LONG__
M.x86.R_EAX = counter & 0xffffffff;
M.x86.R_EDX = counter >> 32;
#else
M.x86.R_EAX = counter;
M.x86.R_EDX = 0;
#endif
DECODE_CLEAR_SEGOVR();
END_OF_INSTR();
}
/****************************************************************************
REMARKS:
Handles opcode 0x0f,0x80-0x8F
@ -2580,7 +2614,7 @@ void (*x86emu_optab2[256])(u8) =
/* 0x2f */ x86emuOp2_illegal_op,
/* 0x30 */ x86emuOp2_illegal_op,
/* 0x31 */ x86emuOp2_illegal_op,
/* 0x31 */ x86emuOp2_rdtsc,
/* 0x32 */ x86emuOp2_illegal_op,
/* 0x33 */ x86emuOp2_illegal_op,
/* 0x34 */ x86emuOp2_illegal_op,

View File

@ -1,4 +1,10 @@
bin_PROGRAMS = Xnest
noinst_LIBRARIES = libfbcmap.a
AM_CFLAGS = -DHAVE_XNEST_CONFIG_H \
-DNO_HW_ONLY_EXTS \
$(DIX_CFLAGS) \
$(XNESTMODULES_CFLAGS)
SRCS = Args.c \
Args.h \
@ -37,23 +43,17 @@ SRCS = Args.c \
xnest-config.h \
$(top_srcdir)/Xext/dpmsstubs.c \
$(top_srcdir)/Xi/stubs.c \
$(top_srcdir)/mi/miinitext.c \
$(top_srcdir)/fb/fbcmap.c
$(top_srcdir)/mi/miinitext.c
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap.c
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
Xnest_SOURCES = $(SRCS)
Xnest_LDADD = $(XORG_CORE_LIBS) \
$(XNEST_LIBS) \
$(XNESTMODULES_LIBS)
Xnest_LDFLAGS =
AM_CFLAGS = -DHAVE_XNEST_CONFIG_H \
-DNO_HW_ONLY_EXTS \
-DXFree86Server \
$(DIX_CFLAGS) \
$(XNESTMODULES_CFLAGS)
$(XNESTMODULES_LIBS) \
libfbcmap.a
EXTRA_DIST = os2Stub.c \
icon \

View File

@ -870,7 +870,7 @@ ProcRRSetCrtcGamma (ClientPtr client)
unsigned long len;
CARD16 *red, *green, *blue;
REQUEST_SIZE_MATCH(xRRSetCrtcGammaReq);
REQUEST_AT_LEAST_SIZE(xRRSetCrtcGammaReq);
crtc = LookupCrtc (client, stuff->crtc, DixWriteAccess);
if (!crtc)
return RRErrorBase + BadRRCrtc;

View File

@ -1220,7 +1220,7 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr dst, Bool sendNotifies)
tmp = xalloc(src->max_key_code + 1);
if (!tmp)
return FALSE;
dst->map->syms = tmp;
dst->map->modmap = tmp;
}
memcpy(dst->map->modmap, src->map->modmap, src->max_key_code + 1);
}