Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
This commit is contained in:
commit
16eb7254f8
4
GL/mesa/.gitignore
vendored
4
GL/mesa/.gitignore
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,7 +2,6 @@ noinst_LTLIBRARIES = libX.la
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -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
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -9,7 +9,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../../X \
|
||||
-I../../array_cache \
|
||||
-I../../glapi \
|
||||
-I../../main \
|
||||
-I../../math \
|
||||
|
|
|
@ -8,7 +8,6 @@ AM_CFLAGS = \
|
|||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../grammar \
|
||||
-I../../X \
|
||||
-I../../array_cache \
|
||||
-I../../glapi \
|
||||
-I../../main \
|
||||
-I../../math \
|
||||
|
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -7,7 +7,6 @@ AM_CFLAGS = \
|
|||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../array_cache \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
|
|
|
@ -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
35
GL/mesa/vbo/Makefile.am
Normal 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
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
98
fb/fbmmx.c
98
fb/fbmmx.c
|
@ -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,
|
||||
|
|
12
fb/fbmmx.h
12
fb/fbmmx.h
|
@ -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,
|
||||
|
|
18
fb/fbpict.c
18
fb/fbpict.c
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user