<?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>i.MX ProcessorsのトピックRe: Shared OpenGL ES Context between screens</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494079#M79384</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you be more specific?&lt;BR /&gt;Which SDK and which samples do you mean?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That link contains hundreds of things that might or might not be relevant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gpu_sdk_v1.00.tar.gz, specifically recommends using the virtual framebuffer, so is clearly outdated.&lt;/P&gt;&lt;P&gt;fsl-gpu-sdk-2.2.tgz is some kind of custom binary package which I cannot extract.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Feb 2016 16:40:38 GMT</pubDate>
    <dc:creator>Richard2</dc:creator>
    <dc:date>2016-02-09T16:40:38Z</dc:date>
    <item>
      <title>Shared OpenGL ES Context between screens</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494075#M79380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have an IMX6 Quad, and there is some OpenGLES content we wish to share between applications.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to several posts on this forum, we could use the Virtual Framebuffer driver to do this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I have been unable to create a shared OpenGLES/EGL context that covers two screens - whether two physical and or a physical and a virtual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I start by creating the initial context on the 'physical' screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I then create a context on the 'virtual' screen that should share this first context.&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14549348077301667" data-renderedposition="197_8_1232_112" jivemacro_uid="_14549348077301667" modifiedtitle="true"&gt;&lt;P&gt;&lt;SPAN style="color: #800000;"&gt;virt_display&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;fbGetDisplayByIndex&lt;SPAN style="color: #000000;"&gt;(virt&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;dispIndex&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #800000;"&gt;eglvdisplay&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;eglGetDisplay&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;&lt;SPAN style="color: #800000;"&gt;virt&lt;/SPAN&gt;_display&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;eglInitialize&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglvdisplay&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;NULL&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;NULL&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);
eglChooseConfig&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglvdisplay&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;m_configAttribs&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglconfig&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;numconfigs&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;EGLNativeWindowType&lt;SPAN style="color: #c0c0c0;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;native_window&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;fbCreateWindow&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;&lt;SPAN style="color: #800000;"&gt;virt&lt;/SPAN&gt;_display&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;x&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;y&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;width&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;height&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="color: #800000;"&gt;eglsurface&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;eglCreateWindowSurface&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglvdisplay&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglconfig&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;native_window&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;NULL&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="color: #800000;"&gt;glcontext&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;eglCreateContext&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglvdisplay&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;eglconfig&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;shared_context&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;ContextAttribList&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;This always throws the error "EGL_BAD_CONTEXT"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;Is this actually possible to do, or is the previous suggestion actually bogus?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Feb 2016 12:35:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494075#M79380</guid>
      <dc:creator>Richard2</dc:creator>
      <dc:date>2016-02-08T12:35:42Z</dc:date>
    </item>
    <item>
      <title>Re: Shared OpenGL ES Context between screens</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494076#M79381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Richard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 11pt; font-family: Calibri, sans-serif; color: #1f497d;"&gt;Virtual FrameBuffer is not supported any more on latest GPU drivers. However the main idea to develop Virtual FB was due to Vivante previous drivers implementation not supporting zero-copy &lt;A class="jive-link-external-small" href="https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt" rel="nofollow" style="font-weight: inherit; font-style: inherit; font-size: 14.6667px; font-family: inherit; color: #017bba;"&gt;https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt&lt;/A&gt;. that is supported in latest driver (from driver version 4.6 an up).&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 11pt; font-family: Calibri, sans-serif; color: #1f497d;"&gt;So I would recommend to use standard methods of pbuffer or EGLImage.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 11pt; font-family: Calibri, sans-serif; color: #1f497d;"&gt;You can check more information about gpu memory allocators and system virtual pools on the i.MX6 Graphics User guide under your BSP documentation folder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 11pt; font-family: Calibri, sans-serif; color: #1f497d;"&gt;Hope this helps&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Feb 2016 17:43:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494076#M79381</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2016-02-08T17:43:45Z</dc:date>
    </item>
    <item>
      <title>Re: Shared OpenGL ES Context between screens</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494077#M79382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, I shall discard the Virtual Framebuffer approach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately the i.MX 6 Graphics Users Guide (yocto 3.14.52_1.1.0 and older) says nothing at all about EGLImage or pbuffers, and the Khronos documentation is fairly opaque.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please point me towards some Linux examples of EGLImage?&lt;/P&gt;&lt;P&gt;While I have found a couple of Android examples, these rely on Android-specific items and I have been unable to find anything for Linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For this particular usage I only need to reference the same GPU-side texture resource in the two contexts.&lt;/P&gt;&lt;P&gt;The texture is a FBO target used by the GPU in Context A, and then rendered to screen in Context B.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Feb 2016 10:14:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494077#M79382</guid>
      <dc:creator>Richard2</dc:creator>
      <dc:date>2016-02-09T10:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: Shared OpenGL ES Context between screens</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494078#M79383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Richard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you try to test the GPU SDK samples?:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors-based-on-arm-cores/i.mx-6-processors/i.mx6qp/i.mx-6quad-processors-high-performance-3d-graphics-hd-video-arm-cortex-a9-core:i.MX6Q?fpsp=1&amp;amp;tab=Design_Tools_Tab" title="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors-based-on-arm-cores/i.mx-6-processors/i.mx6qp/i.mx-6quad-processors-high-performance-3d-graphics-hd-video-arm-cortex-a9-core:i.MX6Q?fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;i.MX6Q|i.MX 6Quad Processors|Quad Core|NXP&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Feb 2016 16:24:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494078#M79383</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2016-02-09T16:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: Shared OpenGL ES Context between screens</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494079#M79384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you be more specific?&lt;BR /&gt;Which SDK and which samples do you mean?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That link contains hundreds of things that might or might not be relevant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gpu_sdk_v1.00.tar.gz, specifically recommends using the virtual framebuffer, so is clearly outdated.&lt;/P&gt;&lt;P&gt;fsl-gpu-sdk-2.2.tgz is some kind of custom binary package which I cannot extract.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Feb 2016 16:40:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Shared-OpenGL-ES-Context-between-screens/m-p/494079#M79384</guid>
      <dc:creator>Richard2</dc:creator>
      <dc:date>2016-02-09T16:40:38Z</dc:date>
    </item>
  </channel>
</rss>

