- detect if the OpenGL implementation defines the paletted texture and

color table extensions
- small warning fixes
- fix the double '-lXxf86dga' when having DGA 2.0
This commit is contained in:
Lionel Ulmer 2000-01-05 01:51:02 +00:00 committed by Alexandre Julliard
parent f1a3f1752d
commit 48c0816476
6 changed files with 330 additions and 174 deletions

452
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -154,7 +154,10 @@ then
if test "$ac_cv_header_X11_Xlib_h" = "yes" -a "$ac_cv_header_X11_extensions_xf86dga_h" = "yes" if test "$ac_cv_header_X11_Xlib_h" = "yes" -a "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
then then
AC_CHECK_LIB(Xxf86dga,XDGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA2) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11) AC_CHECK_LIB(Xxf86dga,XDGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA2) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11)
AC_CHECK_LIB(Xxf86dga,XF86DGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11) if test "$ac_cv_lib_Xxf86dga_XDGAQueryExtension" = "no"
then
AC_CHECK_LIB(Xxf86dga,XF86DGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11)
fi
fi fi
dnl Check for XFree86 VMODE extension dnl Check for XFree86 VMODE extension
@ -186,6 +189,21 @@ then
then then
AC_CHECK_LIB(MesaGL,glXCreateContext,AC_DEFINE(HAVE_LIBMESAGL) X_PRE_LIBS="$X_PRE_LIBS -lMesaGL",,$X_LIBS -lXext -lX11 -lm) AC_CHECK_LIB(MesaGL,glXCreateContext,AC_DEFINE(HAVE_LIBMESAGL) X_PRE_LIBS="$X_PRE_LIBS -lMesaGL",,$X_LIBS -lXext -lX11 -lm)
fi fi
dnl Check for the Color Table and Paletted Texture extensions
AC_CACHE_CHECK("for the OpenGL Color Index extension",dummy,
AC_TRY_COMPILE(
[#include <GL/gl.h>],
[GLenum test = GL_COLOR_INDEX8_EXT;],
[AC_DEFINE(HAVE_GL_COLOR_TABLE)],
)
)
if test "$ac_cv_lib_GL_glXCreateContext" = "no"
then
AC_CHECK_LIB(MesaGL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm)
else
AC_CHECK_LIB(GL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm)
fi
fi fi
fi fi

View File

@ -497,7 +497,8 @@ static HRESULT enum_texture_format_OpenGL(LPD3DENUMTEXTUREFORMATSCALLBACK cb,
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
#endif #endif
#if defined(HAVE_GL_COLOR_TABLE) && defined(HAVE_GL_PALETTED_TEXTURE)
TRACE("Enumerating Paletted (8)\n"); TRACE("Enumerating Paletted (8)\n");
pformat->dwFlags = DDPF_PALETTEINDEXED8; pformat->dwFlags = DDPF_PALETTEINDEXED8;
pformat->u.dwRGBBitCount = 8; pformat->u.dwRGBBitCount = 8;
@ -507,6 +508,7 @@ static HRESULT enum_texture_format_OpenGL(LPD3DENUMTEXTUREFORMATSCALLBACK cb,
pformat->u4.dwRGBAlphaBitMask = 0x00000000; pformat->u4.dwRGBAlphaBitMask = 0x00000000;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
#endif
TRACE("End of enumeration\n"); TRACE("End of enumeration\n");

View File

@ -32,7 +32,7 @@ DEFAULT_DEBUG_CHANNEL(ddraw)
char buf[32]; \ char buf[32]; \
int x, y; \ int x, y; \
\ \
sprintf(buf, "%d.pnm", This->tex_name); \ sprintf(buf, "%ld.pnm", This->tex_name); \
f = fopen(buf, "wb"); \ f = fopen(buf, "wb"); \
fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \ fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \
for (y = 0; y < src_d->dwHeight; y++) { \ for (y = 0; y < src_d->dwHeight; y++) { \
@ -52,7 +52,7 @@ DEFAULT_DEBUG_CHANNEL(ddraw)
char buf[32]; \ char buf[32]; \
int x, y; \ int x, y; \
\ \
sprintf(buf, "%d.pnm", This->tex_name); \ sprintf(buf, "%ld.pnm", This->tex_name); \
f = fopen(buf, "wb"); \ f = fopen(buf, "wb"); \
fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \ fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \
for (y = 0; y < src_d->dwHeight; y++) { \ for (y = 0; y < src_d->dwHeight; y++) { \
@ -72,7 +72,7 @@ DEFAULT_DEBUG_CHANNEL(ddraw)
char buf[32]; \ char buf[32]; \
int x, y; \ int x, y; \
\ \
sprintf(buf, "%d.pnm", This->tex_name); \ sprintf(buf, "%ld.pnm", This->tex_name); \
f = fopen(buf, "wb"); \ f = fopen(buf, "wb"); \
fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \ fprintf(f, "P6\n%ld %ld\n255\n", src_d->dwWidth, src_d->dwHeight); \
for (y = 0; y < src_d->dwHeight; y++) { \ for (y = 0; y < src_d->dwHeight; y++) { \
@ -282,7 +282,7 @@ static HRESULT WINAPI IDirect3DTextureImpl_GetHandle(LPDIRECT3DTEXTURE iface,
glGenTextures(1, &(This->tex_name)); glGenTextures(1, &(This->tex_name));
LEAVE_GL(); LEAVE_GL();
TRACE("OpenGL texture handle is : %d\n", This->tex_name); TRACE("OpenGL texture handle is : %ld\n", This->tex_name);
return D3D_OK; return D3D_OK;
} }
@ -325,7 +325,7 @@ static HRESULT WINAPI IDirect3DTexture2Impl_GetHandle(LPDIRECT3DTEXTURE2 iface,
glGenTextures(1, &(This->tex_name)); glGenTextures(1, &(This->tex_name));
LEAVE_GL(); LEAVE_GL();
TRACE("OpenGL texture handle is : %d\n", This->tex_name); TRACE("OpenGL texture handle is : %ld\n", This->tex_name);
return D3D_OK; return D3D_OK;
} }
@ -420,8 +420,9 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
/* Texture snooping */ /* Texture snooping */
SNOOP_PALETTED(); SNOOP_PALETTED();
/* Use Paletted Texture Extension */ #if defined(HAVE_GL_COLOR_TABLE) && defined(HAVE_GL_PALETTED_TEXTURE)
/* use Paletted Texture Extension */
glColorTableEXT(GL_TEXTURE_2D, /* target */ glColorTableEXT(GL_TEXTURE_2D, /* target */
GL_RGBA, /* internal format */ GL_RGBA, /* internal format */
256, /* table size */ 256, /* table size */
@ -437,6 +438,7 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
GL_COLOR_INDEX, /* texture format */ GL_COLOR_INDEX, /* texture format */
GL_UNSIGNED_BYTE, /* texture type */ GL_UNSIGNED_BYTE, /* texture type */
src_d->u1.lpSurface); /* the texture */ src_d->u1.lpSurface); /* the texture */
#endif
} else if (src_d->ddpfPixelFormat.dwFlags & DDPF_RGB) { } else if (src_d->ddpfPixelFormat.dwFlags & DDPF_RGB) {
/* ************ /* ************
RGB Textures RGB Textures

View File

@ -104,3 +104,9 @@
/* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */ /* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */
#undef HAVE_LINUX_22_JOYSTICK_API #undef HAVE_LINUX_22_JOYSTICK_API
/* Define if the OpenGL implementation supports the GL_EXT_color_table extension */
#undef HAVE_GL_COLOR_TABLE
/* Define if the OpenGL implementation supports the GL_EXT_paletted_texture extension */
#undef HAVE_GL_PALETTED_TEXTURE

View File

@ -137,6 +137,12 @@
/* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */ /* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */
#undef HAVE_LINUX_22_JOYSTICK_API #undef HAVE_LINUX_22_JOYSTICK_API
/* Define if the OpenGL implementation supports the GL_EXT_color_table extension */
#undef HAVE_GL_COLOR_TABLE
/* Define if the OpenGL implementation supports the GL_EXT_paletted_texture extension */
#undef HAVE_GL_PALETTED_TEXTURE
/* The number of bytes in a long long. */ /* The number of bytes in a long long. */
#undef SIZEOF_LONG_LONG #undef SIZEOF_LONG_LONG