[Mesa-dev] [PATCH 08/11] i965/miptree: Call alloc_aux in create_for_bo

Jason Ekstrand jason at jlekstrand.net
Thu Aug 3 06:28:24 UTC 2017


On August 2, 2017 11:21:33 PM Tapani Pälli <tapani.palli at intel.com> wrote:

> Hi Jason;
>
> Unfortunately this patch does not fix the mentioned bug. I've tested
> both with Piglit on desktop and on Android and issue persists on both.

Can you provide a but now detail?  I tried today but wasn't able to 
reproduce the piglit failure.

> On 08/02/2017 11:35 PM, Jason Ekstrand wrote:
>> Originally, I had moved it to the caller to make some things easier when
>> adding the CCS modifier.  However, this broke DRI2 because
>> intel_process_dri2_buffer calls intel_miptree_create_for_bo but never
>> calls intel_miptree_alloc_aux.  Also, in hindsight, it should be pretty
>> easy to make the CCS modifier stuff work even if create_for_bo allocates
>> the CCS when DISABLE_AUX is not set.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101925
>> Cc: Tapani Palli <tapani.palli at intel.com>
>> Cc: "17.2" <mesa-stable at lists.freedesktop.org>
>> ---
>>   src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 13 +++++++------
>>   1 file changed, 7 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
>> b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> index 910bb46..305912c 100644
>> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> @@ -839,9 +839,15 @@ intel_miptree_create_for_bo(struct brw_context *brw,
>>      mt->bo = bo;
>>      mt->offset = offset;
>>
>> -   if (!(layout_flags & MIPTREE_LAYOUT_DISABLE_AUX))
>> +   if (!(layout_flags & MIPTREE_LAYOUT_DISABLE_AUX)) {
>>         intel_miptree_choose_aux_usage(brw, mt);
>>
>> +      if (!intel_miptree_alloc_aux(brw, mt)) {
>> +         intel_miptree_release(&mt);
>> +         return NULL;
>> +      }
>> +   }
>> +
>>      return mt;
>>   }
>>
>> @@ -978,11 +984,6 @@ intel_miptree_create_for_dri_image(struct brw_context 
>> *brw,
>>      if (is_winsys_image)
>>         image->bo->cache_coherent = false;
>>
>> -   if (!intel_miptree_alloc_aux(brw, mt)) {
>> -      intel_miptree_release(&mt);
>> -      return NULL;
>> -   }
>> -
>>      return mt;
>>   }
>>
>>




More information about the mesa-dev mailing list