Fix linear texture allocation using gbm

This commit is contained in:
2018-09-24 12:56:57 +02:00
parent ec354d9d8c
commit ef9f344e7f

View File

@@ -80,7 +80,6 @@ bool OpenGL_InitSwapChainEGL(Instance * instance, unsigned int width, unsigned i
eglInitialize(display, &major, &minor); eglInitialize(display, &major, &minor);
eglBindAPI(EGL_OPENGL_API); eglBindAPI(EGL_OPENGL_API);
#else #else
EGLDisplay display = internalInstance->user_display; EGLDisplay display = internalInstance->user_display;
#endif // USE_GBM #endif // USE_GBM
@@ -133,6 +132,38 @@ bool OpenGL_InitSwapChainEGL(Instance * instance, unsigned int width, unsigned i
// Import textures in user context // Import textures in user context
// //
#if USE_GBM
EGLAttrib attrib_list_left_tmp[] =
{
EGL_DMA_BUF_PLANE0_FD_EXT, left_texture_params.fd,
EGL_DMA_BUF_PLANE0_PITCH_EXT, left_texture_params.stride,
EGL_DMA_BUF_PLANE0_OFFSET_EXT, left_texture_params.offset,
EGL_WIDTH, left_texture_params.width,
EGL_HEIGHT, left_texture_params.height,
EGL_LINUX_DRM_FOURCC_EXT, left_texture_params.fourcc,
//EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT, left_texture_params.modifiers & 0xFFFFFFFF,
//EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT, left_texture_params.modifiers >> 32,
EGL_NONE,
};
left_image = eglCreateImage(internalInstance->user_display, EGL_NO_CONTEXT, EGL_LINUX_DMA_BUF_EXT, NULL, attrib_list_left_tmp);
EGLAttrib attrib_list_right_tmp[] =
{
EGL_DMA_BUF_PLANE0_FD_EXT, right_texture_params.fd,
EGL_DMA_BUF_PLANE0_PITCH_EXT, right_texture_params.stride,
EGL_DMA_BUF_PLANE0_OFFSET_EXT, right_texture_params.offset,
EGL_WIDTH, right_texture_params.width,
EGL_HEIGHT, right_texture_params.height,
EGL_LINUX_DRM_FOURCC_EXT, right_texture_params.fourcc,
//EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT, right_texture_params->modifiers & 0xFFFFFFFF,
//EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT, right_texture_params->modifiers >> 32,
EGL_NONE,
};
right_image = eglCreateImage(internalInstance->user_display, EGL_NO_CONTEXT, EGL_LINUX_DMA_BUF_EXT, NULL, attrib_list_right_tmp);
#endif // USE_GBM
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2D_user = (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) eglGetProcAddress ("glEGLImageTargetTexture2DOES"); PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2D_user = (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) eglGetProcAddress ("glEGLImageTargetTexture2DOES");
glGenTextures(2, textures); glGenTextures(2, textures);