gallivm: Make it possible to disable some optimization shortcuts in release builds

Graphics / Mesa 3D Graphics Library / Mesa - Gert Wollny [collabora.com] - 6 October 2018 11:12 EDT

For testing it is of interest that all tests of dEQP pass, e.g. to test
virglrenderer on a host only providing software rendering like in a CI. Hence make it possible to disable certain optimizations that make tests fail.

While we are there also add some documentation to the flags to make it clear that this is opt-out.

Setting the environment variable "GALLIVM_PERF=no_filter_hacks" can be used to make the following tests pass in release mode:

dEQP-GLES2.functional.texture.mipmap.2d.affine.*_linear_* dEQP-GLES2.functional.texture.mipmap.cube.generate.* dEQP-GLES2.functional.texture.vertex.2d.filtering.*_mipmap_linear_* dEQP-GLES2.functional.texture.vertex.2d.wrap.*

Related: https://bugs.freedesktop.org/show_bug.cgi?id=94957

v2: rename optimization disabling flag to 'safemath' and also move the nopt flag to the perf flags.

v3: rename flag "safemath" to "no_filter_hacks" since safemath is usually associated with floating point operations (Roland)

8f77156c26 gallivm: Make it possible to disable some optimization shortcuts in release builds
src/gallium/auxiliary/gallivm/lp_bld_debug.h | 16 ++++++++-------
src/gallium/auxiliary/gallivm/lp_bld_init.c | 25 +++++++++++++++--------
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 6 +++---
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 6 +++---
4 files changed, 32 insertions(+), 21 deletions(-)

Upstream: cgit.freedesktop.org


  • Share