r600g: handle absolute modifier in shader translator
This was being classed as unsupported in one place but used in others. Enabling it seems to work fine. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
c28f764572
commit
8260ab9346
|
@ -389,11 +389,9 @@ static int tgsi_is_supported(struct r600_shader_ctx *ctx)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
for (j = 0; j < i->Instruction.NumSrcRegs; j++) {
|
for (j = 0; j < i->Instruction.NumSrcRegs; j++) {
|
||||||
if (i->Src[j].Register.Dimension ||
|
if (i->Src[j].Register.Dimension) {
|
||||||
i->Src[j].Register.Absolute) {
|
R600_ERR("unsupported src %d (dimension %d)\n", j,
|
||||||
R600_ERR("unsupported src %d (dimension %d|absolute %d)\n", j,
|
i->Src[j].Register.Dimension);
|
||||||
i->Src[j].Register.Dimension,
|
|
||||||
i->Src[j].Register.Absolute);
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -760,6 +758,7 @@ static int tgsi_src(struct r600_shader_ctx *ctx,
|
||||||
if (tgsi_src->Register.Indirect)
|
if (tgsi_src->Register.Indirect)
|
||||||
r600_src->rel = V_SQ_REL_RELATIVE;
|
r600_src->rel = V_SQ_REL_RELATIVE;
|
||||||
r600_src->neg = tgsi_src->Register.Negate;
|
r600_src->neg = tgsi_src->Register.Negate;
|
||||||
|
r600_src->abs = tgsi_src->Register.Absolute;
|
||||||
r600_src->sel += ctx->file_offset[tgsi_src->Register.File];
|
r600_src->sel += ctx->file_offset[tgsi_src->Register.File];
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue