diff options
author | Gert Wollny <[email protected]> | 2018-09-14 16:56:48 +0200 |
---|---|---|
committer | Gert Wollny <[email protected]> | 2018-09-15 20:44:53 +0200 |
commit | 14976817f4dbd089dc6ea1897d7006b94f30580d (patch) | |
tree | e2715e52ab33c114acfdc0f31836153f4e639e03 /src/gallium/drivers/r600/r600_shader.c | |
parent | cc3b99bb48769ccd018b781338b548306af5046b (diff) |
r600/sb: use safe math optimizations when TGSI contains precise operations
Fixes:
dEQP-GLES3.functional.shaders.invariance.highp.common_subexpression_3
dEQP-GLES3.functional.shaders.invariance.mediump.common_subexpression_3
dEQP-GLES3.functional.shaders.invariance.lowp.common_subexpression_3
Signed-off-by: Gert Wollny <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 2229dc8fab3..408939d1105 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -3879,6 +3879,9 @@ static int r600_shader_from_tgsi(struct r600_context *rctx, ctx.inst_info = &eg_shader_tgsi_instruction[opcode]; else ctx.inst_info = &r600_shader_tgsi_instruction[opcode]; + + ctx.bc->precise |= ctx.parse.FullToken.FullInstruction.Instruction.Precise; + r = ctx.inst_info->process(&ctx); if (r) goto out_err; |