Fix cast from uniform struct to varying struct.

This commit is contained in:
Vsevolod Livinskiy
2016-02-05 08:32:35 +03:00
parent 094d6f6d2e
commit 243d6c2625
2 changed files with 25 additions and 1 deletions

View File

@@ -6786,7 +6786,8 @@ lUniformValueToVarying(FunctionEmitContext *ctx, llvm::Value *value,
for (int i = 0; i < collectionType->GetElementCount(); ++i) {
llvm::Value *v = ctx->ExtractInst(value, i, "get_element");
v = lUniformValueToVarying(ctx, v, collectionType->GetElementType(i));
if (collectionType->GetElementType(i)->IsVaryingType())
v = lUniformValueToVarying(ctx, v, collectionType->GetElementType(i));
retValue = ctx->InsertInst(retValue, v, i, "set_element");
}
return retValue;