On Mit, 2012-08-01 at 23:28 +0200, Christian König wrote: > Using the writemask in the sampler results in packet > VGPRS.
What does that mean? > For now just sample all components and let llvm chose the right one. > > Signed-off-by: Christian König <[email protected]> > --- > src/gallium/drivers/radeonsi/radeonsi_shader.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c > b/src/gallium/drivers/radeonsi/radeonsi_shader.c > index 522016e..c19a4c2 100644 > --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c > +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c > @@ -519,8 +519,8 @@ static void tex_fetch_args( > LLVMValueRef offset; > > /* WriteMask */ > - emit_data->args[0] = lp_build_const_int32(bld_base->base.gallivm, > - emit_data->inst->Dst[0].Register.WriteMask); > + /* XXX: should be optimized using > emit_data->inst->Dst[0].Register.WriteMask*/ > + emit_data->args[0] = lp_build_const_int32(bld_base->base.gallivm, 0xf); Couldn't this incorrectly clobber components of the destination which were supposed to be masked? -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
