projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
llvmpipe: use new u_ringbuffer for scene queue
[mesa.git]
/
src
/
gallium
/
drivers
/
llvmpipe
/
lp_bld_tgsi_soa.c
diff --git
a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
index 3eb0e0c57cb5d5b272521cfcf244c062991e38bf..fb1eda4423ba4db3047ae131839be2135619e5c4 100644
(file)
--- a/
src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
+++ b/
src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
@@
-321,7
+321,7
@@
emit_tex( struct lp_build_tgsi_soa_context *bld,
{
const uint unit = inst->Src[1].Register.Index;
LLVMValueRef lodbias;
{
const uint unit = inst->Src[1].Register.Index;
LLVMValueRef lodbias;
- LLVMValueRef oow;
+ LLVMValueRef oow
= NULL
;
LLVMValueRef coords[3];
unsigned num_coords;
unsigned i;
LLVMValueRef coords[3];
unsigned num_coords;
unsigned i;
@@
-361,6
+361,9
@@
emit_tex( struct lp_build_tgsi_soa_context *bld,
if (projected)
coords[i] = lp_build_mul(&bld->base, coords[i], oow);
}
if (projected)
coords[i] = lp_build_mul(&bld->base, coords[i], oow);
}
+ for (i = num_coords; i < 3; i++) {
+ coords[i] = bld->base.undef;
+ }
bld->sampler->emit_fetch_texel(bld->sampler,
bld->base.builder,
bld->sampler->emit_fetch_texel(bld->sampler,
bld->base.builder,
@@
-446,7
+449,12
@@
emit_instruction(
{
unsigned chan_index;
LLVMValueRef src0, src1, src2;
{
unsigned chan_index;
LLVMValueRef src0, src1, src2;
- LLVMValueRef tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
+ LLVMValueRef tmp0, tmp1, tmp2;
+ LLVMValueRef tmp3 = NULL;
+ LLVMValueRef tmp4 = NULL;
+ LLVMValueRef tmp5 = NULL;
+ LLVMValueRef tmp6 = NULL;
+ LLVMValueRef tmp7 = NULL;
LLVMValueRef res;
LLVMValueRef dst0[NUM_CHANNELS];
LLVMValueRef res;
LLVMValueRef dst0[NUM_CHANNELS];
@@
-763,7
+771,7
@@
emit_instruction(
FOR_EACH_DST0_ENABLED_CHANNEL( inst, chan_index ) {
src0 = emit_fetch( bld, inst, 0, chan_index );
tmp0 = lp_build_floor(&bld->base, src0);
FOR_EACH_DST0_ENABLED_CHANNEL( inst, chan_index ) {
src0 = emit_fetch( bld, inst, 0, chan_index );
tmp0 = lp_build_floor(&bld->base, src0);
- tmp0 = lp_build_sub(&bld->base,
tmp0, src
0);
+ tmp0 = lp_build_sub(&bld->base,
src0, tmp
0);
dst0[chan_index] = tmp0;
}
break;
dst0[chan_index] = tmp0;
}
break;
@@
-1310,7
+1318,7
@@
emit_instruction(
return 0;
break;
return 0;
break;
- case TGSI_OPCODE_SHR:
+ case TGSI_OPCODE_
I
SHR:
/* deprecated? */
assert(0);
return 0;
/* deprecated? */
assert(0);
return 0;