[Mesa-dev] [PATCH 04/10] egl: simplify EXT_image_dma_buf_import_modifiers attr parsing
Emil Velikov
emil.l.velikov at gmail.com
Fri Jun 30 11:15:14 UTC 2017
From: Emil Velikov <emil.velikov at collabora.com>
Move the common extension check at the top.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
We could do fancier thing - like folding the 0..2 modifier case(s) yet
that will lead to not-so-obvious-at-first idx calculation.
Alternatively we could fold the lo/hi arrays into one but that'll make
other parts of the code less clear.
---
src/egl/main/eglimage.c | 30 ++++--------------------------
1 file changed, 4 insertions(+), 26 deletions(-)
diff --git a/src/egl/main/eglimage.c b/src/egl/main/eglimage.c
index 8f46725be99..3c78a7f34d7 100644
--- a/src/egl/main/eglimage.c
+++ b/src/egl/main/eglimage.c
@@ -197,81 +197,59 @@ _eglParseEXTImageDmaBufImportModifiersAttribs(_EGLImageAttribs *attrs,
_EGLDisplay *dpy,
EGLint attr, EGLint val)
{
- EGLint err = EGL_SUCCESS;
+ if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
+ return EGL_BAD_PARAMETER;
switch (attr) {
case EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersLo[0].Value = val;
attrs->DMABufPlaneModifiersLo[0].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersHi[0].Value = val;
attrs->DMABufPlaneModifiersHi[0].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersLo[1].Value = val;
attrs->DMABufPlaneModifiersLo[1].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersHi[1].Value = val;
attrs->DMABufPlaneModifiersHi[1].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersLo[2].Value = val;
attrs->DMABufPlaneModifiersLo[2].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersHi[2].Value = val;
attrs->DMABufPlaneModifiersHi[2].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE3_FD_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneFds[3].Value = val;
attrs->DMABufPlaneFds[3].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE3_OFFSET_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneOffsets[3].Value = val;
attrs->DMABufPlaneOffsets[3].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE3_PITCH_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlanePitches[3].Value = val;
attrs->DMABufPlanePitches[3].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersLo[3].Value = val;
attrs->DMABufPlaneModifiersLo[3].IsPresent = EGL_TRUE;
break;
case EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT:
- if (!dpy->Extensions.EXT_image_dma_buf_import_modifiers)
- err = EGL_BAD_PARAMETER;
attrs->DMABufPlaneModifiersHi[3].Value = val;
attrs->DMABufPlaneModifiersHi[3].IsPresent = EGL_TRUE;
break;
default:
- err = EGL_BAD_PARAMETER;
- break;
+ return EGL_BAD_PARAMETER;
}
- return err;
+ return EGL_SUCCESS;
}
/**
--
2.13.0
More information about the mesa-dev
mailing list