Fix for MSAN issues
Chromium's memory sanitizer doesn't work with JIT compiled code, so
we have to skip blitReactor when using MSAN, otherwise most uses of
glReadPixels() will cause MSAN to detect a false use-of-uninitialized-value,
since it doesn't instrument the inside of JIT compiled code.
Bug chromium:848035 chromium:860533
Change-Id: Idfa194ce0fcd41eb7acf7868cbcebfc04d598f5b
Reviewed-on: https://swiftshader-review.googlesource.com/19808
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Renderer/Blitter.cpp b/src/Renderer/Blitter.cpp
index 4245cd4..c5417d9 100644
--- a/src/Renderer/Blitter.cpp
+++ b/src/Renderer/Blitter.cpp
@@ -141,10 +141,13 @@
return;
}
- if(blitReactor(source, sourceRect, dest, destRect, options))
- {
- return;
- }
+ // The memory sanitizer doesn't work with JIT compiled code
+ #if !defined(MEMORY_SANITIZER)
+ if(blitReactor(source, sourceRect, dest, destRect, options))
+ {
+ return;
+ }
+ #endif
SliceRectF sRect = sourceRect;
SliceRect dRect = destRect;