On Fri, 09 Sep 2011 20:18:02 -0700, Kenneth Graunke <kenn...@whitecape.org> 
wrote:
> On 09/09/2011 10:07 AM, Eric Anholt wrote:
> > On Thu,  8 Sep 2011 15:49:23 -0700, Kenneth Graunke <kenn...@whitecape.org> 
> > wrote:
> >> +      /* Initialize the rest of u/v/r with 0.0, for safety */
> >> +      for (int i = ir->coordinate->type->vector_elements; i < 3; i++) {
> >> +   emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen + i * 2), 
> >> fs_reg(0.0f));
> >> +      }
> >> +
> > 
> > Didn't we decide that it was not just "for safety", but that that text
> > about out of bounds returning 0 was what made that code required?
> 
> I don't recall any text about "out of bounds returning 0."  Perhaps you
> found something after our conversation?  The closest I could find is in
> the "ld" Message Type table entry:
> 
> "[Pre-DevIL] Errata: For the SIMD8 and SIMD4x2 forms of this message,
> the v parameter must be set to zero for non-array SURFTYPE_1D, and r
> must be set to zero for all SURFTYPE_1D and array SURFTYPE_2D surfaces."

I was thinking, from the same table:

"all address control modes are “zero” (a special mode in which any texel
off the map or outside the MIP range of the surface has a value of zero
in all channels, except for surface formats without an alpha channel,
which will return a value of one in the alpha channel)"

Attachment: pgp8wEtLlUpqx.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to