Commit dd5e07df authored by nick's avatar nick

sfence


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@2514 b3059339-0415-0410-9bf9-f77b7e298cf2
parent 72ecc14e
...@@ -23,6 +23,10 @@ ...@@ -23,6 +23,10 @@
#define MOVNTQ "movq" #define MOVNTQ "movq"
#endif #endif
#ifdef HAVE_MMX2
#define SFENCE "sfence"
#endif
void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
{ {
uint8_t *dest = dst; uint8_t *dest = dst;
...@@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) ...@@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
dest += 16; dest += 16;
s += 12; s += 12;
} }
#ifdef SFENCE
__asm __volatile(SFENCE:::"memory");
#endif
__asm __volatile(EMMS:::"memory"); __asm __volatile(EMMS:::"memory");
#endif #endif
while(s < end) while(s < end)
......
...@@ -23,6 +23,10 @@ ...@@ -23,6 +23,10 @@
#define MOVNTQ "movq" #define MOVNTQ "movq"
#endif #endif
#ifdef HAVE_MMX2
#define SFENCE "sfence"
#endif
void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
{ {
uint8_t *dest = dst; uint8_t *dest = dst;
...@@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) ...@@ -65,6 +69,9 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
dest += 16; dest += 16;
s += 12; s += 12;
} }
#ifdef SFENCE
__asm __volatile(SFENCE:::"memory");
#endif
__asm __volatile(EMMS:::"memory"); __asm __volatile(EMMS:::"memory");
#endif #endif
while(s < end) while(s < end)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment