From 554aa094406f3f5a935c4adbe77569cc9beb4312 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 28 Jul 2017 11:04:35 +1000 Subject: [PATCH] virgl: drop precise modifier. The host doesn't understand this yet, so drop it for now. Fixes: virgl regressions. Fixes: af22adee4f (tgsi: add precise flag to tgsi_instruction) Signed-off-by: Dave Airlie --- src/gallium/drivers/virgl/virgl_tgsi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/virgl/virgl_tgsi.c b/src/gallium/drivers/virgl/virgl_tgsi.c index 4a2271f24f4..7ad1cbdb886 100644 --- a/src/gallium/drivers/virgl/virgl_tgsi.c +++ b/src/gallium/drivers/virgl/virgl_tgsi.c @@ -48,6 +48,15 @@ virgl_tgsi_transform_property(struct tgsi_transform_context *ctx, } } +static void +virgl_tgsi_transform_instruction(struct tgsi_transform_context *ctx, + struct tgsi_full_instruction *inst) +{ + if (inst->Instruction.Precise) + inst->Instruction.Precise = 0; + ctx->emit_instruction(ctx, inst); +} + struct tgsi_token *virgl_tgsi_transform(const struct tgsi_token *tokens_in) { @@ -61,6 +70,7 @@ struct tgsi_token *virgl_tgsi_transform(const struct tgsi_token *tokens_in) memset(&transform, 0, sizeof(transform)); transform.base.transform_property = virgl_tgsi_transform_property; + transform.base.transform_instruction = virgl_tgsi_transform_instruction; tgsi_transform_shader(tokens_in, new_tokens, newLen, &transform.base); return new_tokens;