Fix enum-hashing build error on Ubuntu 16.04

Due to a defect in older versions of libstdc++, the std library could
not support hashing of enums. So each enum used in a hash is now
explicitly used as a uint32_t.

Bug: b/166302706
Change-Id: Id7de96f97bef0e6f104dc783115a416e3aa47b7c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48108
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Sean Risser <srisser@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/SpirvShader.hpp b/src/Pipeline/SpirvShader.hpp
index b8f4f40..fb8ad86 100644
--- a/src/Pipeline/SpirvShader.hpp
+++ b/src/Pipeline/SpirvShader.hpp
@@ -800,7 +800,7 @@
 	HandleMap<Function> functions;
 	std::unordered_map<StringID, String> strings;
 	HandleMap<Extension> extensionsByID;
-	std::unordered_set<Extension::Name> extensionsImported;
+	std::unordered_set<uint32_t> extensionsImported;
 	Function::ID entryPoint;
 	mutable bool imageWriteEmitted = false;