[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