-#define UDI_GFX_OPERATOR_RGB 0 // output = (color) red(a1) + green(a2) + blue(a3) (each component is UDI_GFX_PROP_COLOR_BITS
-#define UDI_GFX_OPERATOR_YUV 1 // output = (color) Y(a1) + U(a2) + V(a3)
-#define UDI_GFX_OPERATOR_YIQ 2 // output = (color) Y(a1) + I(a2) + Q(a3)
-#define UDI_GFX_OPERATOR_I 3 // output = (color) intensity(a1)
-#define UDI_GFX_OPERATOR_ALPHA 4 // output = (color) a1 + alpha(a2)
-#define UDI_GFX_OPERATOR_ADD 5 // output = a1 + a2 + v3
-#define UDI_GFX_OPERATOR_SUB 6 // output = a1 - a2 - v3
-#define UDI_GFX_OPERATOR_MUL 7 // output = a1 * a2
-#define UDI_GFX_OPERATOR_DIV 8 // output = a1 / a2
-#define UDI_GFX_OPERATOR_MAD 9 // output = a1 * a2 + a3
-#define UDI_GFX_OPERATOR_FRC 10 // output = (a1 * a2) / a3
-#define UDI_GFX_OPERATOR_SHR 11 // output = a1 >> (a2 + v3)
-#define UDI_GFX_OPERATOR_SHL 12 // output = a1 << (a2 + v3)
-#define UDI_GFX_OPERATOR_ROR 13 // output = a1 >> a2 (over a3 bits)
-#define UDI_GFX_OPERATOR_ROL 14 // output = a1 << a2 (over a3 bits)
-#define UDI_GFX_OPERATOR_SAR 15 // output = a1 >> a2 (width is a3 bits, i.e. empties are filled with bit a3-1)
-#define UDI_GFX_OPERATOR_SAL 16 // output = a1 <<< (a2 + v3) (empties filled with bit 0)
-#define UDI_GFX_OPERATOR_AND 17 // output = a1 & a2
-#define UDI_GFX_OPERATOR_OR 18 // output = a1 | a2 | v3
-#define UDI_GFX_OPERATOR_NOT 19 // output = ~a1
-#define UDI_GFX_OPERATOR_XOR 20 // output = a1 ^ a2 ^ v3
-#define UDI_GFX_OPERATOR_NEG 21 // output = -a1
-#define UDI_GFX_OPERATOR_SEG 22 // output = (a1 >> v2) & (2**v3-1) (select v3 bits starting from bit v2)
-#define UDI_GFX_OPERATOR_RANGE 23 // output = (a1 > a2) ? a2 : ((a1 < a3) ? a3 : a1)
-#define UDI_GFX_OPERATOR_CONST 24 // output = v1
-#define UDI_GFX_OPERATOR_ATTR 25 // output = property[a1 + v2]
-#define UDI_GFX_OPERATOR_SWITCH 26 // output = output[(a1 % v3) + v2]
-#define UDI_GFX_OPERATOR_BUFFER 27 // output = buffer[a1][a2] (buffer is v3 bits per entry)
-#define UDI_GFX_OPERATOR_X 28 // output = output x pixel
-#define UDI_GFX_OPERATOR_Y 29 // output = output y pixel
-#define UDI_GFX_OPERATOR_TX 30 // output = horizontal tile index belonging to output pixel
-#define UDI_GFX_OPERATOR_TY 31 // output = vertical tile index belonging to output pixel
-#define UDI_GFX_OPERATOR_TXOFF 32 // output = horizontal offset from start of tile
-#define UDI_GFX_OPERATOR_TYOFF 33 // output = vertical offset from start of tile
-#define UDI_GFX_OPERATOR_INPUT 34 // output = input engine[x][y] component v1
-#define UDI_GFX_OPERATOR_DINPUT 35 // output = input engine[a1][a2] component v3
-
-
-
+#define UDI_GFX_OPERATOR_RGB 0 /* output = (color) red(a1) + green(a2) + blue(a3) (each component is UDI_GFX_PROP_COLOR_BITS*/
+#define UDI_GFX_OPERATOR_YUV 1 /* output = (color) Y(a1) + U(a2) + V(a3)*/
+#define UDI_GFX_OPERATOR_YIQ 2 /* output = (color) Y(a1) + I(a2) + Q(a3)*/
+#define UDI_GFX_OPERATOR_I 3 /* output = (color) intensity(a1)*/
+#define UDI_GFX_OPERATOR_ALPHA 4 /* output = (color) a1 + alpha(a2)*/
+#define UDI_GFX_OPERATOR_ADD 5 /* output = a1 + a2 + v3*/
+#define UDI_GFX_OPERATOR_SUB 6 /* output = a1 - a2 - v3*/
+#define UDI_GFX_OPERATOR_MUL 7 /* output = a1 * a2*/
+#define UDI_GFX_OPERATOR_DIV 8 /* output = a1 / a2*/
+#define UDI_GFX_OPERATOR_MAD 9 /* output = a1 * a2 + a3*/
+#define UDI_GFX_OPERATOR_FRC 10 /* output = (a1 * a2) / a3*/
+#define UDI_GFX_OPERATOR_SHR 11 /* output = a1 >> (a2 + v3)*/
+#define UDI_GFX_OPERATOR_SHL 12 /* output = a1 << (a2 + v3)*/
+#define UDI_GFX_OPERATOR_ROR 13 /* output = a1 >> a2 (over a3 bits)*/
+#define UDI_GFX_OPERATOR_ROL 14 /* output = a1 << a2 (over a3 bits)*/
+#define UDI_GFX_OPERATOR_SAR 15 /* output = a1 >> a2 (width is a3 bits, i.e. empties are filled with bit a3-1)*/
+#define UDI_GFX_OPERATOR_SAL 16 /* output = a1 <<< (a2 + v3) (empties filled with bit 0)*/
+#define UDI_GFX_OPERATOR_AND 17 /* output = a1 & a2*/
+#define UDI_GFX_OPERATOR_OR 18 /* output = a1 | a2 | v3*/
+#define UDI_GFX_OPERATOR_NOT 19 /* output = ~a1*/
+#define UDI_GFX_OPERATOR_XOR 20 /* output = a1 ^ a2 ^ v3*/
+#define UDI_GFX_OPERATOR_NEG 21 /* output = -a1*/
+#define UDI_GFX_OPERATOR_SEG 22 /* output = (a1 >> v2) & (2**v3-1) (select v3 bits starting from bit v2)*/
+#define UDI_GFX_OPERATOR_RANGE 23 /* output = (a1 > a2) ? a2 : ((a1 < a3) ? a3 : a1)*/
+#define UDI_GFX_OPERATOR_CONST 24 /* output = v1*/
+#define UDI_GFX_OPERATOR_ATTR 25 /* output = property[a1 + v2]*/
+#define UDI_GFX_OPERATOR_SWITCH 26 /* output = output[(a1 % v3) + v2]*/
+#define UDI_GFX_OPERATOR_BUFFER 27 /* output = buffer[a1][a2] (buffer is v3 bits per entry)*/
+#define UDI_GFX_OPERATOR_X 28 /* output = output x pixel*/
+#define UDI_GFX_OPERATOR_Y 29 /* output = output y pixel*/
+#define UDI_GFX_OPERATOR_TX 30 /* output = horizontal tile index belonging to output pixel*/
+#define UDI_GFX_OPERATOR_TY 31 /* output = vertical tile index belonging to output pixel*/
+#define UDI_GFX_OPERATOR_TXOFF 32 /* output = horizontal offset from start of tile*/
+#define UDI_GFX_OPERATOR_TYOFF 33 /* output = vertical offset from start of tile*/
+#define UDI_GFX_OPERATOR_INPUT 34 /* output = input engine[x][y] component v1*/
+#define UDI_GFX_OPERATOR_DINPUT 35 /* output = input engine[a1][a2] component v3*/
+
+/* Enumeration: UDI_GFX_STOCK_FORMAT
+ * Lists stock configurations
+ *
+ * When a stock configuration is used, the device is set to behave as a
+ * simple framebuffer device. The <UDI_GFX_PROP_WIDTH> and <UDI_GFX_PROP_HEIGHT>
+ * determine the virtual size of the framebuffer, and <UDI_GFX_PROP_TRANSLATEX>
+ * and <UDI_GFX_PROP_TRANSLATEY> indicate the offset into that framebuffer
+ * that is visible (which are typically restricted to negative values)
+ */
+#define UDI_GFX_STOCK_FORMAT_UNKNOWN 0
+#define UDI_GFX_STOCK_FORMAT_R8G8B8X8 1
+#define UDI_GFX_STOCK_FORMAT_B8G8R8X8 2
+#define UDI_GFX_STOCK_FORMAT_R8G8B8 3
+#define UDI_GFX_STOCK_FORMAT_B8G8R8 4
+#define UDI_GFX_STOCK_FORMAT_R5G6B5 5
+#define UDI_GFX_STOCK_FORMAT_B5G6R5 6
+#define UDI_GFX_STOCK_FORMAT_R5G5B5X1 7
+#define UDI_GFX_STOCK_FORMAT_B5G5R5X1 8
+#define UDI_GFX_STOCK_FORMAT_N8 9
+
+/*
+ * Enumeration: UDI_GFX_BUFFER_INFO_FLAG
+ * Lists behavioural patterns for direct buffer accesses.
+ */
+#define UDI_GFX_BUFFER_INFO_FLAG_R 0x0001 /* buffer can be read*/
+#define UDI_GFX_BUFFER_INFO_FLAG_W 0x0002 /* buffer can be written*/
+#define UDI_GFX_BUFFER_INFO_FLAG_BITALIGN_ENTRY 0x0004 /* for non-multiple-of-eight buffer slot sizes, align on byte boundary every unit*/
+#define UDI_GFX_BUFFER_INFO_FLAG_BITALIGN_ROW 0x0008 /* for non-multiple-of-eight buffer slot sizes, align only the start of the row*/
+
+