driconf, glsl: Add a vs_position_always_precise option

This is basically the same workaround as in 9b577f2a88 (driconf, glsl: Add a
vs_position_always_invariant option) commit but for tesselation evaluation
shaders. Some applications do not mark outputs as precise in tesselation
evaluation shaders which can lead to different results in case some
optimizations were applied.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com>
Fixes: 09705747d7 ("nir/algebraic: Reassociate fadd into fmul in DPH-like pattern")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13027>
This commit is contained in:
Vadym Shovkoplias
2021-09-24 11:46:10 +03:00
committed by Marge Bot
parent 8276a8eb55
commit 36c241be01
8 changed files with 17 additions and 0 deletions

View File

@@ -1630,6 +1630,9 @@ builtin_variable_generator::generate_varyings()
var->data.invariant = fields[i].location == VARYING_SLOT_POS &&
options->PositionAlwaysInvariant;
var->data.precise = fields[i].location == VARYING_SLOT_POS &&
options->PositionAlwaysPrecise;
}
}
}