[Mesa-dev] [PATCH] tgsi/scan: fix uses_double
Nicolai Hähnle
nhaehnle at gmail.com
Tue Aug 22 15:52:50 UTC 2017
On 22.08.2017 17:42, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> ---
> src/gallium/auxiliary/tgsi/tgsi_scan.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
> index 2fd7d7c..db87ce3 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
> @@ -450,22 +450,28 @@ scan_instruction(struct tgsi_shader_info *info,
> info->uses_linear_opcode_interp_offset = TRUE;
> break;
> case TGSI_OPCODE_INTERP_SAMPLE:
> info->uses_linear_opcode_interp_sample = TRUE;
> break;
> }
> break;
> }
> }
>
> - if (fullinst->Instruction.Opcode >= TGSI_OPCODE_F2D &&
> - fullinst->Instruction.Opcode <= TGSI_OPCODE_DSSG)
> + if ((fullinst->Instruction.Opcode >= TGSI_OPCODE_F2D &&
> + fullinst->Instruction.Opcode <= TGSI_OPCODE_DSSG) ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_DFMA ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_DDIV ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_D2U64 ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_D2I64 ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_U642D ||
> + fullinst->Instruction.Opcode == TGSI_OPCODE_I642D)
> info->uses_doubles = TRUE;
Nice.
In a neat coincidence, this is precisely the kind of thing that can be
done more cleanly on top of the tgsi_info series that I just sent out :)
I suggest using that, but for now this approach is also
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> for (i = 0; i < fullinst->Instruction.NumSrcRegs; i++) {
> scan_src_operand(info, fullinst, &fullinst->Src[i], i,
> tgsi_util_get_inst_usage_mask(fullinst, i),
> is_interp_instruction, &is_mem_inst);
> }
>
> if (fullinst->Instruction.Texture) {
> for (i = 0; i < fullinst->Texture.NumOffsets; i++) {
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list