ioVar = aggregate->as_dereference_variable()->variable_referenced();
}
- setIoParameters(ioVar, mdNode, false);
+ setIoParameters(ioVar, mdNode);
// Handle type overriding
if (typeOverride)
* Set IO variable parameters (locations, interp modes, pixel origins, etc)
* -----------------------------------------------------------------------------
*/
-void MesaGlassTranslator::setIoParameters(ir_variable* ioVar, const llvm::MDNode* mdNode, bool isOutput)
+void MesaGlassTranslator::setIoParameters(ir_variable* ioVar, const llvm::MDNode* mdNode)
{
if (ioVar && mdNode) {
const llvm::Type* mdType;
} else {
ioVar->data.explicit_location = true;
- if ((manager->getStage() == EShLangFragment) && isOutput)
+ if ((manager->getStage() == EShLangFragment) && metaType.qualifier == EVQOutput)
ioVar->data.location = metaType.location + FRAG_RESULT_DATA0;
- else if ((manager->getStage() == EShLangVertex) && !isOutput)
+ else if ((manager->getStage() == EShLangVertex) && metaType.qualifier == EVQInput)
ioVar->data.location = metaType.location + VERT_ATTRIB_GENERIC0;
else
ioVar->data.location = metaType.location + VARYING_SLOT_VAR0;
ioVar = aggregate->as_dereference_variable()->variable_referenced();
}
- setIoParameters(ioVar, mdNode, true);
+ setIoParameters(ioVar, mdNode);
addIRInstruction(llvmInst, fixIRLValue(irDst, getIRValue(src)));
}