Hi Eric,

On 6 June 2017 at 18:27, Eric Engestrom <eric.engest...@imgtec.com> wrote:
> On Tuesday, 2017-06-06 18:18:31 +0100, Daniel Stone wrote:
>> diff --git a/src/egl/drivers/dri2/egl_dri2.c 
>> b/src/egl/drivers/dri2/egl_dri2.c
>> index d31a0bf8e0..7175e827c9 100644
>> --- a/src/egl/drivers/dri2/egl_dri2.c
>> +++ b/src/egl/drivers/dri2/egl_dri2.c
>> @@ -2278,9 +2278,8 @@ dri2_create_image_dma_buf(_EGLDisplay *disp, 
>> _EGLContext *ctx,
>>      * will be present in attrs.DMABufPlaneModifiersLo[0] and
>>      * attrs.DMABufPlaneModifiersHi[0] */
>>     if (attrs.DMABufPlaneModifiersLo[0].IsPresent) {
>> -      modifier =
>> -         ((uint64_t) attrs.DMABufPlaneModifiersHi[0].Value << 32) |
>> -         attrs.DMABufPlaneModifiersLo[0].Value;
>> +      modifier = (uint64_t) attrs.DMABufPlaneModifiersHi[0].Value << 32;
>> +      modifier |= (uint64_t) (attrs.DMABufPlaneModifiersLo[0].Value & 
>> 0xffffffff);
>
> To be clear, the fix is to cast Lo before OR'ing it, right?
> The rest is just aesthetic?

Yeah, pretty much. A quick test suggests that the cast isn't even
strictly necessary: presumably the promotion (and sign-extension) from
int32 -> uint64 happens before the AND op in (u64 = i32 & 0xffffffff).
I figured being explicit couldn't do any harm anyway.

Cheers,
Daniel
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to