glsl_to_tgsi: fix texture offset translation

I noticed the texelFetch offset test failed on 2D rect samplers
with GLSL 1.40. This is because I wrote the immediate->offset
translation wrong.

Fixed the translation to actually use the ureg info to set the
offsets up.

Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie
2012-12-10 12:23:47 +10:00
parent 157f5d043a
commit af2d9affb1
+7 -4
View File
@@ -4243,14 +4243,17 @@ translate_tex_offset(struct st_translate *t,
const struct tgsi_texture_offset *in_offset)
{
struct tgsi_texture_offset offset;
struct ureg_src imm_src;
assert(in_offset->File == PROGRAM_IMMEDIATE);
imm_src = t->immediates[in_offset->Index];
offset.File = imm_src.File;
offset.Index = imm_src.Index;
offset.SwizzleX = imm_src.SwizzleX;
offset.SwizzleY = imm_src.SwizzleY;
offset.SwizzleZ = imm_src.SwizzleZ;
offset.File = TGSI_FILE_IMMEDIATE;
offset.Index = in_offset->Index;
offset.SwizzleX = in_offset->SwizzleX;
offset.SwizzleY = in_offset->SwizzleY;
offset.SwizzleZ = in_offset->SwizzleZ;
offset.Padding = 0;
return offset;