mesa/src/mapi/glapi/gen/EXT_transform_feedback.xml
Paul Berry f5052f45a2 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>
2017-03-16 14:14:18 +11:00

118 lines
4.3 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
<!-- Note: no GLX protocol info yet. -->
<OpenGLAPI>
<category name="GL_EXT_transform_feedback" number="352">
<enum name="TRANSFORM_FEEDBACK_BUFFER_EXT" value="0x8C8E"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_START_EXT" value="0x8C84"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT" value="0x8C85"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT" value="0x8C8F"/>
<enum name="INTERLEAVED_ATTRIBS_EXT" value="0x8C8C"/>
<enum name="SEPARATE_ATTRIBS_EXT" value="0x8C8D"/>
<enum name="PRIMITIVES_GENERATED_EXT" value="0x8C87"/>
<enum name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT" value="0x8C88"/>
<enum name="RASTERIZER_DISCARD_EXT" value="0x8C89"/>
<enum name="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT" value="0x8C8A"/>
<enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT" value="0x8C8B"/>
<enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT" value="0x8C80"/>
<enum name="TRANSFORM_FEEDBACK_VARYINGS_EXT" value="0x8C83"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_MODE_EXT" value="0x8C7F"/>
<enum name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT" value="0x8C76"/>
<function name="BindBufferRangeEXT" alias="BindBufferRange">
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="buffer" type="GLuint"/>
<param name="offset" type="GLintptr"/>
<param name="size" type="GLsizeiptr"/>
</function>
<function name="BindBufferOffsetEXT">
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="buffer" type="GLuint"/>
<param name="offset" type="GLintptr"/>
</function>
<function name="BindBufferBaseEXT" alias="BindBufferBase">
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="buffer" type="GLuint"/>
</function>
<function name="BeginTransformFeedbackEXT" alias="BeginTransformFeedback">
<param name="mode" type="GLenum"/>
</function>
<function name="EndTransformFeedbackEXT" alias="EndTransformFeedback">
</function>
<function name="TransformFeedbackVaryingsEXT" alias="TransformFeedbackVaryings">
<param name="program" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="varyings" type="const GLchar * const *"/>
<param name="bufferMode" type="GLenum"/>
</function>
<function name="GetTransformFeedbackVaryingEXT" alias="GetTransformFeedbackVarying">
<param name="program" type="GLuint"/>
<param name="index" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *"/>
<param name="size" type="GLsizei *"/>
<param name="type" type="GLenum *"/>
<param name="name" type="GLchar *"/>
</function>
<!-- Note: the glGetIntegerIndexedvEXT() and glGetBooleanIndexedvEXT
functions are defined in the EXT_draw_buffers2.xml file -->
</category>
<category name="GL_ARB_transform_feedback2" number="93">
<enum name="TRANSFORM_FEEDBACK" value="0x8E22"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_PAUSED" value="0x8E23"/>
<enum name="TRANSFORM_FEEDBACK_BUFFER_ACTIVE" value="0x8E24"/>
<enum name="TRANSFORM_FEEDBACK_BINDING" value="0x8E25"/>
<function name="BindTransformFeedback" es2="3.0">
<param name="target" type="GLenum"/>
<param name="id" type="GLuint"/>
</function>
<function name="DeleteTransformFeedbacks" es2="3.0">
<param name="n" type="GLsizei"/>
<param name="ids" type="const GLuint *"/>
</function>
<function name="GenTransformFeedbacks" es2="3.0">
<param name="n" type="GLsizei"/>
<param name="ids" type="GLuint *"/>
</function>
<function name="IsTransformFeedback" es2="3.0">
<param name="id" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="PauseTransformFeedback" es2="3.0">
</function>
<function name="ResumeTransformFeedback" es2="3.0">
</function>
<function name="DrawTransformFeedback" exec="dynamic" marshal="draw">
<param name="mode" type="GLenum"/>
<param name="id" type="GLuint"/>
</function>
</category>
</OpenGLAPI>