<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic OpenVG not-synchronized buffer options in Vybrid Processors</title>
    <link>https://community.nxp.com/t5/Vybrid-Processors/OpenVG-not-synchronized-buffer-options/m-p/243269#M691</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Two options are available to draw into a surface without being synchronized with the DCU frame rate:&lt;/P&gt;&lt;P&gt;- Using pBuffer&lt;/P&gt;&lt;P&gt;- Using FBWS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: inherit;"&gt;eglSwapInteval&lt;/SPAN&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt; is not supported from 0.4.0 to 0.6.0 so setting &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;eglSwapInterval to 0 achieve this will not help. &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;And if the user uses Pbuffer surface, the eglSwapInterval would not work even if it's supported, because in Pbuffer surface case the video sync is controlled by the application separately itself.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;So, pBuffer can be used because is not linked to the windowing system (ie DCU) so they don't need to use eglSwapBuffers or eglSwapInterval.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;Synchronization is done manually. This allows a lot of customization. &lt;/SPAN&gt;&lt;SPAN style="font-family: inherit; font-size: 10pt; font-style: inherit; line-height: 1.5em;"&gt;For example:&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote" style="margin: 10px 20px; padding-left: 10px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;(assume pBuffer are used, egl, openvg context and surfaces already initialized&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;draw()&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;{&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eglMakeCurrent(dsp, surf[current], surf[current], ctx[current]);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do all draw operations&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vgFinish()&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eglGetPbufferDimFSL(&amp;amp;pbd, dsp, surf[current]);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferAdress = pbd.pByte;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = (current+1) % NUM_BUFFERS&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (you need to update the DCU layers now... or wait for vsync...)&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;In 0.6.0 release, you can configure FBWS to be single buffered to imitate the behavior of "&lt;SPAN style="font-style: inherit;"&gt;interval = 0&lt;/SPAN&gt;". See the example in tests/image/ovgmain.c.&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote" style="margin: 10px 20px; padding-left: 10px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;FbdevInfo fb_info = {&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* buf_count */&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* x */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* y */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* width */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* height */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* stride */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_COLOR_ARGB8888&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* format */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Aug 2013 01:09:22 GMT</pubDate>
    <dc:creator>ioseph_martinez</dc:creator>
    <dc:date>2013-08-07T01:09:22Z</dc:date>
    <item>
      <title>OpenVG not-synchronized buffer options</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/OpenVG-not-synchronized-buffer-options/m-p/243269#M691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Two options are available to draw into a surface without being synchronized with the DCU frame rate:&lt;/P&gt;&lt;P&gt;- Using pBuffer&lt;/P&gt;&lt;P&gt;- Using FBWS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: inherit;"&gt;eglSwapInteval&lt;/SPAN&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt; is not supported from 0.4.0 to 0.6.0 so setting &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;eglSwapInterval to 0 achieve this will not help. &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;And if the user uses Pbuffer surface, the eglSwapInterval would not work even if it's supported, because in Pbuffer surface case the video sync is controlled by the application separately itself.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;So, pBuffer can be used because is not linked to the windowing system (ie DCU) so they don't need to use eglSwapBuffers or eglSwapInterval.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;Synchronization is done manually. This allows a lot of customization. &lt;/SPAN&gt;&lt;SPAN style="font-family: inherit; font-size: 10pt; font-style: inherit; line-height: 1.5em;"&gt;For example:&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote" style="margin: 10px 20px; padding-left: 10px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;(assume pBuffer are used, egl, openvg context and surfaces already initialized&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;draw()&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;{&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eglMakeCurrent(dsp, surf[current], surf[current], ctx[current]);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do all draw operations&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vgFinish()&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eglGetPbufferDimFSL(&amp;amp;pbd, dsp, surf[current]);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&lt;SPAN style="font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferAdress = pbd.pByte;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = (current+1) % NUM_BUFFERS&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (you need to update the DCU layers now... or wait for vsync...)&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;In 0.6.0 release, you can configure FBWS to be single buffered to imitate the behavior of "&lt;SPAN style="font-style: inherit;"&gt;interval = 0&lt;/SPAN&gt;". See the example in tests/image/ovgmain.c.&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote" style="margin: 10px 20px; padding-left: 10px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;FbdevInfo fb_info = {&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* buf_count */&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* x */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* y */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* width */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* height */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_VALUE_NOT_SPECIFIED,&amp;nbsp;&amp;nbsp; /* stride */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBDEV_COLOR_ARGB8888&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* format */&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Aug 2013 01:09:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/OpenVG-not-synchronized-buffer-options/m-p/243269#M691</guid>
      <dc:creator>ioseph_martinez</dc:creator>
      <dc:date>2013-08-07T01:09:22Z</dc:date>
    </item>
  </channel>
</rss>

