i915g: Improve the explanation for the 1D Y swizzle.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13133>
This commit is contained in:
Emma Anholt 2021-10-28 10:20:01 -07:00 committed by Marge Bot
parent fa4fd67f78
commit 085e838959
1 changed files with 3 additions and 4 deletions

View File

@ -364,10 +364,9 @@ emit_tex(struct i915_fp_compile *p, const struct i915_full_instruction *inst,
uint32_t sampler = i915_emit_decl(p, REG_TYPE_S, unit, tex);
uint32_t coord = src_vector(p, &inst->Src[0], fs);
/* For 1D textures, make sure that the Y coordinate is actually
* initialized. It seems that if the channel is never written during the
* program, texturing returns undefined results (even if the Y wrap is
* REPEAT).
/* For 1D textures, set the Y coord to the same as X. Otherwise, we could
* select the wrong LOD based on the uninitialized Y coord when we sample our
* 1D textures as 2D.
*/
if (texture == TGSI_TEXTURE_1D || texture == TGSI_TEXTURE_SHADOW1D)
coord = swizzle(coord, X, X, Z, W);