diff --git a/src/Common/MetaMacro.hpp b/src/Common/MetaMacro.hpp
deleted file mode 100644
index f717d75..0000000
--- a/src/Common/MetaMacro.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef sw_MetaMacro_hpp
-#define sw_MetaMacro_hpp
-
-//  Disables the "identifier was truncated to '255' characters in the browser information" warning
-#ifdef _MSC_VER
-#pragma warning(disable: 4786)
-#endif
-
-namespace Meta
-{
-#define META_ASSERT(condition) typedef int COMPILE_TIME_ASSERT_##__LINE__[static_cast<bool>(condition) ? 1 : -1]
-
-	template<class T>
-	struct IsVoid
-	{
-		enum {res = false};
-	};
-
-	template<>
-	struct IsVoid<void>
-	{
-		enum {res = true};
-	};
-
-#define META_IS_VOID(T) Meta::IsVoid<T>::res
-
-	template<bool>
-	struct Select
-	{
-		template<class T0, class T1>
-		struct Type
-		{
-			typedef T1 Res;
-		};
-	};
-
-	template<>
-	struct Select<true>
-	{
-		template<class T0, class T1>
-		struct Type
-		{
-			typedef T0 Res;
-		};
-	};
-
-#define META_SELECT(i, T0, T1) Meta::Select<i>::template Type<T0, T1>::Res
-
-	template<class B0, class B1>
-	struct Inherit : B0, B1
-	{
-	};
-
-#define META_INHERIT(B0, B1) Meta::Inherit<B0, B1>
-
-	template<class B0, class B1>
-	class Catenate
-	{
-		typedef typename META_SELECT(META_IS_VOID(B0), B1, B0) T0;
-		typedef typename META_SELECT(META_IS_VOID(B0), void, B1) T1;
-
-	public:
-		typedef typename META_INHERIT(T0, T1) T01;
-		typedef typename META_SELECT(META_IS_VOID(T1), T0, T01) Res;
-
-	private:
-		typedef typename META_SELECT(META_IS_VOID(T1), int, T1) CheckedT1;
-
-		META_ASSERT(META_IS_VOID(T1) || sizeof(Res) == sizeof(T0) + sizeof(CheckedT1));
-	};
-
-#define META_CATENATE(B0, B1) Meta::Catenate<B0, B1>::Res
-
-	template<bool condition, class B0, class B1>
-	class ConditionalInherit
-	{
-		typedef typename META_CATENATE(B0, B1) MetaInherit;
-
-	public:
-		typedef typename META_SELECT(condition, MetaInherit, B0) Res;
-	};
-
-#define META_CONDITIONAL_INHERIT(condition, B0, B1) Meta::ConditionalInherit<condition, B0, B1>::Res
-}
-
-#endif   // sw_MetaMacro_hpp
diff --git a/src/D3D9/Capabilities.hpp b/src/D3D9/Capabilities.hpp
index 768ad1d..27bf193 100644
--- a/src/D3D9/Capabilities.hpp
+++ b/src/D3D9/Capabilities.hpp
@@ -16,7 +16,6 @@
 #define D3D9_Capabilities_hpp
 
 #include "Config.hpp"
-#include "MetaMacro.hpp"
 
 #include <d3d9.h>
 
@@ -479,18 +478,18 @@
 	};
 
 	// Shader Model 3.0 requirements
-	META_ASSERT(MAX_VERTEX_SHADER_CONST >= 256);
-	META_ASSERT(MAX_PIXEL_SHADER_CONST == 224);
-	META_ASSERT(MAX_VERTEX_INPUTS == 16);
-	META_ASSERT(MAX_VERTEX_OUTPUTS == 12);
-	META_ASSERT(MAX_PIXEL_INPUTS == 10);
+	static_assert(MAX_VERTEX_SHADER_CONST >= 256, "");
+	static_assert(MAX_PIXEL_SHADER_CONST == 224, "");
+	static_assert(MAX_VERTEX_INPUTS == 16, "");
+	static_assert(MAX_VERTEX_OUTPUTS == 12, "");
+	static_assert(MAX_PIXEL_INPUTS == 10, "");
 
 	// Back-end minimum requirements
-	META_ASSERT(sw::VERTEX_UNIFORM_VECTORS >= MAX_VERTEX_SHADER_CONST);
-	META_ASSERT(sw::FRAGMENT_UNIFORM_VECTORS >= MAX_PIXEL_SHADER_CONST);
-	META_ASSERT(sw::MAX_VERTEX_INPUTS >= MAX_VERTEX_INPUTS);
-	META_ASSERT(sw::MAX_VERTEX_OUTPUTS >= MAX_VERTEX_OUTPUTS);
-	META_ASSERT(sw::MAX_FRAGMENT_INPUTS >= MAX_PIXEL_INPUTS);
+	static_assert(sw::VERTEX_UNIFORM_VECTORS >= MAX_VERTEX_SHADER_CONST, "");
+	static_assert(sw::FRAGMENT_UNIFORM_VECTORS >= MAX_PIXEL_SHADER_CONST, "");
+	static_assert(sw::MAX_VERTEX_INPUTS >= MAX_VERTEX_INPUTS, "");
+	static_assert(sw::MAX_VERTEX_OUTPUTS >= MAX_VERTEX_OUTPUTS, "");
+	static_assert(sw::MAX_FRAGMENT_INPUTS >= MAX_PIXEL_INPUTS, "");
 }
 
 #endif   // D3D9_Capabilities_hpp
diff --git a/src/OpenGL/common/debug.h b/src/OpenGL/common/debug.h
index dc8ea98..bbf7521 100644
--- a/src/OpenGL/common/debug.h
+++ b/src/OpenGL/common/debug.h
@@ -90,7 +90,4 @@
 
 #endif   // __ANDROID__
 
-// A macro functioning as a compile-time assert to validate constant conditions
-#define META_ASSERT(condition) typedef int COMPILE_TIME_ASSERT_##__LINE__[static_cast<bool>(condition) ? 1 : -1]
-
 #endif   // COMMON_DEBUG_H_
diff --git a/src/OpenGL/libEGL/Config.cpp b/src/OpenGL/libEGL/Config.cpp
index 9a5839e..835b198 100644
--- a/src/OpenGL/libEGL/Config.cpp
+++ b/src/OpenGL/libEGL/Config.cpp
@@ -211,10 +211,10 @@
 			return x.attribute < y.attribute;      \
 		}
 
-	META_ASSERT(EGL_NONE < EGL_SLOW_CONFIG && EGL_SLOW_CONFIG < EGL_NON_CONFORMANT_CONFIG);
+	static_assert(EGL_NONE < EGL_SLOW_CONFIG && EGL_SLOW_CONFIG < EGL_NON_CONFORMANT_CONFIG, "");
 	SORT_SMALLER(mConfigCaveat);
 
-	META_ASSERT(EGL_RGB_BUFFER < EGL_LUMINANCE_BUFFER);
+	static_assert(EGL_RGB_BUFFER < EGL_LUMINANCE_BUFFER, "");
 	SORT_SMALLER(mColorBufferType);
 
 	SORT_SMALLER(mRedSize);
@@ -300,10 +300,10 @@
 			return x->attribute < y->attribute;    \
 		}
 
-	META_ASSERT(EGL_NONE < EGL_SLOW_CONFIG && EGL_SLOW_CONFIG < EGL_NON_CONFORMANT_CONFIG);
+	static_assert(EGL_NONE < EGL_SLOW_CONFIG && EGL_SLOW_CONFIG < EGL_NON_CONFORMANT_CONFIG, "");
 	SORT_SMALLER(mConfigCaveat);
 
-	META_ASSERT(EGL_RGB_BUFFER < EGL_LUMINANCE_BUFFER);
+	static_assert(EGL_RGB_BUFFER < EGL_LUMINANCE_BUFFER, "");
 	SORT_SMALLER(mColorBufferType);
 
 	// By larger total number of color bits, only considering those that are requested to be > 0.
diff --git a/src/OpenGL/libGLES_CM/libGLES_CM.cbp b/src/OpenGL/libGLES_CM/libGLES_CM.cbp
index 770fe95..a35b6f8 100644
--- a/src/OpenGL/libGLES_CM/libGLES_CM.cbp
+++ b/src/OpenGL/libGLES_CM/libGLES_CM.cbp
@@ -152,7 +152,6 @@
 		<Unit filename="../../Common/Math.hpp" />
 		<Unit filename="../../Common/Memory.cpp" />
 		<Unit filename="../../Common/Memory.hpp" />
