mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
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:
parent
58a68b1823
commit
bf2fdcbb29
2 changed files with 13 additions and 5 deletions
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue