diff options
author | Chuanbo Weng <[email protected]> | 2016-09-14 01:07:10 +0800 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2016-09-21 12:19:19 +0100 |
commit | 9e8de866f749a26d57c315da8c37799acbbff091 (patch) | |
tree | dd8a26174d49ad87cd517a35d024f89f0f342165 /src/egl | |
parent | 1ceb775d5738365e82221773656c3b70e98bc1d3 (diff) |
egl: return corresponding offset of EGLImage instead of 0.
The offset should not always be 0. For example, if EGLImage is
created from a 2D texture with EGL_GL_TEXTURE_LEVEL=1, then the
offset should be the actual start of miplevel 1 in bo.
v2: Add version check of __DRIimageExtension implementation
(Suggested by Axel Davy).
v3: Don't add version check of __DRIimageExtension implementation.
Set the offset only when queryImage() succeeds. (Suggested by Emil
Velikov)
Signed-off-by: Chuanbo Weng <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
[Emil Velikov: coding style fixes]
Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index bbc457c8bb0..8e376e32d7c 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -2259,8 +2259,15 @@ dri2_export_dma_buf_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *im dri2_dpy->image->queryImage(dri2_img->dri_image, __DRI_IMAGE_ATTRIB_STRIDE, strides); - if (offsets) - offsets[0] = 0; + if (offsets) { + int img_offset; + bool ret = dri2_dpy->image->queryImage(dri2_img->dri_image, + __DRI_IMAGE_ATTRIB_OFFSET, &img_offset); + if (ret) + offsets[0] = img_offset; + else + offsets[0] = 0; + } return EGL_TRUE; } |