[Mesa-dev] [PATCH 1/2] egl/dri2: implement platform_null (v2).

Chad Versace chad.versace at intel.com
Tue Apr 7 22:28:35 PDT 2015


On Tue 07 Apr 2015, Kristian Høgsberg wrote:
>On Tue, Apr 7, 2015 at 6:46 PM, Frank Henigman <fjhenigman at google.com> wrote:
>> The name "surfaceless" suits me.
>>
>> Does this platform need to provide a hint to the user about buffer format?
>> Platform drm does this via the EGL_NATIVE_VISUAL_ID query of
>> eglGetConfigAttrib(), returning a gbm format value.  Unless we do the
>> same or similar here, how does the user robustly find the right format
>> for allocating buffers?
>
>GBM provides
>
>int gbm_device_is_format_supported(struct gbm_device *gbm, uint32_t
>format, uint32_t usage);
>
>and you can use that to find a format that works with GBM_BO_USE_RENDERING.

I don't think it makes sense to use EGL_NATIVE_VISUAL_ID here, so
Kristian's suggestion sounds good to me. The EGL_NATIVE_VISUAL_ID, of
course, has the same type as the native format of
EGLNativeWindowSurface. But this platform has no EGLNativeWindowSurface,
so therefore it has no EGL_NATIVE_VISUAL_ID.

On first thought, it seems like re-purposing EGL_NATIVE_VISUAL_ID for
this platform setting it to a gbm format, might be a good idea. But
ultimately I think it's a bad idea because the platform isn't tied to
gbm in any way. Today we use gbm_bo_create() to create the dma_buf
storage, but tomorrow we might use a different API that doesn't
understand gbm formats.


More information about the mesa-dev mailing list