On Fri, Jun 19, 2015 at 10:05 AM, Mark Janes <mark.a.ja...@intel.com> wrote: > Tested-by: Mark Janes <mark.a.ja...@intel.com> > > Ben Widawsky <benjamin.widaw...@intel.com> writes: > >> The original code meant to do this, but was only checking num_samples == 1 to >> figure out if a surface was fast clear capable. However, we can allocate >> single >> sample miptrees with num_samples == 0 (when it's an internally created >> buffer). >> >> This fixes a bunch of the piglit tests on gen8. Other gens should have been >> fine. >> >> Here is the order of events that allowed this to slip through: >> t0: I wrote halign patches and tested them. These alignment assertions are >> for >> gen8 fast clear surfaces, basically. >> t1: I pushed bogus perf patch which made fast clears never happen >> t2: Reworked halign patches based on Chad's feedback and introduced the bug >> this >> patch fixes. >> t2.5: I tested reworked patches, but assertion wasn't hit because of t1. >> t3. Matt fixed issue in t1 which made fast clears happen here: >> commit 22af95af8316f2888a3935cdf774ff0997b3dd42 >> Author: Matt Turner <matts...@gmail.com> >> Date: Thu Jun 18 16:14:50 2015 -0700 >> >> i965: Add missing braces around if-statement. >> >> This logic should match that of the v1 of my halign patch series. >> >> Cc: Kenneth Graunke <kenn...@whitecape.org> >> Cc: Matt Turner <matts...@gmail.com> >> Reported-by: Kenneth Graunke <kenn...@whitecape.org> >> Signed-off-by: Ben Widawsky <b...@bwidawsk.net> >> --- >> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c >> b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c >> index 80c52f2..6aa969a 100644 >> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c >> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c >> @@ -501,7 +501,7 @@ intel_miptree_create_layout(struct brw_context *brw, >> * 6 | ? | ? >> */ >> if (intel_miptree_is_fast_clear_capable(brw, mt)) { >> - if (brw->gen >= 9 || (brw->gen == 8 && num_samples == 1)) >> + if (brw->gen >= 9 || (brw->gen == 8 && num_samples <= 1)) >> layout_flags |= MIPTREE_LAYOUT_FORCE_HALIGN16; >> } else if (brw->gen >= 9 && num_samples > 1) { >> layout_flags |= MIPTREE_LAYOUT_FORCE_HALIGN16; >> -- >> 2.4.4 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev