GLSL->SPIR-V: Put precision decorations on imageLoad().
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index a6bd4d7..2299e90 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -3281,7 +3281,9 @@
operands.push_back(spv::ImageOperandsSampleMask);
operands.push_back(*(opIt++));
}
- return builder.createOp(spv::OpImageRead, resultType(), operands);
+ spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
+ builder.setPrecision(result, precision);
+ return result;
}
operands.push_back(*(opIt++));
@@ -3304,7 +3306,10 @@
}
if (builder.getImageTypeFormat(builder.getImageType(operands.front())) == spv::ImageFormatUnknown)
builder.addCapability(spv::CapabilityStorageImageReadWithoutFormat);
- return builder.createOp(spv::OpImageRead, resultType(), operands);
+
+ spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
+ builder.setPrecision(result, precision);
+ return result;
#ifdef AMD_EXTENSIONS
} else if (node->getOp() == glslang::EOpImageStore || node->getOp() == glslang::EOpImageStoreLod) {
#else