This seems perfectly reasonable.  I don't think rounding up to a power of
two can hurt.

Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

On Mon, Aug 22, 2016 at 10:46 AM, Lionel Landwerlin <
lionel.g.landwer...@intel.com> wrote:

> The one I actually wanted to Cc you on :)
>
>
> On 20/08/16 00:44, Lionel Landwerlin wrote:
>
>> A few inline asserts in anv assume alignments are power of 2, but with
>> formats like R8G8B8 we have odd alignments.
>>
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
>> ---
>>   src/intel/isl/isl.c      | 1 +
>>   src/intel/isl/isl_priv.h | 6 ++++++
>>   2 files changed, 7 insertions(+)
>>
>> diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
>> index 18e95e2..dfe0fc1 100644
>> --- a/src/intel/isl/isl.c
>> +++ b/src/intel/isl/isl.c
>> @@ -1182,6 +1182,7 @@ isl_surf_init_s(const struct isl_device *dev,
>>               base_alignment = MAX(base_alignment, fmtl->bpb / 8);
>>            }
>>         }
>> +      base_alignment = isl_round_to_power_of_two(base_alignment);
>>      } else {
>>         assert(phys_slice0_sa.w % fmtl->bw == 0);
>>         const uint32_t total_w_el = phys_slice0_sa.width / fmtl->bw;
>> diff --git a/src/intel/isl/isl_priv.h b/src/intel/isl/isl_priv.h
>> index 3a7af1a..cc9991c 100644
>> --- a/src/intel/isl/isl_priv.h
>> +++ b/src/intel/isl/isl_priv.h
>> @@ -99,6 +99,12 @@ isl_log2u(uint32_t n)
>>   }
>>     static inline uint32_t
>> +isl_round_to_power_of_two(uint32_t value)
>> +{
>> +   return 1 << isl_log2u(value);
>> +}
>> +
>> +static inline uint32_t
>>   isl_minify(uint32_t n, uint32_t levels)
>>   {
>>      if (unlikely(n == 0))
>>
>
>
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to