summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShih-wei Liao <sliao@google.com>2011-06-30 01:29:54 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-06-30 01:29:54 -0700
commit30c44184d6e7db8efba60b7835d107a10f644020 (patch)
tree34f3208ce16a2f83ec4d411b2427ec35fdbb03ad
parent2365781e5aeae39ee01f5acd26fc01da2fa3f468 (diff)
parent8159d55f69b8157c66147fa0c269d1e7c9a5e90e (diff)
Merge "Pixelflinger2 and GLSL code modification. To catch up with API changes."
-rw-r--r--src/glsl/ir_to_llvm.cpp8
-rw-r--r--src/pixelflinger2/llvm_helper.h8
2 files changed, 11 insertions, 5 deletions
diff --git a/src/glsl/ir_to_llvm.cpp b/src/glsl/ir_to_llvm.cpp
index d0ebedf..3211d9f 100644
--- a/src/glsl/ir_to_llvm.cpp
+++ b/src/glsl/ir_to_llvm.cpp
@@ -1158,10 +1158,12 @@ public:
}
llvm::Constant* vec;
- if(ir->type->vector_elements > 1)
- vec = llvm::ConstantVector::get((llvm::VectorType*)vec_type, elems);
- else
+ if(ir->type->vector_elements > 1) {
+ llvm::ArrayRef<llvm::Constant*> ConstantArray(elems);
+ vec = llvm::ConstantVector::get(ConstantArray);
+ } else {
vec = elems[0];
+ }
vecs.push_back(vec);
}
diff --git a/src/pixelflinger2/llvm_helper.h b/src/pixelflinger2/llvm_helper.h
index 5a7ca1d..c9f8111 100644
--- a/src/pixelflinger2/llvm_helper.h
+++ b/src/pixelflinger2/llvm_helper.h
@@ -63,7 +63,9 @@ static Value * constIntVec(IRBuilder<> & builder, int x, int y, int z, int w)
vec[1] = builder.getInt32(y);
vec[2] = builder.getInt32(z);
vec[3] = builder.getInt32(w);
- return ConstantVector::get(intVecType(builder), vec);
+
+ llvm::ArrayRef<llvm::Constant*> ConstantArray(vec);
+ return ConstantVector::get(ConstantArray);
}
static Value * intVec(IRBuilder<> & builder, Value * x, Value * y, Value * z, Value * w)
@@ -84,7 +86,9 @@ static Value * constFloatVec(IRBuilder<> & builder, float x, float y, float z, f
vec[1] = constFloat(builder, y);
vec[2] = constFloat(builder, z);
vec[3] = constFloat(builder, w);
- return ConstantVector::get(floatVecType(builder), vec);
+
+ llvm::ArrayRef<llvm::Constant*> ConstantArray(vec);
+ return ConstantVector::get(ConstantArray);
}
static std::vector<Value *> extractVector(IRBuilder<> & builder, Value *vec)