summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--postproc/rgb2rgb.c3
-rw-r--r--postproc/rgb2rgb_template.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/postproc/rgb2rgb.c b/postproc/rgb2rgb.c
index 4099aabb84..4dc9857582 100644
--- a/postproc/rgb2rgb.c
+++ b/postproc/rgb2rgb.c
@@ -604,6 +604,9 @@ void rgb32tobgr32(const uint8_t *src, uint8_t *dst, unsigned int src_size)
:: "r" (src), "r"(dst), "r" (num_pixels)
: "%eax"
);
+
+ __asm __volatile(SFENCE:::"memory");
+ __asm __volatile(EMMS:::"memory");
#else
int i;
for(i=0; i<num_pixels; i++)
diff --git a/postproc/rgb2rgb_template.c b/postproc/rgb2rgb_template.c
index 4099aabb84..4dc9857582 100644
--- a/postproc/rgb2rgb_template.c
+++ b/postproc/rgb2rgb_template.c
@@ -604,6 +604,9 @@ void rgb32tobgr32(const uint8_t *src, uint8_t *dst, unsigned int src_size)
:: "r" (src), "r"(dst), "r" (num_pixels)
: "%eax"
);
+
+ __asm __volatile(SFENCE:::"memory");
+ __asm __volatile(EMMS:::"memory");
#else
int i;
for(i=0; i<num_pixels; i++)