mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-28 09:15:08 +00:00
configure.ac: Detect and indicate if GCC inline assembly syntax is available.
Original commit message from CVS: * configure.ac: Detect and indicate if GCC inline assembly syntax is available. * gst/goom/Makefile.am: * gst/goom/convolve_fx.c: * gst/goom/flying_stars_fx.c: * gst/goom/goom_config.h: * gst/goom/goom_core.c: * gst/goom/goomsl.c: * gst/goom/ifs.c: * gst/goom/mmx.c: * gst/goom/plugin_info.c: * gst/goom/xmmx.c: Fix various GCC-isms, and only build the inline assembly with compilers that support GCC inline assembly. Fix a couple of other warnings shown with Forte.
This commit is contained in:
parent
c99b95d8cb
commit
c34fa140d0
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
||||||
|
2008-02-26 Jan Schmidt <jan.schmidt@sun.com>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
Detect and indicate if GCC inline assembly syntax is
|
||||||
|
available.
|
||||||
|
|
||||||
|
* gst/goom/Makefile.am:
|
||||||
|
* gst/goom/convolve_fx.c:
|
||||||
|
* gst/goom/flying_stars_fx.c:
|
||||||
|
* gst/goom/goom_config.h:
|
||||||
|
* gst/goom/goom_core.c:
|
||||||
|
* gst/goom/goomsl.c:
|
||||||
|
* gst/goom/ifs.c:
|
||||||
|
* gst/goom/mmx.c:
|
||||||
|
* gst/goom/plugin_info.c:
|
||||||
|
* gst/goom/xmmx.c:
|
||||||
|
Fix various GCC-isms, and only build the inline assembly
|
||||||
|
with compilers that support GCC inline assembly.
|
||||||
|
|
||||||
|
Fix a couple of other warnings shown with Forte.
|
||||||
|
|
||||||
2008-02-25 Stefan Kost <ensonic@users.sf.net>
|
2008-02-25 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
* gst/goom/xmmx.c:
|
* gst/goom/xmmx.c:
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit 1c5138efc5679d9eaee66c84dcfabdec5b727493
|
Subproject commit e746d20ef536a73aea9964666c7d5f6d5c9465df
|
|
@ -337,6 +337,13 @@ dnl Check for Yacc and Lex for the goom plugin
|
||||||
AG_GST_BISON_CHECK
|
AG_GST_BISON_CHECK
|
||||||
AG_GST_FLEX_CHECK
|
AG_GST_FLEX_CHECK
|
||||||
AM_PROG_AS
|
AM_PROG_AS
|
||||||
|
dnl Check if we have GCC inline-asm
|
||||||
|
AS_GCC_INLINE_ASSEMBLY([HAVE_GCC_ASM=yes], [HAVE_GCC_ASM=no])
|
||||||
|
if test x$HAVE_GCC_ASM = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_GCC_ASM, 1,
|
||||||
|
[Define if compiler supports gcc inline assembly])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(HAVE_GCC_ASM, test "x$HAVE_GCC_ASM" = "xyes")
|
||||||
|
|
||||||
dnl *** sys plug-ins ***
|
dnl *** sys plug-ins ***
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ ARCH_FILES = $(PPC_FILES)
|
||||||
endif
|
endif
|
||||||
if HAVE_CPU_I386
|
if HAVE_CPU_I386
|
||||||
ARCH_FILES = $(MMX_FILES)
|
ARCH_FILES = $(MMX_FILES)
|
||||||
ARCH_CFLAGS = -DHAVE_MMX
|
ARCH_CFLAGS = -DBUILD_MMX
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libgstgoom_la_SOURCES = \
|
libgstgoom_la_SOURCES = \
|
||||||
|
|
|
@ -340,10 +340,10 @@ VisualFX
|
||||||
convolve_create (void)
|
convolve_create (void)
|
||||||
{
|
{
|
||||||
VisualFX vfx = {
|
VisualFX vfx = {
|
||||||
init:convolve_init,
|
convolve_init,
|
||||||
free:convolve_free,
|
convolve_free,
|
||||||
apply:convolve_apply,
|
convolve_apply,
|
||||||
fx_data:0
|
NULL
|
||||||
};
|
};
|
||||||
return vfx;
|
return vfx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,8 +200,7 @@ fs_sound_event_occured (VisualFX * _this, PluginInfo * info)
|
||||||
FSData *data = (FSData *) _this->fx_data;
|
FSData *data = (FSData *) _this->fx_data;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
int max =
|
int max = (int) ((1.0f + info->sound.goomPower) * goom_irand (info->gRandom,
|
||||||
(int) ((1.0f + info->sound.goomPower) * goom_irand (info->gRandom,
|
|
||||||
150)) + 100;
|
150)) + 100;
|
||||||
float radius =
|
float radius =
|
||||||
(1.0f + info->sound.goomPower) * (float) (goom_irand (info->gRandom,
|
(1.0f + info->sound.goomPower) * (float) (goom_irand (info->gRandom,
|
||||||
|
@ -332,10 +331,10 @@ VisualFX
|
||||||
flying_star_create (void)
|
flying_star_create (void)
|
||||||
{
|
{
|
||||||
VisualFX vfx = {
|
VisualFX vfx = {
|
||||||
init:fs_init,
|
fs_init,
|
||||||
free:fs_free,
|
fs_free,
|
||||||
apply:fs_apply,
|
fs_apply,
|
||||||
fx_data:0
|
NULL
|
||||||
};
|
};
|
||||||
return vfx;
|
return vfx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,3 +26,7 @@
|
||||||
#define gint16 signed short int
|
#define gint16 signed short int
|
||||||
#define gint32 signed int
|
#define gint32 signed int
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined (BUILD_MMX) && defined (HAVE_GCC_ASM)
|
||||||
|
#define HAVE_MMX
|
||||||
|
#endif
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <strings.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
#include "goom.h"
|
#include "goom.h"
|
||||||
|
@ -721,8 +722,7 @@ goom_update (PluginInfo * goomInfo, gint16 data[2][512],
|
||||||
goomInfo->update.lineMode--;
|
goomInfo->update.lineMode--;
|
||||||
if (goomInfo->update.lineMode == -1)
|
if (goomInfo->update.lineMode == -1)
|
||||||
goomInfo->update.lineMode = 0;
|
goomInfo->update.lineMode = 0;
|
||||||
} else
|
} else if ((goomInfo->cycle % 80 == 0)
|
||||||
if ((goomInfo->cycle % 80 == 0)
|
|
||||||
&& (goom_irand (goomInfo->gRandom, 5) == 0) && goomInfo->update.lineMode)
|
&& (goom_irand (goomInfo->gRandom, 5) == 0) && goomInfo->update.lineMode)
|
||||||
goomInfo->update.lineMode--;
|
goomInfo->update.lineMode--;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <glib.h>
|
||||||
#include "goomsl.h"
|
#include "goomsl.h"
|
||||||
#include "goomsl_private.h"
|
#include "goomsl_private.h"
|
||||||
#include "goomsl_yacc.h"
|
#include "goomsl_yacc.h"
|
||||||
|
@ -465,7 +466,6 @@ gsl_instr_validate (Instruction * _this)
|
||||||
default:
|
default:
|
||||||
return VALIDATE_TODO;
|
return VALIDATE_TODO;
|
||||||
}
|
}
|
||||||
return VALIDATE_ERROR;
|
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
/*************/
|
/*************/
|
||||||
|
|
|
@ -470,7 +470,7 @@ static void
|
||||||
ifs_update (PluginInfo * goomInfo, Pixel * data, Pixel * back, int increment,
|
ifs_update (PluginInfo * goomInfo, Pixel * data, Pixel * back, int increment,
|
||||||
IfsData * fx_data)
|
IfsData * fx_data)
|
||||||
{
|
{
|
||||||
static int couleur = 0xc0c0c0c0;
|
static unsigned int couleur = 0xc0c0c0c0;
|
||||||
static int v[4] = { 2, 4, 3, 2 };
|
static int v[4] = { 2, 4, 3, 2 };
|
||||||
static int col[4] = { 2, 4, 3, 2 };
|
static int col[4] = { 2, 4, 3, 2 };
|
||||||
|
|
||||||
|
@ -486,7 +486,7 @@ ifs_update (PluginInfo * goomInfo, Pixel * data, Pixel * back, int increment,
|
||||||
IFSPoint *points;
|
IFSPoint *points;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
int couleursl = couleur;
|
unsigned int couleursl = couleur;
|
||||||
int width = goomInfo->screen.width;
|
int width = goomInfo->screen.width;
|
||||||
int height = goomInfo->screen.height;
|
int height = goomInfo->screen.height;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_CPU_I386) || defined (HAVE_CPU_X86_64)
|
#include "goom_config.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_MMX
|
||||||
|
|
||||||
#define BUFFPOINTNB 16
|
#define BUFFPOINTNB 16
|
||||||
#define BUFFPOINTMASK 0xffff
|
#define BUFFPOINTMASK 0xffff
|
||||||
|
@ -252,5 +256,10 @@ end_of_line:
|
||||||
emms ();
|
emms ();
|
||||||
/* __asm__ __volatile__ ("emms"); */
|
/* __asm__ __volatile__ ("emms"); */
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
#endif /* HAVE_CPU_I386 || HAVE_CPU_X86_64 */
|
int
|
||||||
|
mmx_supported (void)
|
||||||
|
{
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
#endif /* HAVE_MMX */
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "goom_config.h"
|
||||||
|
|
||||||
#include "goom_plugin_info.h"
|
#include "goom_plugin_info.h"
|
||||||
#include "goom_fx.h"
|
#include "goom_fx.h"
|
||||||
#include "default_scripts.h"
|
#include "default_scripts.h"
|
||||||
|
@ -18,9 +22,9 @@
|
||||||
#endif /* HAVE_CPU_PPC64 || HAVE_CPU_PPC */
|
#endif /* HAVE_CPU_PPC64 || HAVE_CPU_PPC */
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_CPU_I386
|
#ifdef HAVE_MMX
|
||||||
#include "mmx.h"
|
#include "mmx.h"
|
||||||
#endif /* HAVE_CPU_I386 */
|
#endif /* HAVE_MMX */
|
||||||
|
|
||||||
#include <liboil/liboil.h>
|
#include <liboil/liboil.h>
|
||||||
#include <liboil/liboilfunction.h>
|
#include <liboil/liboilfunction.h>
|
||||||
|
@ -44,6 +48,7 @@ setOptimizedMethods (PluginInfo * p)
|
||||||
|
|
||||||
/* FIXME: what about HAVE_CPU_X86_64 ? */
|
/* FIXME: what about HAVE_CPU_X86_64 ? */
|
||||||
#ifdef HAVE_CPU_I386
|
#ifdef HAVE_CPU_I386
|
||||||
|
#ifdef HAVE_MMX
|
||||||
GST_INFO ("have an x86");
|
GST_INFO ("have an x86");
|
||||||
if (cpuFlavour & OIL_IMPL_FLAG_MMXEXT) {
|
if (cpuFlavour & OIL_IMPL_FLAG_MMXEXT) {
|
||||||
GST_INFO ("Extended MMX detected. Using the fastest methods!");
|
GST_INFO ("Extended MMX detected. Using the fastest methods!");
|
||||||
|
@ -56,6 +61,7 @@ setOptimizedMethods (PluginInfo * p)
|
||||||
} else {
|
} else {
|
||||||
GST_INFO ("Too bad ! No SIMD optimization available for your CPU.");
|
GST_INFO ("Too bad ! No SIMD optimization available for your CPU.");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif /* HAVE_CPU_I386 */
|
#endif /* HAVE_CPU_I386 */
|
||||||
|
|
||||||
#ifdef HAVE_CPU_PPC64
|
#ifdef HAVE_CPU_PPC64
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "goom_config.h"
|
||||||
|
|
||||||
#ifdef HAVE_MMX
|
#ifdef HAVE_MMX
|
||||||
|
|
||||||
|
@ -362,5 +367,10 @@ end_of_line:
|
||||||
/* this was femms, which is AMD 3dnow */
|
/* this was femms, which is AMD 3dnow */
|
||||||
__asm__ __volatile__ ("emms\n");
|
__asm__ __volatile__ ("emms\n");
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
int
|
||||||
|
xmmx_supported (void)
|
||||||
|
{
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue