glapi: Annotate functions with "marshal" attribute.
authorPaul Berry <stereotype441@gmail.com>
Wed, 7 Nov 2012 21:04:40 +0000 (13:04 -0800)
committerTimothy Arceri <tarceri@itsqueeze.com>
Thu, 16 Mar 2017 03:14:18 +0000 (14:14 +1100)
commitf5052f45a20b1ce3ee25b8724cb6b90cd37ab45f
tree1c616b74ee1b0f93a35ff572c2a1f29ce7019a7a
parent3b7b6adf3ac688f75f11624e551800d0d978293b
glapi: Annotate functions with "marshal" attribute.

Several API functions require special treatment in order to be marshalled
to a background thread.  Others can't be safely executed in a background
thread and need to be executed synchronously (e.g. since they return data
through a pointer argument).

This annotation will be used when code generating thread marshalling code,
to ensure that each function is marshalled in the correct way.

Note that PixelMap functions are marked as synchronous for now since
their pointer may be relative to buffer on the GPU, so we'll need
special logic to marshal them properly.

v2: Move description of attribute types to a comment in the dtd file.

Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
Acked-by: Marek Olšák <maraeo@gmail.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Tested-by: Mike Lothian <mike@fireburn.co.uk>
src/mapi/glapi/gen/ARB_base_instance.xml
src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
src/mapi/glapi/gen/ARB_draw_instanced.xml
src/mapi/glapi/gen/EXT_transform_feedback.xml
src/mapi/glapi/gen/gl_API.dtd
src/mapi/glapi/gen/gl_API.xml