Remove zero initialization of Triangle and Primitive

These structures were zero-initialized to work around MSan false-
positives. Now that Reactor routines can be instrumented, we can omit
the initialization and detect whether they are properly set by the
normal code paths.

Bug: b/155148722
Change-Id: Ic1136f08b5203531ffc2eda15e7d64d7c2a0d8c5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49890
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Device/Primitive.hpp b/src/Device/Primitive.hpp
index 595a2f2..8a6672d 100644
--- a/src/Device/Primitive.hpp
+++ b/src/Device/Primitive.hpp
@@ -15,25 +15,13 @@
 #ifndef sw_Primitive_hpp
 #define sw_Primitive_hpp
 
-#include "Memset.hpp"
 #include "Vertex.hpp"
 #include "Device/Config.hpp"
-#include "System/Build.hpp"
 
 namespace sw {
 
-struct Triangle MEMORY_SANITIZER_ONLY(
-    : Memset<Triangle>)
+struct Triangle
 {
-#if MEMORY_SANITIZER_ENABLED
-	// Memory sanitizer cannot 'see' writes from JIT'd code, and can raise
-	// false-positives when read. By clearing the struct in the constructor,
-	// we can avoid triggering these false-positives.
-	inline Triangle()
-	    : Memset<Triangle>(this, 0)
-	{}
-#endif  // MEMORY_SANITIZER_ENABLED
-
 	Vertex v0;
 	Vertex v1;
 	Vertex v2;
@@ -46,18 +34,8 @@
 	float4 C;
 };
 
-struct Primitive MEMORY_SANITIZER_ONLY(
-    : Memset<Primitive>)
+struct Primitive
 {
-#if MEMORY_SANITIZER_ENABLED
-	// Memory sanitizer cannot 'see' writes from JIT'd code, and can raise
-	// false-positives when read. By clearing the struct in the constructor,
-	// we can avoid triggering these false-positives.
-	inline Primitive()
-	    : Memset<Primitive>(this, 0)
-	{}
-#endif  // MEMORY_SANITIZER_ENABLED
-
 	int yMin;
 	int yMax;
 
diff --git a/src/System/Build.hpp b/src/System/Build.hpp
index 788ece7..170a238 100644
--- a/src/System/Build.hpp
+++ b/src/System/Build.hpp
@@ -15,25 +15,12 @@
 #ifndef Build_hpp
 #define Build_hpp
 
-// Define MEMORY_SANITIZER_ENABLED to 1 if the project was build with the memory
+// Define MEMORY_SANITIZER to 1 if the project was build with the memory
 // sanitizer enabled (-fsanitize=memory).
-#if defined(__SANITIZE_MEMORY__)
-#	define MEMORY_SANITIZER_ENABLED 1
-#else  // defined(__SANITIZE_MEMORY__)
-#	if defined(__clang__)
-#		if __has_feature(memory_sanitizer)
-#			define MEMORY_SANITIZER_ENABLED 1
-#		endif  // __has_feature(memory_sanitizer)
-#	endif      // defined(__clang__)
-#endif          // defined(__SANITIZE_MEMORY__)
-
-// MEMORY_SANITIZER_ONLY(X) resolves to X if MEMORY_SANITIZER_ENABLED is defined
-// to a non-zero value, otherwise MEMORY_SANITIZER_ONLY() is stripped by the
-// preprocessor.
-#if MEMORY_SANITIZER_ENABLED
-#	define MEMORY_SANITIZER_ONLY(x) x
+#if defined(__clang__) && __has_feature(memory_sanitizer)
+#	define MEMORY_SANITIZER 1
 #else
-#	define MEMORY_SANITIZER_ONLY(x)
-#endif  // MEMORY_SANITIZER_ENABLED
+#	define MEMORY_SANITIZER 0
+#endif
 
 #endif  // Build_hpp