mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 16:28:08 +02:00
llvmpipe: Test lp_test_arit with LP_NATIVE_VECTOR_WIDTH.
Instead of assuming 4 wide vectors.
This commit is contained in:
parent
b5941e33d0
commit
e648f5e197
1 changed files with 5 additions and 3 deletions
|
|
@ -35,6 +35,7 @@
|
|||
#include "util/u_math.h"
|
||||
|
||||
#include "gallivm/lp_bld.h"
|
||||
#include "gallivm/lp_bld_debug.h"
|
||||
#include "gallivm/lp_bld_init.h"
|
||||
#include "gallivm/lp_bld_arit.h"
|
||||
|
||||
|
|
@ -194,9 +195,10 @@ build_unary_test_func(struct gallivm_state *gallivm,
|
|||
LLVMContextRef context,
|
||||
const struct unary_test_t *test)
|
||||
{
|
||||
struct lp_type type = lp_type_float_vec(32);
|
||||
LLVMTypeRef i32t = LLVMInt32TypeInContext(context);
|
||||
LLVMTypeRef f32t = LLVMFloatTypeInContext(context);
|
||||
LLVMTypeRef v4f32t = LLVMVectorType(f32t, 4);
|
||||
LLVMTypeRef vf32t = lp_build_vec_type(gallivm, type);
|
||||
LLVMTypeRef args[1] = { f32t };
|
||||
LLVMValueRef func = LLVMAddFunction(module, test->name, LLVMFunctionType(f32t, args, Elements(args), 0));
|
||||
LLVMValueRef arg1 = LLVMGetParam(func, 0);
|
||||
|
|
@ -207,14 +209,14 @@ build_unary_test_func(struct gallivm_state *gallivm,
|
|||
|
||||
struct lp_build_context bld;
|
||||
|
||||
lp_build_context_init(&bld, gallivm, lp_float32_vec4_type());
|
||||
lp_build_context_init(&bld, gallivm, lp_type_float_vec(32));
|
||||
|
||||
LLVMSetFunctionCallConv(func, LLVMCCallConv);
|
||||
|
||||
LLVMPositionBuilderAtEnd(builder, block);
|
||||
|
||||
/* scalar to vector */
|
||||
arg1 = LLVMBuildInsertElement(builder, LLVMGetUndef(v4f32t), arg1, index0, "");
|
||||
arg1 = LLVMBuildInsertElement(builder, LLVMGetUndef(vf32t), arg1, index0, "");
|
||||
|
||||
ret = test->builder(&bld, arg1);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue