gst/goom/xmmx.c: Use 'emms' instead of 'femms' to not crash on cpus that do not implement this 3dnow specific instruc...

Original commit message from CVS:
* gst/goom/xmmx.c:
Use 'emms' instead of 'femms' to not crash on cpus that do not
implement this 3dnow specific instruction.
This commit is contained in:
Stefan Kost 2008-02-25 12:03:46 +00:00
parent 58a68b1823
commit bf2fdcbb29
2 changed files with 13 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2008-02-25 Stefan Kost <ensonic@users.sf.net>
* gst/goom/xmmx.c:
Use 'emms' instead of 'femms' to not crash on cpus that do not
implement this 3dnow specific instruction.
2008-02-25 Sebastian Dröge <slomo@circular-chaos.org> 2008-02-25 Sebastian Dröge <slomo@circular-chaos.org>
* gst/goom/plugin_info.c: (setOptimizedMethods): * gst/goom/plugin_info.c: (setOptimizedMethods):

View file

@ -170,8 +170,8 @@ zoom_filter_xmmx (int prevX, int prevY,
movq_r2r (mm3, mm5); /* c2-c2-c2-c2-c1-c1-c1-c1 */ movq_r2r (mm3, mm5); /* c2-c2-c2-c2-c1-c1-c1-c1 */
/*^en parrallele^ *//* depackage du 2ieme pixel */ /*^en parrallele^ *//* depackage du 2ieme pixel */
/*^ */ punpckhbw_r2r (mm7, mm1); /*^ */ punpckhbw_r2r (mm7, mm1);
/* 00-b1-00-v1-00-r1-00-a1 */ /* 00-b1-00-v1-00-r1-00-a1 */
punpcklbw_r2r (mm7, mm5); /* 00-c1-00-c1-00-c1-00-c1 */ punpcklbw_r2r (mm7, mm5); /* 00-c1-00-c1-00-c1-00-c1 */
punpckhbw_r2r (mm7, mm3); /* 00-c2-00-c2-00-c2-00-c2 */ punpckhbw_r2r (mm7, mm3); /* 00-c2-00-c2-00-c2-00-c2 */
@ -197,7 +197,7 @@ zoom_filter_xmmx (int prevX, int prevY,
pmullw_r2r (mm4, mm1); pmullw_r2r (mm4, mm1);
pmullw_r2r (mm5, mm2); pmullw_r2r (mm5, mm2);
/* ajout des valeurs obtenues à la valeur finale */ /* ajout des valeurs obtenues <EFBFBD> la valeur finale */
paddw_r2r (mm1, mm0); paddw_r2r (mm1, mm0);
paddw_r2r (mm2, mm0); paddw_r2r (mm2, mm0);
@ -209,7 +209,8 @@ zoom_filter_xmmx (int prevX, int prevY,
++loop; ++loop;
} }
__asm__ __volatile__ ("femms\n"); /* this was femms, which is AMD 3dnow */
__asm__ __volatile__ ("emms\n");
} }
#define DRAWMETHOD_PLUS_XMMX(_out,_backbuf,_col) \ #define DRAWMETHOD_PLUS_XMMX(_out,_backbuf,_col) \
@ -358,7 +359,8 @@ draw_line_xmmx (Pixel * data, int x1, int y1, int x2, int y2, int col,
} }
} }
end_of_line: end_of_line:
__asm__ __volatile__ ("femms\n"); /* this was femms, which is AMD 3dnow */
__asm__ __volatile__ ("emms\n");
} }
#endif #endif