[Mesa-dev] [PATCH 00/13] Threaded Gallium for RadeonSI
Nicolai Hähnle
nhaehnle at gmail.com
Fri May 12 08:42:23 UTC 2017
On 11.05.2017 23:01, Marek Olšák wrote:
> On Thu, May 11, 2017 at 9:02 PM, Nicolai Hähnle <nhaehnle at gmail.com> >
> Some general remarks:
>>
>> Violating the "async" promise on debug callbacks is a problem. This breaks
>> the OpenGL API in a place where it wasn't broken before, and that's not
>> okay. I'm not sure what to do about this precisely, but the spec is very
>> explicit:
>>
>> "When DEBUG_OUTPUT_SYNCHRONOUS is enabled, the driver guarantees
>> synchronous calls to the callback routine by the context. When
>> synchronous callbacks are enabled, all calls to the callback
>> routine will be made by the thread that owns the current context;
>> all such calls will be made serially by the current context; and
>> each call will be made before the GL command that generated the
>> debug message is allowed to return."
>>
>> The last part is the strictest and implies that sync-ing becomes mandatory.
>>
>> Maybe this can be handled without a performance impact by swapping out
>> pipe_context function pointers when the debug callback changes to !async.
>
> We can probably just drop !async set_debug_callback calls and handle
> shader-db as a special case, e.g. set GALLIUM_THREAD=0 in
> shader-db/run.
Yes, that works as well.
Cheers,
Nicolai
>
> Marek
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list