Permalink
Browse files

Merge pull request #875 from aviksil/arm-fixes

Fixes to get XBMC building on ARM
  • Loading branch information...
2 parents b95739e + c208cc9 commit 81e874f3d20a027a844438b29f9dbcbc33d36737 @amejia1 amejia1 committed Apr 18, 2012
Showing with 5 additions and 26 deletions.
  1. +3 −6 configure.in
  2. +2 −6 xbmc/utils/MathUtils.h
  3. +0 −14 xbmc/windowing/X11/WinSystemX11GLES.cpp
View
9 configure.in
@@ -571,9 +571,9 @@ if test "$host_vendor" = "apple" ; then
LIBS="$LIBS -framework ApplicationServices"
fi
elif test "$use_arch" = "arm"; then
- CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
- CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
- FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp"
+ CFLAGS="$CFLAGS -mno-apcs-stack-check"
+ CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
+ FFMPEG_EXTRACFLAGS=""
if test "$use_tegra" = "yes"; then
# Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support
SAVE_CFLAGS="$CFLAGS"
@@ -588,9 +588,6 @@ elif test "$use_arch" = "arm"; then
CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
use_cpu=cortex-a8])
else
- # Compile for ARMv7a architecture, CortexA8 cpu and check for enabled NEON coprocessor
- CFLAGS="$CFLAGS -Wa,-march=armv7a -mcpu=cortex-a8"
- CXXFLAGS="$CXXFLAGS -Wa,-march=armv7a -mcpu=cortex-a8"
if test "$use_neon" = "yes"; then
CFLAGS="$CFLAGS -mfpu=neon -mvectorize-with-neon-quad"
CXXFLAGS="$CXXFLAGS -mfpu=neon -mvectorize-with-neon-quad"
View
8 xbmc/utils/MathUtils.h
@@ -84,7 +84,7 @@ namespace MathUtils
*/
__asm__ __volatile__ (
- "vmov.F64 d1,%[rnd_val] \n\t" // Copy round_to_nearest into a working register (d1 = 0.5)
+ "fconstd d1,#%G[rnd_val] \n\t" // Copy round_to_nearest into a working register (d1 = 0.5)
"fcmpezd %P[value] \n\t" // Check value against zero (value == 0?)
"fmstat \n\t" // Copy the floating-point status flags into the general-purpose status flags
"it mi \n\t"
@@ -94,11 +94,7 @@ namespace MathUtils
"vmov %[result],s3 \n\t" // Store the integer result in a general-purpose register (result = s3)
"vcvt.F64.S32 d1,s3 \n\t" // Convert back to floating-point (d1 = (double)s3)
"vsub.F64 d1,%P[value],d1 \n\t" // Calculate the error (d1 = value - d1)
- "vmov.F64 d2,%[rnd_val] \n\t" // d2 = 0.5;
- "fcmped d1, d2 \n\t" // (d1 == 0.5?)
- "fmstat \n\t" // Copy the floating-point status flags into the general-purpose status flags
- "it eq \n\t"
- "addeq %[result],#1 \n\t" // (if (d1 == d2) result++;)
+ "fconstd d2,#%G[rnd_val] \n\t" // d2 = 0.5;
: [result] "=r"(i) // Outputs
: [rnd_val] "Dv" (round_to_nearest), [value] "w"(x) // Inputs
: "d1", "d2", "s3" // Clobbers
View
14 xbmc/windowing/X11/WinSystemX11GLES.cpp
@@ -135,20 +135,6 @@ bool CWinSystemX11GLES::DestroyWindowSystem()
m_eglSurface = NULL;
}
- // Needed???
- if (m_eglWindow)
- {
- XDestroyWindow(m_dpy, m_eglWindow);
- m_eglWindow = 0;
- }
-
- // Needed???
- if (m_wmWindow)
- {
- XDestroyWindow(m_dpy, m_wmWindow);
- m_wmWindow = 0;
- }
-
if (m_eglDisplay)
{
eglTerminate(m_eglDisplay);

0 comments on commit 81e874f

Please sign in to comment.