aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mapi
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mapi')
-rw-r--r--mesalib/src/mapi/glapi/gen/es_EXT.xml14
-rw-r--r--mesalib/src/mapi/glapi/gen/glX_proto_send.py4
2 files changed, 17 insertions, 1 deletions
diff --git a/mesalib/src/mapi/glapi/gen/es_EXT.xml b/mesalib/src/mapi/glapi/gen/es_EXT.xml
index 0f6746d2a..ff378acf1 100644
--- a/mesalib/src/mapi/glapi/gen/es_EXT.xml
+++ b/mesalib/src/mapi/glapi/gen/es_EXT.xml
@@ -663,6 +663,20 @@
<enum name="MAX_TEXTURE_LOD_BIAS_EXT" value="0x84FD"/>
</category>
+<!-- 64. GL_EXT_discard_framebuffer -->
+
+<category name="GL_EXT_discard_framebuffer" number="64">
+ <function name="DiscardFramebufferEXT" es1="1.0" es2="2.0"
+ offset="assign" static_dispatch="false" desktop="false">
+ <param name="target" type="GLenum"/>
+ <param name="numAttachments" type="GLsizei"/>
+ <param name="attachments" type="const GLenum *" count="numAttachments"/>
+ </function>
+ <enum name="COLOR_EXT" value="0x1800"/>
+ <enum name="DEPTH_EXT" value="0x1801"/>
+ <enum name="STENCIL_EXT" value="0x1802"/>
+</category>
+
<!-- 65. GL_EXT_blend_minmax -->
<category name="GL_EXT_read_format_bgra" number="66">
diff --git a/mesalib/src/mapi/glapi/gen/glX_proto_send.py b/mesalib/src/mapi/glapi/gen/glX_proto_send.py
index fbc0dd3fa..f4d519f14 100644
--- a/mesalib/src/mapi/glapi/gen/glX_proto_send.py
+++ b/mesalib/src/mapi/glapi/gen/glX_proto_send.py
@@ -700,7 +700,9 @@ generic_%u_byte( GLint rop, const void * ptr )
if f.reply_always_array:
print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string())
else:
- print ' if (%s_data_length(reply) == 0)' % (xcb_name)
+ print ' /* the XXX_data_length() xcb function name is misleading, it returns the number */'
+ print ' /* of elements, not the length of the data part. A single element is embedded. */'
+ print ' if (%s_data_length(reply) == 1)' % (xcb_name)
print ' (void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (output.name)
print ' else'
print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string())