-		<Unit filename="../../Common/MetaMacro.hpp" />
 		<Unit filename="../../Common/MutexLock.hpp" />
 		<Unit filename="../../Common/Resource.cpp" />
 		<Unit filename="../../Common/Resource.hpp" />
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cbp b/src/OpenGL/libGLESv2/libGLESv2.cbp
index 980889b..e4ea4a4 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cbp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cbp
@@ -151,7 +151,6 @@
 		<Unit filename="../../Common/Math.hpp" />
 		<Unit filename="../../Common/Memory.cpp" />
 		<Unit filename="../../Common/Memory.hpp" />
-		<Unit filename="../../Common/MetaMacro.hpp" />
 		<Unit filename="../../Common/MutexLock.hpp" />
 		<Unit filename="../../Common/Resource.cpp" />
 		<Unit filename="../../Common/Resource.hpp" />
diff --git a/src/Renderer/PixelProcessor.cpp b/src/Renderer/PixelProcessor.cpp
index d8f1be2..e3154b6 100644
--- a/src/Renderer/PixelProcessor.cpp
+++ b/src/Renderer/PixelProcessor.cpp
@@ -17,7 +17,6 @@
 #include "PixelPipeline.hpp"
 #include "PixelProgram.hpp"
 #include "PixelShader.hpp"
-#include "MetaMacro.hpp"
 #include "Surface.hpp"
 #include "Primitive.hpp"
 #include "Constants.hpp"
diff --git a/src/Renderer/Sampler.cpp b/src/Renderer/Sampler.cpp
index 7518715..1aa4ccc 100644
--- a/src/Renderer/Sampler.cpp
+++ b/src/Renderer/Sampler.cpp
@@ -14,7 +14,6 @@
 
 #include "Sampler.hpp"
 
-#include "MetaMacro.hpp"
 #include "Context.hpp"
 #include "Surface.hpp"
 #include "CPUID.hpp"
diff --git a/src/Renderer/Vertex.hpp b/src/Renderer/Vertex.hpp
index 78bcf14..9ae8d14 100644
--- a/src/Renderer/Vertex.hpp
+++ b/src/Renderer/Vertex.hpp
@@ -16,7 +16,6 @@
 #define Vertex_hpp
 
 #include "Color.hpp"
-#include "Common/MetaMacro.hpp"
 #include "Common/Types.hpp"
 #include "Main/Config.hpp"
 
@@ -93,7 +92,7 @@
 		int padding[3];
 	});
 
-	META_ASSERT((sizeof(Vertex) & 0x0000000F) == 0);
+	static_assert((sizeof(Vertex) & 0x0000000F) == 0, "Vertex size not a multiple of 16 bytes (alignment requirement)");
 }
 
 #endif   // Vertex_hpp
diff --git a/src/SwiftShader/SwiftShader.vcxproj b/src/SwiftShader/SwiftShader.vcxproj
index 3285351..c2d7c14 100644
--- a/src/SwiftShader/SwiftShader.vcxproj
+++ b/src/SwiftShader/SwiftShader.vcxproj
@@ -432,7 +432,6 @@
     <ClInclude Include="..\Common\Half.hpp" />
     <ClInclude Include="..\Common\Math.hpp" />
     <ClInclude Include="..\Common\Memory.hpp" />
-    <ClInclude Include="..\Common\MetaMacro.hpp" />
     <ClInclude Include="..\Common\MutexLock.hpp" />
     <ClInclude Include="..\Common\Resource.hpp" />
     <ClInclude Include="..\Common\Timer.hpp" />
diff --git a/src/SwiftShader/SwiftShader.vcxproj.filters b/src/SwiftShader/SwiftShader.vcxproj.filters
index e4976e0..b7618d0 100644
--- a/src/SwiftShader/SwiftShader.vcxproj.filters
+++ b/src/SwiftShader/SwiftShader.vcxproj.filters
@@ -304,9 +304,6 @@
     <ClInclude Include="..\Common\Memory.hpp">
       <Filter>Header Files\Common</Filter>
     </ClInclude>
-    <ClInclude Include="..\Common\MetaMacro.hpp">
-      <Filter>Header Files\Common</Filter>
-    </ClInclude>
     <ClInclude Include="..\Common\MutexLock.hpp">
       <Filter>Header Files\Common</Filter>
     </ClInclude>
