On 07/24/2013 11:22 PM, Pohjolainen, Topi wrote:
On Wed, Jul 24, 2013 at 05:02:50PM -0700, Chad Versace wrote:
On 07/24/2013 03:23 AM, Topi Pohjolainen wrote:
+
+ /**
+ * The spec says:
+ *
+ * "If <target> is EGL_LINUX_DMA_BUF_EXT, and the EGL_LINUX_DRM_FOURCC_EXT
+ * attribute indicates a single-plane format, EGL_BAD_ATTRIBUTE is
+ * generated if any of the EGL_DMA_BUF_PLANE1_* or EGL_DMA_BUF_PLANE2_*
+ * attributes are specified."
+ */
+ for ( ; i < 3; ++i) {
+ if (attrs->DMABufPlaneFds[i].IsPresent ||
+ attrs->DMABufPlaneOffsets[i].IsPresent ||
+ attrs->DMABufPlanePitches[i].IsPresent) {
+ _eglError(EGL_BAD_ATTRIBUTE, "too many plane attributes");
+ return 0;
+ }
+ }
+
+ return plane_n;
+}
This loop looks buggy. I think the loop head should be
for (i = plane_n; i < 3; ++i)
If the 'return' statement in the previous loop is not taken, one always ends up
here with 'i == plane_n'. I can reset 'i' explicitly also if you think it is
clearer.
Ah, I see now. Please set 'i' explicitly. Otherwise, this loop poses a difficult
puzzle for everyone who encounters it.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev