From: Jason Ekstrand Date: Sat, 19 Aug 2017 18:03:38 +0000 (-0700) Subject: i965/tex: Don't pass samples to miptree_create_for_teximage X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f24cf82d6db290a88abfff0669d2c5e2aa463901;p=mesa.git i965/tex: Don't pass samples to miptree_create_for_teximage In 76e2f390f9863a35, when Topi switched num_samples from 0 to 1 for single-sampled, he accidentally switched the last parameter in the call to miptree_create_for_teximage from 0 to 1 thinking it was num_samples when it was actually layout_flags. Switching from 0 to 1 added the MIPTREE_LAYOUT_ACCELERATED_UPLOAD flag which causes us to allocate a busy BO instead of an idle one. This caused the subsequent CPU upload to consistently stall. The end result was a 15% performance drop in the SynMark v7 DrvRes microbenchmark. This restores the old behavior and fixes the performance regression. Reviewed-by: Topi Pohjolainen Fixes: 76e2f390f9863a356d1419982dec705260d67eff Bugzilla: https://bugs.freedesktop.org/102260 Cc: mesa-stable@lists.freedesktop.org --- diff --git a/src/mesa/drivers/dri/i965/intel_tex.c b/src/mesa/drivers/dri/i965/intel_tex.c index 890c82dd329..94a7ad3dcbf 100644 --- a/src/mesa/drivers/dri/i965/intel_tex.c +++ b/src/mesa/drivers/dri/i965/intel_tex.c @@ -94,7 +94,7 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx, } else { intel_image->mt = intel_miptree_create_for_teximage(brw, intel_texobj, intel_image, - 1 /* samples */); + MIPTREE_CREATE_DEFAULT); if (!intel_image->mt) return false;