[Mesa-dev] [PATCH 1/2] mesa: implement ARB_map_buffer_alignment

Marek Olšák maraeo at gmail.com
Sun Oct 28 09:55:23 PDT 2012


---
 src/mapi/glapi/gen/gl_API.xml    |    8 +++++++-
 src/mesa/main/extensions.c       |    1 +
 src/mesa/main/get.c              |    1 +
 src/mesa/main/get_hash_params.py |    3 +++
 src/mesa/main/mtypes.h           |    4 ++++
 5 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index a46d613..c38aa3a 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8075,7 +8075,13 @@
   </function>
 </category>
 
-<!-- ARB extensions #110...#116 -->
+<!-- ARB extensions #110...#112 -->
+
+<category name="GL_ARB_map_buffer_alignment" number="113">
+  <enum name="MIN_MAP_BUFFER_ALIGNMENT" value="0x90BC" />
+</category>
+
+<!-- ARB extensions #114...#116 -->
 
 <xi:include href="ARB_base_instance.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 7e2d78a..7f86bfa 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -104,6 +104,7 @@ static const struct extension extension_table[] = {
    { "GL_ARB_half_float_vertex",                   o(ARB_half_float_vertex),                   GL,             2008 },
    { "GL_ARB_instanced_arrays",                    o(ARB_instanced_arrays),                    GL,             2008 },
    { "GL_ARB_invalidate_subdata",                  o(dummy_true),                              GL,             2012 },
+   { "GL_ARB_map_buffer_alignment",                o(ARB_map_buffer_alignment),                GL,             2011 },
    { "GL_ARB_map_buffer_range",                    o(ARB_map_buffer_range),                    GL,             2008 },
    { "GL_ARB_multisample",                         o(dummy_true),                              GLL,            1994 },
    { "GL_ARB_multitexture",                        o(dummy_true),                              GLL,            1998 },
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index eff850c..19ce431 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -334,6 +334,7 @@ EXTRA_EXT(OES_EGL_image_external);
 EXTRA_EXT(ARB_blend_func_extended);
 EXTRA_EXT(ARB_uniform_buffer_object);
 EXTRA_EXT(ARB_timer_query);
+EXTRA_EXT(ARB_map_buffer_alignment);
 
 static const int
 extra_NV_primitive_restart[] = {
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index b516a07..376df09 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -685,6 +685,9 @@ descriptor=[
 
 # GL_ARB_timer_query
   [ "TIMESTAMP", "LOC_CUSTOM, TYPE_INT64, 0, extra_ARB_timer_query" ],
+
+# GL_ARB_map_buffer_alignment
+  [ "MIN_MAP_BUFFER_ALIGNMENT", "CONTEXT_INT(Const.MinMapBufferAlignment), extra_ARB_map_buffer_alignment" ],
 ]}
 
 ]
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index a75aaf8..45b8f4f 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2919,6 +2919,9 @@ struct gl_constants
     * Force software support for primitive restart in the VBO module.
     */
    GLboolean PrimitiveRestartInSoftware;
+
+   /** GL_ARB_map_buffer_alignment */
+   GLuint MinMapBufferAlignment;
 };
 
 
@@ -2952,6 +2955,7 @@ struct gl_extensions
    GLboolean ARB_half_float_pixel;
    GLboolean ARB_half_float_vertex;
    GLboolean ARB_instanced_arrays;
+   GLboolean ARB_map_buffer_alignment;
    GLboolean ARB_map_buffer_range;
    GLboolean ARB_occlusion_query;
    GLboolean ARB_occlusion_query2;
-- 
1.7.9.5



More information about the mesa-dev mailing list