exec NMTOKEN #IMPLIED
desktop (true | false) "true"
marshal NMTOKEN #IMPLIED
- marshal_fail CDATA #IMPLIED>
marshal_sync CDATA #IMPLIED>
marshal_count CDATA #IMPLIED>
marshal_call_after CDATA #IMPLIED>
generated but a custom implementation will be present in marshal.c.
If "draw", it will follow the "async" rules except that "indices" are
ignored (since they may come from a VBO).
- marshal_fail - an expression that, if it evaluates true, causes glthread
- to switch back to the Mesa implementation and call it directly. Used
- to disable glthread for GL compatibility interactions that we don't
- want to track state for.
marshal_sync - an expression that, if it evaluates true, causes glthread
to sync and execute the call directly.
marshal_count - same as count, but variable_param is ignored. Used by
self.validate_count_or_fallback(func)
- if func.marshal_fail:
- out('if ({0}) {{'.format(func.marshal_fail))
- with indent():
- out('_mesa_glthread_disable(ctx, "{0}");'.format(func.name))
- self.print_sync_dispatch(func)
- out('return;')
- out('}')
-
if func.marshal_sync:
out('if ({0}) {{'.format(func.marshal_sync))
with indent():
# Store the "marshal" attribute, if present.
self.marshal = element.get('marshal')
- self.marshal_fail = element.get('marshal_fail')
self.marshal_sync = element.get('marshal_sync')
self.marshal_call_after = element.get('marshal_call_after')