aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer/jitter/builder.cpp')
-rw-r--r--src/gallium/drivers/swr/rasterizer/jitter/builder.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp b/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
index 625f13287bf..53947c317e2 100644
--- a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
+++ b/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
@@ -66,16 +66,7 @@ namespace SwrJit
mSimd4FP64Ty = VectorType::get(mDoubleTy, 4);
// Built in types: target simd
-
- mSimdInt1Ty = VectorType::get(mInt1Ty, mVWidth);
- mSimdInt16Ty = VectorType::get(mInt16Ty, mVWidth);
- mSimdInt32Ty = VectorType::get(mInt32Ty, mVWidth);
- mSimdInt64Ty = VectorType::get(mInt64Ty, mVWidth);
- mSimdFP16Ty = VectorType::get(mFP16Ty, mVWidth);
- mSimdFP32Ty = VectorType::get(mFP32Ty, mVWidth);
- mSimdVectorTy = ArrayType::get(mSimdFP32Ty, 4);
- mSimdVectorIntTy= ArrayType::get(mSimdInt32Ty, 4);
- mSimdVectorTRTy = ArrayType::get(mSimdFP32Ty, 5);
+ SetTargetWidth(pJitMgr->mVWidth);
// Built in types: simd16
@@ -105,4 +96,19 @@ namespace SwrJit
mSimd16IntPtrTy = mSimd16Int64Ty;
}
}
+
+ void Builder::SetTargetWidth(uint32_t width)
+ {
+ mVWidth = width;
+
+ mSimdInt1Ty = VectorType::get(mInt1Ty, mVWidth);
+ mSimdInt16Ty = VectorType::get(mInt16Ty, mVWidth);
+ mSimdInt32Ty = VectorType::get(mInt32Ty, mVWidth);
+ mSimdInt64Ty = VectorType::get(mInt64Ty, mVWidth);
+ mSimdFP16Ty = VectorType::get(mFP16Ty, mVWidth);
+ mSimdFP32Ty = VectorType::get(mFP32Ty, mVWidth);
+ mSimdVectorTy = ArrayType::get(mSimdFP32Ty, 4);
+ mSimdVectorIntTy = ArrayType::get(mSimdInt32Ty, 4);
+ mSimdVectorTRTy = ArrayType::get(mSimdFP32Ty, 5);
+ }
}