diff --git a/external/vulkancts/framework/vulkan/vkGlslProgram.hpp b/external/vulkancts/framework/vulkan/vkGlslProgram.hpp
index f09779d..a5e00a6 100644
--- a/external/vulkancts/framework/vulkan/vkGlslProgram.hpp
+++ b/external/vulkancts/framework/vulkan/vkGlslProgram.hpp
@@ -40,7 +40,8 @@
 {
 	enum Flags
 	{
-		FLAG_USE_STORAGE_BUFFER_STORAGE_CLASS	= (1u<<0)
+		FLAG_USE_STORAGE_BUFFER_STORAGE_CLASS	= (1u<<0),
+		FLAG_ALLOW_RELAXED_OFFSETS				= (1u<<1)	// allow block offsets to follow VK_KHR_relaxed_block_layout
 	};
 
 	SpirvVersion	targetVersion;
diff --git a/external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp b/external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp
index 96a80ab..b340622 100644
--- a/external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp
+++ b/external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp
@@ -226,11 +226,22 @@
 		return program.sources[shaderType][0];
 }
 
+EShMessages getCompileFlags (const GlslBuildOptions& buildOpts)
+{
+	EShMessages		flags	= (EShMessages)(EShMsgSpvRules | EShMsgVulkanRules);
+
+	if ((buildOpts.flags & GlslBuildOptions::FLAG_ALLOW_RELAXED_OFFSETS) != 0)
+		flags = (EShMessages)(flags | EShMsgHlslOffsets);
+
+	return flags;
+}
+
 } // anonymous
 
 bool compileGlslToSpirV (const GlslSource& program, std::vector<deUint32>* dst, glu::ShaderProgramInfo* buildInfo)
 {
 	TBuiltInResource	builtinRes;
+	const EShMessages	compileFlags	= getCompileFlags(program.buildOptions);
 
 	if (program.buildOptions.targetVersion != SPIRV_VERSION_1_0)
 		TCU_THROW(InternalError, "Unsupported SPIR-V target version");
@@ -258,7 +269,7 @@
 
 			{
 				const deUint64	compileStartTime	= deGetMicroseconds();
-				const int		compileRes			= shader.parse(&builtinRes, 110, false, (EShMessages)(EShMsgSpvRules | EShMsgVulkanRules));
+				const int		compileRes			= shader.parse(&builtinRes, 110, false, compileFlags);
 				glu::ShaderInfo	shaderBuildInfo;
 
 				shaderBuildInfo.type			= (glu::ShaderType)shaderType;
@@ -274,7 +285,7 @@
 			if (buildInfo->shaders[0].compileOk)
 			{
 				const deUint64	linkStartTime	= deGetMicroseconds();
-				const int		linkRes			= program.link((EShMessages)(EShMsgSpvRules | EShMsgVulkanRules));
+				const int		linkRes			= program.link(compileFlags);
 
 				buildInfo->program.infoLog		= program.getInfoLog(); // \todo [2015-11-05 scygan] Include debug log?
 				buildInfo->program.linkOk		= (linkRes != 0);
