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

Reply via email to