i965/tex: Don't pass samples to miptree_create_for_teximage
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 19 Aug 2017 18:03:38 +0000 (11:03 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sat, 19 Aug 2017 22:39:12 +0000 (15:39 -0700)
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 <topi.pohjolainen@intel.com>
Fixes: 76e2f390f9863a356d1419982dec705260d67eff
Bugzilla: https://bugs.freedesktop.org/102260
Cc: mesa-stable@lists.freedesktop.org
src/mesa/drivers/dri/i965/intel_tex.c

index 890c82dd329e7f0808a8e8b72822eeb4def28e7d..94a7ad3dcbfb78db856e84f1754e77d148a7e38e 100644 (file)
@@ -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;