intel: Always downsample in intel_miptree_map_multisample
authorChad Versace <chad.versace@linux.intel.com>
Thu, 9 Aug 2012 20:55:07 +0000 (13:55 -0700)
committerChad Versace <chad.versace@linux.intel.com>
Thu, 9 Aug 2012 22:21:02 +0000 (15:21 -0700)
Always downsample before mapping, even if the map mode contains
GL_MAP_INVALIDATE_RANGE_BIT. If we neglect to downsample when only
a subrect is mapped then the upsample in intel_miptree_unmap_multisample
may write garbage to the region outside the subrect.

(Eric gave my patch e88cfbb a conditional reviewed-by with the condition
that it always downsample before mapping. I forgot to make that change
before pushing the patch.)

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/intel/intel_mipmap_tree.c

index e002c743b92b4ceca2c99a4ab0068ae9d81b9e46..24cd9e9ad995d90d66b35f3d5dcec7c68bc33068 100644 (file)
@@ -1626,9 +1626,6 @@ intel_miptree_map_multisample(struct intel_context *intel,
       mt->need_downsample = true;
    }
 
-   if (mode & GL_MAP_INVALIDATE_RANGE_BIT)
-      mt->need_downsample = false;
-
    intel_miptree_downsample(intel, mt);
    intel_miptree_map_singlesample(intel, mt->singlesample_mt,
                                   level, slice,