diff options
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer/jitter/builder.cpp')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/jitter/builder.cpp | 26 |
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); + } } |