egl

EGL_BAD_MATCH with Droid/Droid 2

白昼怎懂夜的黑 提交于 2019-11-28 11:57:31
问题 I've been testing my OpenGL ES 2 app on various phones. I've ran into a problem with the Droid and Droid 2. Every EGL config I try results in an EGL_BAD_MATCH. I've tried many combinations of EGL configurations, including configurations that work on other phones, and every combination results in an EGL_BAD_MATCH. Has anyone ran into this problem or know of any solutions? Thanks 回答1: I also had this problem on select Motorola and Samsung handsets. The problem is the phone reports a different

【chromium】 渲染显示相关概念

ε祈祈猫儿з 提交于 2019-11-27 21:59:11
DRM(Direct Rendering Manager) DRM 由两个部分组成:一是 Kernel 的子系统,这个子系统对硬件 GPU 操作进行了一层框架封装。二是提供了一个 libdrm 库,里面封装了一系列 API,用来进行图像显示。 说到这里,其实这么理解最简单,你把你要画的东西交给DRM,DRM会把要画的东西交给GPU,然后显示。 那么DRM存在的必要性是什么呢? DRM是Linux驱动(显卡驱动?)和显卡挨得比较近,再上层才是OpenGL,DRM是显卡驱动的一种架构。 OpenGL OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。 OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备(显卡)厂商提供,而且非常依赖于该厂商提供的硬件(因为显卡厂商会提供一些GPU提供的API,直接使用这样的API绘图被称为硬件加速)。

What is EGL And How Can I Use It

China☆狼群 提交于 2019-11-27 21:17:02
问题 Can Anybody explain me what is EGL and what it does? How can i use EGL with OpenGL-ES On Linux? Is EGL a Layer Between Hardware And Operating System? 回答1: EGL is a window system-independent equivalent to the GLX and WGL APIs, which respectively enable OpenGL support in X and Microsoft Windows. It is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. It handles graphics context management, surface/buffer binding, and

what is wrong when i use Eglimage replace glreadpixels in NDK program?

半世苍凉 提交于 2019-11-27 06:19:32
问题 //step 2. Create the Android Graphic Buffer GraphicBuffer* buffer = new GraphicBuffer(w, h, HAL_PIXEL_FORMAT_RGBA_8888, GraphicBuffer::USAGE_HW_TEXTURE | GraphicBuffer::USAGE_HW_2D | GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN); // Init the buffer status_t err = buffer->initCheck(); if (err != NO_ERROR) { LOGE("Error: %s\n", strerror(-err)); return ; } // Retrieve andorid native buffer android_native_buffer_t* anb = buffer->getNativeBuffer(); //step 3. Create the EGLImage const

replacing glReadPixels with EGL_KHR_image_base for faster pixel copy

左心房为你撑大大i 提交于 2019-11-26 23:03:27
I am trying to use EGL_KHR_image_base in an android native process in order to replace glReadPixels because it is to slow ( 220ms for 1280x800 RGBA ). This is what I have so far, but my it produces an empty buffer ( only zeros ) uint8_t *ptr; GLuint mTexture; status_t error; GraphicBufferAlloc* mGraphicBufferAlloc = new GraphicBufferAlloc(); sp<GraphicBuffer> window = mGraphicBufferAlloc->createGraphicBuffer(width, height, PIXEL_FORMAT_RGBA_8888, GraphicBuffer::USAGE_SW_READ_OFTEN | GraphicBuffer::USAGE_HW_TEXTURE,&error); EGLClientBuffer buffer = (EGLClientBuffer)window->getNativeBuffer();

replacing glReadPixels with EGL_KHR_image_base for faster pixel copy

孤街醉人 提交于 2019-11-26 07:47:30
问题 I am trying to use EGL_KHR_image_base in an android native process in order to replace glReadPixels because it is to slow ( 220ms for 1280x800 RGBA ). This is what I have so far, but my it produces an empty buffer ( only zeros ) uint8_t *ptr; GLuint mTexture; status_t error; GraphicBufferAlloc* mGraphicBufferAlloc = new GraphicBufferAlloc(); sp<GraphicBuffer> window = mGraphicBufferAlloc->createGraphicBuffer(width, height, PIXEL_FORMAT_RGBA_8888, GraphicBuffer::USAGE_SW_READ_OFTEN |