[Mesa-dev] [PATCH] i965/gen8: Use HALIGN_16 for single sample mcs buffers
Anuj Phogat
anuj.phogat at gmail.com
Fri Jun 19 13:44:22 PDT 2015
On Fri, Jun 19, 2015 at 10:05 AM, Mark Janes <mark.a.janes at intel.com> wrote:
> Tested-by: Mark Janes <mark.a.janes at intel.com>
>
> Ben Widawsky <benjamin.widawsky at 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 <mattst88 at 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 <kenneth at whitecape.org>
>> Cc: Matt Turner <mattst88 at gmail.com>
>> Reported-by: Kenneth Graunke <kenneth at whitecape.org>
>> Signed-off-by: Ben Widawsky <ben at 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 at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
More information about the mesa-dev
mailing list