On 18 November 2016 at 15:17, Daniel Stone <dan...@fooishbar.org> wrote: > Hi, > > On 18 November 2016 at 14:50, Emil Velikov <emil.l.veli...@gmail.com> wrote: >> On 16 November 2016 at 09:28, Varad Gautam <varadgau...@gmail.com> wrote: >>> + if (nonzero_modifier_found && dri2_dpy->image->createImageFromDmaBufs2) >>> { >>> + dri_image = >>> + dri2_dpy->image->createImageFromDmaBufs2(dri2_dpy->dri_screen, >>> + attrs.Width, attrs.Height, attrs.DMABufFourCC.Value, >>> + fds, num_fds, pitches, offsets, modifiers, >>> + attrs.DMABufYuvColorSpaceHint.Value, >>> + attrs.DMABufSampleRangeHint.Value, >>> + attrs.DMABufChromaHorizontalSiting.Value, >>> + attrs.DMABufChromaVerticalSiting.Value, >>> + &error, >>> + NULL); >>> + } else { >>> + if (nonzero_modifier_found) { >>> + _eglError(EGL_BAD_MATCH, "unsupported dma_buf format modifier"); >>> + return EGL_NO_IMAGE_KHR; >>> + } >>> + >> Using something like the following might be better? >> >> if (nonzero_modifier_found) { >> if (!dri2_dpy->image->createImageFromDmaBufs2) >> # assert should never reach here, since the extension should be >> advertised only if the API is available. >> use new API >> else >> use old API > > Actually, present-and-zero modifier has a very well-defined meaning: > it _forces_ linear interpretation of the buffer, whereas a non-present > modifier may cause a kernel query (e.g. i915_gem_get_tiling) to > discover a hidden tiling mode. So, if present, the modifier should be > passed. > You are suggesting that we should track "has_modifier" (as opposed to nonzero_modifier_found) and pass it to DmaBuf2 regardless of the contents, right ?
Just double-checking. Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev