<?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: Vivante eglCreateImageKHR Linux</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231682#M17531</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H6 style="font-style: inherit; font-family: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&lt;A _jive_internal="true" class="font-color-meta-light" href="https://community.nxp.com/message/346799#346799" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #a9a9a9;"&gt;Re: Vivante eglCreateImageKHR Linux&lt;/A&gt;&lt;/STRONG&gt;&lt;/H6&gt;&lt;P class="j-post-avatar" style="font-style: inherit; font-family: inherit;"&gt;&lt;A _jive_internal="true" class="j-avatar jiveTT-hover-user" data-avatarid="26872" data-externalid="" data-presence="null" data-userid="210819" data-username="juangutierrez" href="https://community.nxp.com/people/juangutierrez" style="font-style: inherit; font-family: inherit; color: #6a737b; text-decoration: underline;"&gt;&lt;IMG alt="Juan Antonio Gutierrez Rosas" border="0" class="jiveImage jive-avatar" data-avatarid="26872" data-height="46" data-username="juangutierrez" height="46" src="https://community.nxp.com/people/juangutierrez/avatar/46.png?a=26872" style="border: 0px; font-style: inherit; font-family: inherit;" width="46" /&gt;&lt;/A&gt;&lt;SPAN class="j-status-levels" style="font-style: inherit; font-family: inherit;"&gt;&lt;IMG alt="Employee" class="jiveImage" src="https://community.nxp.com/6.0.2.0/resources/images/status/FS_EMP_40x18.png" style="font-style: inherit; font-family: inherit;" title="Employee" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author" style="font-style: inherit; font-size: 0.9em; font-family: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&lt;A href="https://community.nxp.com/people/juangutierrez"&gt;juangutierrez&lt;/A&gt; &lt;/STRONG&gt;Aug 26, 2013 4:48 PM &lt;SPAN class="font-color-meta-light j-thread-replyto" style="padding: 0 0 0 3px; font-style: inherit; font-family: inherit; color: #a9a9a9;"&gt;(&lt;A _jive_internal="true" class="font-color-meta-light localScroll" href="https://community.nxp.com/message/346799?et=watches.email.thread#336323" style="font-style: inherit; font-family: inherit; color: #a9a9a9;" title="Go to message"&gt;in response to imxcommunityscout&lt;/A&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="j-ui-elem j-dotted-star" style="font-style: inherit; font-family: inherit; background-position: no-repeat no-repeat;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;I'm not an expert in Graphics, but if what you are trying to do is to create a texture from an IPU memory buffer, you can use the glTexDirectVIVMap API to map a virtual memory address buffer (texture_data) to the current bind texture (GL_TEXTURE_2D).&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;To indicate that physical address is unknown ~0U should be passed as the last argument.&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;Also you should call this API for each new frame rendered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;==================== Pseudo code =======================&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;GLuint physical = ~0U;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;GLuint texture_id = 0;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;void* texture_data = GetBuffer();&amp;nbsp;&amp;nbsp; // virtual buffer addr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;_texture = glGenTextures (1, &amp;amp;texture_id);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexParameterf (GL_TEXTURE_2D, &amp;lt;pname&amp;gt;, &amp;lt;pvalue&amp;gt;);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glBindTexture(GL_TEXTURE_2D, _texture);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexDirectVIVMap (GL_TEXTURE_2D, width, height, GL_VIV_NV12, (GLvoid**)(&amp;amp;texture_data), &amp;amp;physical);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexDirectInvalidateVIV (GL_TEXTURE_2D);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Aug 2013 16:15:19 GMT</pubDate>
    <dc:creator>karina_valencia</dc:creator>
    <dc:date>2013-08-27T16:15:19Z</dc:date>
    <item>
      <title>Vivante eglCreateImageKHR Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231678#M17527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to make use of eglCreateImageKHR on the i.MX6 in Linux (normal framebuffer drivers) but it is not clear what EGLClientBuffer should be.&amp;nbsp; I've tried using both physical and virtual addresses from both IPU allocated memory as well as from framebuffer (/dev/fb) devices.&amp;nbsp; In all cases the call returns EGL_BAD_PARAMETER.&amp;nbsp; I am trying to create an EGLImage for use as a texture in GLES 1.1 (possibly also a VGImage in the future) whose data comes from IPU allocated memory or a framebuffer (which the IPU can access directly).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;image = eglCreateImageKHR(egl_display, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, buffer, NULL);&lt;/P&gt;&lt;P&gt;eglGetError() always returns EGL_BAD_PARAMETER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For buffer I've tried using a EGLNativePixmapType returned from fbCreatePixmap, the physical address of the underlying /dev/fb device, the mmap'ed memory of the same /dev/fb device.&amp;nbsp; I've also tried using /dev/mxc_ipu to allocate memory and using either the physical or mmap'ed memory from there as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV class="column"&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2013 21:53:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231678#M17527</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-06-20T21:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: Vivante eglCreateImageKHR Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231679#M17528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I made an error in this report, I was specifying a context instead of &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;EGL_NO_CONTEXT&lt;/SPAN&gt; which was the cause of the &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;EGL_BAD_PARAMETER&lt;/SPAN&gt; (why this happens isn't clear).&amp;nbsp; Using EGL_NO_CONTEXT does allow the image to be created but the texture renders all white though inspecting the memory of the image shows that it does indeed have the correct data.&amp;nbsp; I've set the clear colour to be green, disabling the texture does show a green canvas as expected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2013 22:19:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231679#M17528</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-06-20T22:19:33Z</dc:date>
    </item>
    <item>
      <title>Re: Vivante eglCreateImageKHR Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231680#M17529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Hi&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;I'm not an expert in Graphics, but if what you are trying to do is to create a texture from an IPU memory buffer, you can use the glTexDirectVIVMap API to map a virtual memory address buffer (texture_data) to the current bind texture (GL_TEXTURE_2D).&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;To indicate that physical address is unknown ~0U should be passed as the last argument.&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Also you should call this API for each new frame rendered.&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;==================== Pseudo code =======================&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;GLuint physical = ~0U;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;GLuint texture_id = 0;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;void* texture_data = GetBuffer();&amp;nbsp;&amp;nbsp; // virtual buffer addr&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;_texture = glGenTextures (1, &amp;amp;texture_id);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;glTexParameterf (GL_TEXTURE_2D, &amp;lt;pname&amp;gt;, &amp;lt;pvalue&amp;gt;);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;glBindTexture(GL_TEXTURE_2D, _texture);&lt;/P&gt;&lt;P&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;glTexDirectVIVMap (GL_TEXTURE_2D, width, height, GL_VIV_NV12, (GLvoid**)(&amp;amp;texture_data), &amp;amp;physical);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;glTexDirectInvalidateVIV (GL_TEXTURE_2D);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2013 00:02:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231680#M17529</guid>
      <dc:creator>juangutierrez</dc:creator>
      <dc:date>2013-08-27T00:02:47Z</dc:date>
    </item>
    <item>
      <title>Re: Vivante eglCreateImageKHR Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231681#M17530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If using the IPU we specifically want to use the physical address so we both use IPU_ALLOC and mmap the buffer to get a virtual address.&amp;nbsp; I have been using glTexDirectVIVMap in this way successfully.&amp;nbsp; I haven't had the time to come back and look at the issue with &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;eglCreateImageKHR&lt;/SPAN&gt; but I believe it might be able to use a framebuffer pixmap created with the fbCreatePixmap.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2013 15:08:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231681#M17530</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-08-27T15:08:42Z</dc:date>
    </item>
    <item>
      <title>Re: Vivante eglCreateImageKHR Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231682#M17531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H6 style="font-style: inherit; font-family: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&lt;A _jive_internal="true" class="font-color-meta-light" href="https://community.nxp.com/message/346799#346799" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #a9a9a9;"&gt;Re: Vivante eglCreateImageKHR Linux&lt;/A&gt;&lt;/STRONG&gt;&lt;/H6&gt;&lt;P class="j-post-avatar" style="font-style: inherit; font-family: inherit;"&gt;&lt;A _jive_internal="true" class="j-avatar jiveTT-hover-user" data-avatarid="26872" data-externalid="" data-presence="null" data-userid="210819" data-username="juangutierrez" href="https://community.nxp.com/people/juangutierrez" style="font-style: inherit; font-family: inherit; color: #6a737b; text-decoration: underline;"&gt;&lt;IMG alt="Juan Antonio Gutierrez Rosas" border="0" class="jiveImage jive-avatar" data-avatarid="26872" data-height="46" data-username="juangutierrez" height="46" src="https://community.nxp.com/people/juangutierrez/avatar/46.png?a=26872" style="border: 0px; font-style: inherit; font-family: inherit;" width="46" /&gt;&lt;/A&gt;&lt;SPAN class="j-status-levels" style="font-style: inherit; font-family: inherit;"&gt;&lt;IMG alt="Employee" class="jiveImage" src="https://community.nxp.com/6.0.2.0/resources/images/status/FS_EMP_40x18.png" style="font-style: inherit; font-family: inherit;" title="Employee" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author" style="font-style: inherit; font-size: 0.9em; font-family: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&lt;A href="https://community.nxp.com/people/juangutierrez"&gt;juangutierrez&lt;/A&gt; &lt;/STRONG&gt;Aug 26, 2013 4:48 PM &lt;SPAN class="font-color-meta-light j-thread-replyto" style="padding: 0 0 0 3px; font-style: inherit; font-family: inherit; color: #a9a9a9;"&gt;(&lt;A _jive_internal="true" class="font-color-meta-light localScroll" href="https://community.nxp.com/message/346799?et=watches.email.thread#336323" style="font-style: inherit; font-family: inherit; color: #a9a9a9;" title="Go to message"&gt;in response to imxcommunityscout&lt;/A&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="j-ui-elem j-dotted-star" style="font-style: inherit; font-family: inherit; background-position: no-repeat no-repeat;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;I'm not an expert in Graphics, but if what you are trying to do is to create a texture from an IPU memory buffer, you can use the glTexDirectVIVMap API to map a virtual memory address buffer (texture_data) to the current bind texture (GL_TEXTURE_2D).&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;To indicate that physical address is unknown ~0U should be passed as the last argument.&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;Also you should call this API for each new frame rendered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;==================== Pseudo code =======================&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;GLuint physical = ~0U;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;GLuint texture_id = 0;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;void* texture_data = GetBuffer();&amp;nbsp;&amp;nbsp; // virtual buffer addr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;_texture = glGenTextures (1, &amp;amp;texture_id);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexParameterf (GL_TEXTURE_2D, &amp;lt;pname&amp;gt;, &amp;lt;pvalue&amp;gt;);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glBindTexture(GL_TEXTURE_2D, _texture);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexDirectVIVMap (GL_TEXTURE_2D, width, height, GL_VIV_NV12, (GLvoid**)(&amp;amp;texture_data), &amp;amp;physical);&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;glTexDirectInvalidateVIV (GL_TEXTURE_2D);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2013 16:15:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Vivante-eglCreateImageKHR-Linux/m-p/231682#M17531</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2013-08-27T16:15:19Z</dc:date>
    </item>
  </channel>
</rss>

