https://bugs.freedesktop.org/show_bug.cgi?id=75303

--- Comment #7 from Pekka Paalanen <[email protected]> ---
(In reply to Jonas Ã…dahl from comment #6)
> Why can't we just let wl_buffer.release simply be a notification about the
> buffer being reusable

Because it has exactly the race explained in the description of this bug. This
example applies particular to Weston with gl-renderer and a client using
wl_shm.

Case A:

client                messagebuffer              server

surface1.attach(B) ->
surface1.commit    ->
                                        -> surface1.attach(B)
                                        -> surface1.commit
surface2.attach(B) ->
surface2.commit    ->
                                        -> surface2.attach(B)
                                        -> surface2.commit
                                           repaint, GL texture damage flush
                                        <- B.release
B.release          <-

B is free.


Case B:

surface1.attach(B) ->
surface1.commit    ->
                                        -> surface1.attach(B)
                                        -> surface1.commit
                                           repaint, GL texture damage flush
                                        <- B.release
surface2.attach(B) ->
surface2.commit    ->
                                        -> surface2.attach(B)
                                        -> surface2.commit
B.release          <-

B is busy on surface2.


>From the client point of view, cases A and B are equivalent, yet the buffer is
free in one and busy in the other.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to