On 09.03.2016 04:35, Marek Olšák wrote: > On Tue, Mar 8, 2016 at 4:41 AM, Michel Dänzer <[email protected]> wrote: >> On 03.03.2016 01:36, Marek Olšák wrote: >>> From: Marek Olšák <[email protected]> >>> >>> The disabling of CMASK is simple, but notifying all contexts about it is >>> not: >>> - The screen must have a list of all contexts. >>> - Each context must have a monotonic counter that is incremented only when >>> the screen wants to re-emit framebuffer states. >>> - Each context must check in draw_vbo if the counter has been changed and >>> re-emit the framebuffer state accordingly. >> >> The list seems a bit overkill. How about having dirty_fb_counter in the >> screen and last_dirty_fb_counter in the context, incrementing the former >> in r600_dirty_all_framebuffer_states and emitting the framebuffer state >> if the two counters don't match? > > Thanks. The updated patch is attached. Please review.
[...] > + /* If pipe_screen wants to re-emit the framebuffer state of all > + * contexts, it should atomically this. Each context will compare "it should atomically increment this." > + * this with its own last known value of the counter before drawing > + * and re-emit the framebuffer state accordingly. > + */ > + unsigned dirty_fb_counter; With the above fixed, Reviewed-by: Michel Dänzer <[email protected]> -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
