[Mesa-dev] [PATCH 17/26] gallium/radeon: disable CMASK on handle export if sharing doesn't allow it
Michel Dänzer
michel at daenzer.net
Wed Mar 9 03:06:03 UTC 2016
On 09.03.2016 04:35, Marek Olšák wrote:
> On Tue, Mar 8, 2016 at 4:41 AM, Michel Dänzer <michel at daenzer.net> wrote:
>> On 03.03.2016 01:36, Marek Olšák wrote:
>>> From: Marek Olšák <marek.olsak at amd.com>
>>>
>>> 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 <michel.daenzer at amd.com>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list