gallivm: make rho-approximation opt-in instead of opt-out
The RHO approximation code has issues passing the OpenGL ES 3.0 CTS, so let's make correctness the default instead. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12125>
This commit is contained in:
committed by
Marge Bot
parent
6538b3e566
commit
34423391e0
@@ -44,7 +44,7 @@
|
||||
#define GALLIVM_DEBUG_DUMP_BC (1 << 5)
|
||||
|
||||
#define GALLIVM_PERF_BRILINEAR (1 << 0)
|
||||
#define GALLIVM_PERF_NO_RHO_APPROX (1 << 1)
|
||||
#define GALLIVM_PERF_RHO_APPROX (1 << 1)
|
||||
#define GALLIVM_PERF_NO_QUAD_LOD (1 << 2)
|
||||
#define GALLIVM_PERF_NO_OPT (1 << 3)
|
||||
#define GALLIVM_PERF_NO_AOS_SAMPLING (1 << 4)
|
||||
|
||||
@@ -56,12 +56,11 @@ unsigned gallivm_perf = 0;
|
||||
|
||||
static const struct debug_named_value lp_bld_perf_flags[] = {
|
||||
{ "brilinear", GALLIVM_PERF_BRILINEAR, "enable brilinear optimization" },
|
||||
{ "no_rho_approx", GALLIVM_PERF_NO_RHO_APPROX, "disable rho_approx optimization" },
|
||||
{ "rho_approx", GALLIVM_PERF_RHO_APPROX, "enable rho_approx optimization" },
|
||||
{ "no_quad_lod", GALLIVM_PERF_NO_QUAD_LOD, "disable quad_lod optimization" },
|
||||
{ "no_aos_sampling", GALLIVM_PERF_NO_AOS_SAMPLING, "disable aos sampling optimization" },
|
||||
{ "nopt", GALLIVM_PERF_NO_OPT, "disable optimization passes to speed up shader compilation" },
|
||||
{ "no_filter_hacks", GALLIVM_PERF_NO_RHO_APPROX |
|
||||
GALLIVM_PERF_NO_QUAD_LOD, "disable filter optimization hacks" },
|
||||
{ "no_filter_hacks", GALLIVM_PERF_NO_QUAD_LOD, "disable filter optimization hacks" },
|
||||
DEBUG_NAMED_VALUE_END
|
||||
};
|
||||
|
||||
|
||||
@@ -3358,7 +3358,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm,
|
||||
if (gallivm_perf & GALLIVM_PERF_NO_QUAD_LOD || op_is_lodq) {
|
||||
bld.no_quad_lod = TRUE;
|
||||
}
|
||||
if (gallivm_perf & GALLIVM_PERF_NO_RHO_APPROX || op_is_lodq) {
|
||||
if (!(gallivm_perf & GALLIVM_PERF_RHO_APPROX) || op_is_lodq) {
|
||||
bld.no_rho_approx = TRUE;
|
||||
}
|
||||
if (!(gallivm_perf & GALLIVM_PERF_BRILINEAR) || op_is_lodq || lod_bias || explicit_lod) {
|
||||
|
||||
Reference in New Issue
Block a user