Firefly开源社区

打印 上一主题 下一主题

如何使用共享内存

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-16 16:29:19      楼主
在android上试过吗?
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-16 16:58:28      沙发
楼主用的第四个参数EGLClientBuffer是什么?
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-17 09:45:47      板凳
  1. EGLImageKHR eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
  2.         EGLClientBuffer buffer, const EGLint *attrib_list)
  3. {
  4.     if (egl_display_t::is_valid(dpy) == EGL_FALSE) {
  5.         return setError(EGL_BAD_DISPLAY, EGL_NO_IMAGE_KHR);
  6.     }
  7.     if (ctx != EGL_NO_CONTEXT) {
  8.         return setError(EGL_BAD_CONTEXT, EGL_NO_IMAGE_KHR);
  9.     }
  10.     if (target != EGL_NATIVE_BUFFER_ANDROID) {
  11.         return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);
  12.     }

  13.     ANativeWindowBuffer* native_buffer = (ANativeWindowBuffer*)buffer;

  14.     if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC)
  15.         return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);

  16.     if (native_buffer->common.version != sizeof(ANativeWindowBuffer))
  17.         return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);

  18.     switch (native_buffer->format) {
  19.         case HAL_PIXEL_FORMAT_RGBA_8888:
  20.         case HAL_PIXEL_FORMAT_RGBX_8888:
  21.         case HAL_PIXEL_FORMAT_RGB_888:
  22.         case HAL_PIXEL_FORMAT_RGB_565:
  23.         case HAL_PIXEL_FORMAT_BGRA_8888:
  24.             break;
  25.         default:
  26.             return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);
  27.     }

  28.     native_buffer->common.incRef(&native_buffer->common);
  29.     return (EGLImageKHR)native_buffer;
  30. }
复制代码


以上是android agl的实现,可以看到EGL_NO_IMAGE_KHR应该是第三第四个参数有问题。第三参数应该在头文件里定义,第四个参数要看库的具体实现了。
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-17 09:52:14      地板
最好能找到对应的头文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表