Device/Renderer: Work arounds for MemorySanitizer false-positives MemorySanitizer has no visibility into writes performed by JIT'd code. If we have built the project with the MemorySanitizer enabled, memset the Triangle and Primitive structs so the sanitizer has a write to see. This is only cleared in MemorySanitizer enabled builds, as this adds a non negligable cost to Renderer construction. Bug: chromium:998457 Change-Id: I3b4f9e48783c6e8a1109a578988567b0a42eb1f9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35688 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/vulkan.vcxproj b/src/Vulkan/vulkan.vcxproj index dd4def0..6451683 100644 --- a/src/Vulkan/vulkan.vcxproj +++ b/src/Vulkan/vulkan.vcxproj
@@ -236,6 +236,7 @@ <ClInclude Include="..\Device\ETC_Decoder.hpp" /> <ClInclude Include="..\Device\LRUCache.hpp" /> <ClInclude Include="..\Device\Matrix.hpp" /> + <ClInclude Include="..\Device\Memset.hpp" /> <ClInclude Include="..\Device\PixelProcessor.hpp" /> <ClInclude Include="..\Device\Plane.hpp" /> <ClInclude Include="..\Device\Point.hpp" /> @@ -263,6 +264,7 @@ <ClInclude Include="..\Pipeline\VertexPipeline.hpp" /> <ClInclude Include="..\Pipeline\VertexProgram.hpp" /> <ClInclude Include="..\Pipeline\VertexRoutine.hpp" /> + <ClInclude Include="..\System\Build.hpp" /> <ClInclude Include="..\System\Configurator.hpp" /> <ClInclude Include="..\System\CPUID.hpp" /> <ClInclude Include="..\System\Debug.hpp" />