diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 641ac81..0fa1279 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -160,6 +160,21 @@
 				break;
 			}
 
+			case spv::OpConstant:
+			case spv::OpConstantComposite:
+			case spv::OpConstantFalse:
+			case spv::OpConstantTrue:
+			case spv::OpConstantNull:
+			{
+				auto typeId = insn.word(1);
+				auto resultId = insn.word(2);
+				auto &object = defs[resultId];
+				object.kind = Object::Kind::Constant;
+				object.definition = insn;
+				object.sizeInComponents = defs[typeId].sizeInComponents;
+				break;
+			}
+
 			default:
 				break;    // This is OK, these passes are intentionally partial
 			}
@@ -409,4 +424,18 @@
 		Block |= src.Block;
 		BufferBlock |= src.BufferBlock;
 	}
+
+	uint32_t SpirvShader::GetConstantInt(uint32_t id)
+	{
+		// Slightly hackish access to constants very early in translation.
+		// General consumption of constants by other instructions should
+		// probably be just lowered to Reactor.
+
+		// TODO: not encountered yet since we only use this for array sizes etc,
+		// but is possible to construct integer constant 0 via OpConstantNull.
+		auto insn = defs[id].definition;
+		assert(insn.opcode() == spv::OpConstant);
+		assert(defs[insn.word(1)].definition.opcode() == spv::OpTypeInt);
+		return insn.word(3);
+	}
 }
diff --git a/src/Pipeline/SpirvShader.hpp b/src/Pipeline/SpirvShader.hpp
index 4d5e453..3e1e31b 100644
--- a/src/Pipeline/SpirvShader.hpp
+++ b/src/Pipeline/SpirvShader.hpp
@@ -109,6 +109,7 @@
 				Unknown,        /* for paranoia -- if we get left with an object in this state, the module was broken */
 				Type,
 				Variable,
+				Constant,
 				Value,
 			} kind = Kind::Unknown;
 		};
@@ -218,6 +219,8 @@
 		int PopulateInterfaceInner(std::vector<InterfaceComponent> *iface, uint32_t id, Decorations d);
 
 		void PopulateInterface(std::vector<InterfaceComponent> *iface, uint32_t id);
+
+		uint32_t GetConstantInt(uint32_t id);
 	};
 }
 
