waffle-gl / waffle

A C library for selecting an OpenGL API and window system at runtime
https://waffle.freedesktop.org
BSD 2-Clause "Simplified" License
35 stars 16 forks source link

[RFC] Implement the window.resize method on the gbm platform #32

Closed linkmauve closed 7 years ago

linkmauve commented 9 years ago

This fixes apitrace’s bug #390, which made eglretrace unusable on this platform.

Since gbm has no support for surface resizing, we need to destroy and recreate the gbm_surface. This requires tearing down and recreating the EGLSurface associated with it, which will unbind the current EGLContext.

I couldn’t find anywhere in Waffle how to retrieve the current struct wcore_context * in order to use it with wegl_make_current, so I had to duplicate this function to take an EGLContext. Is there any better solution? I’m not satisfied with this implementation at all.

Fixes https://github.com/apitrace/apitrace/issues/390

linkmauve commented 9 years ago

Hi, any news on this PR?

fooishbar commented 8 years ago

@chadversary ping?

linyaa-kiwi commented 8 years ago

@fooishbar I'm on vacation this week. I'll review this when I return on Mon 21.

linkmauve commented 8 years ago

@chadversary ping from after the 21st. :)

fooishbar commented 8 years ago

@chadversary o/

evelikov commented 8 years ago

Feel free to try out the following branch https://github.com/evelikov/waffle/tree/for-upstream/gbm-window_resize

fooishbar commented 8 years ago

@evelikov Passive ack from me; looks like it should do the trick.

linkmauve commented 8 years ago

I’ve been using this branch with apitrace yesterday, and it works perfectly, thanks!

evelikov commented 7 years ago

A bit overdue, the series has pushed.