From 1738a6973deb03f33a71c9527594727cb8bb64b4 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 7 Nov 2012 07:53:41 +0100 Subject: xserver mesa xkbcomp git update 7 nov 2012 xserver: 011f8458805e443ac9130865d2840a929a00cabf xkbcomp: bd1103ef3cfef9cfed645566f944a69e7ca568b4 mesa: f42518962a08ce927e4ddd233d19d2661e135834 --- .../mapi/glapi/gen/APPLE_vertex_array_object.xml | 6 +- mesalib/src/mapi/glapi/gen/ARB_base_instance.xml | 9 +- .../src/mapi/glapi/gen/ARB_draw_buffers_blend.xml | 9 +- .../glapi/gen/ARB_draw_elements_base_vertex.xml | 11 +- mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml | 4 +- .../src/mapi/glapi/gen/ARB_geometry_shader4.xml | 2 +- .../src/mapi/glapi/gen/ARB_get_program_binary.xml | 9 +- .../src/mapi/glapi/gen/ARB_instanced_arrays.xml | 2 +- mesalib/src/mapi/glapi/gen/ARB_robustness.xml | 22 +- .../mapi/glapi/gen/ARB_texture_buffer_object.xml | 2 +- .../glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml | 106 +- mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml | 12 +- mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml | 74 +- .../mapi/glapi/gen/EXT_separate_shader_objects.xml | 6 +- mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml | 8 +- .../src/mapi/glapi/gen/EXT_transform_feedback.xml | 16 +- mesalib/src/mapi/glapi/gen/GL3x.xml | 7 +- mesalib/src/mapi/glapi/gen/Makefile.am | 4 + .../src/mapi/glapi/gen/NV_conditional_render.xml | 4 +- .../src/mapi/glapi/gen/NV_primitive_restart.xml | 5 +- mesalib/src/mapi/glapi/gen/OES_fixed_point.xml | 85 +- .../src/mapi/glapi/gen/OES_single_precision.xml | 8 +- mesalib/src/mapi/glapi/gen/es_EXT.xml | 37 +- mesalib/src/mapi/glapi/gen/glX_API.xml | 6 +- mesalib/src/mapi/glapi/gen/gl_API.dtd | 6 +- mesalib/src/mapi/glapi/gen/gl_API.xml | 1996 ++++++++++++-------- mesalib/src/mapi/glapi/gen/gl_XML.py | 81 +- mesalib/src/mapi/glapi/gen/gl_and_es_API.xml | 84 +- mesalib/src/mapi/glapi/gen/gl_genexec.py | 222 +++ 29 files changed, 1764 insertions(+), 1079 deletions(-) create mode 100644 mesalib/src/mapi/glapi/gen/gl_genexec.py (limited to 'mesalib/src/mapi/glapi/gen') diff --git a/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml b/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml index bd8427eaf..2bffc4e08 100644 --- a/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml +++ b/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml @@ -5,7 +5,8 @@ - + @@ -14,7 +15,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml b/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml index 8e81553f6..1478e3970 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml @@ -8,7 +8,8 @@ - + @@ -16,7 +17,8 @@ - + @@ -25,7 +27,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml index 0b6947cc5..c08017aa5 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml @@ -8,24 +8,25 @@ - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml index 851f1faec..986654848 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml @@ -8,7 +8,7 @@ - + @@ -16,7 +16,8 @@ - + @@ -26,7 +27,8 @@ - + @@ -35,7 +37,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml index 57bb776ac..7ee7629c7 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml @@ -8,14 +8,14 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml b/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml index 97a4e2e8f..73f0a9c3d 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml @@ -45,7 +45,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml index 8da5c41e8..7db166564 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml @@ -11,7 +11,8 @@ - + @@ -19,14 +20,16 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml b/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml index 822f54374..9a30b0c9e 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml @@ -10,7 +10,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_robustness.xml b/mesalib/src/mapi/glapi/gen/ARB_robustness.xml index b347ef35c..14048bf49 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_robustness.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_robustness.xml @@ -25,21 +25,21 @@ - + - + - + @@ -48,19 +48,19 @@ - + - + - + @@ -95,7 +95,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml b/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml index 57680f553..8884591ca 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml @@ -11,7 +11,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml b/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml index 7d12d9774..6c6090c1c 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml @@ -7,214 +7,244 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml b/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml index efbe61f74..affd55a5f 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml @@ -8,7 +8,7 @@ - + @@ -16,29 +16,29 @@ - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml b/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml index bf2f6a3ed..b008f2e65 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml @@ -44,25 +44,25 @@ - + - + - + - + @@ -70,25 +70,25 @@ - + - + - + - + @@ -96,67 +96,73 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -164,37 +170,37 @@ - + - + - + - + - + - + @@ -202,43 +208,43 @@ - + - + - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml b/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml index 6ec56157c..03f90a1b1 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml @@ -8,16 +8,16 @@ - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml b/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml index 7e5a8cbeb..dac399964 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml @@ -69,25 +69,25 @@ - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml b/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml index dbd7513c7..e9b27582a 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml @@ -24,7 +24,7 @@ - + @@ -39,27 +39,29 @@ - + - + - + - + - + @@ -108,7 +110,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/GL3x.xml b/mesalib/src/mapi/glapi/gen/GL3x.xml index 82b977f58..ad12102c6 100644 --- a/mesalib/src/mapi/glapi/gen/GL3x.xml +++ b/mesalib/src/mapi/glapi/gen/GL3x.xml @@ -594,19 +594,20 @@ - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/Makefile.am b/mesalib/src/mapi/glapi/gen/Makefile.am index 14bb2dfe6..13943e839 100644 --- a/mesalib/src/mapi/glapi/gen/Makefile.am +++ b/mesalib/src/mapi/glapi/gen/Makefile.am @@ -55,6 +55,7 @@ MESA_OUTPUTS = \ $(MESA_GLAPI_OUTPUTS) \ $(MESA_GLAPI_ASM_OUTPUTS) \ $(MESA_DIR)/main/enums.c \ + $(MESA_DIR)/main/api_exec.c \ $(MESA_DIR)/main/dispatch.h \ $(MESA_DIR)/main/remap_helper.h \ $(MESA_GLX_DIR)/indirect.c \ @@ -215,6 +216,9 @@ $(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON) $(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@ +$(MESA_DIR)/main/api_exec.c: gl_genexec.py $(COMMON) + $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@ + $(MESA_DIR)/main/dispatch.h: gl_table.py $(COMMON) $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml -m remap_table > $@ diff --git a/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml b/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml index 8bb31dd1f..8bb5c22ca 100644 --- a/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml +++ b/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml @@ -13,12 +13,12 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml b/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml index abe7dda00..d19fc8cf1 100644 --- a/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml +++ b/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml @@ -11,10 +11,11 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml index 974240c49..ad775728f 100644 --- a/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml +++ b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml @@ -14,13 +14,13 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -28,12 +28,12 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -41,24 +41,25 @@ + es1="1.0" exec="es" mesa_name="-OES"> - + + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -68,62 +69,62 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -132,14 +133,14 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -149,18 +150,18 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -168,41 +169,41 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -210,65 +211,65 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" desktop="false" mesa_name="-OES"> + es1="1.0" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + static_dispatch="false" es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + static_dispatch="false" es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -276,21 +277,21 @@ + es1="1.0" exec="check" desktop="false"> + es1="1.0" exec="check" desktop="false"> + es1="1.0" exec="check" desktop="false"> diff --git a/mesalib/src/mapi/glapi/gen/OES_single_precision.xml b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml index 7d4744159..8a6c27194 100644 --- a/mesalib/src/mapi/glapi/gen/OES_single_precision.xml +++ b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml @@ -12,7 +12,7 @@ + es1="1.0" exec="es" mesa_name="-OES"> @@ -24,13 +24,13 @@ + es1="1.0" exec="es" desktop="false" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -40,7 +40,7 @@ + es1="1.0" exec="es" mesa_name="-OES"> diff --git a/mesalib/src/mapi/glapi/gen/es_EXT.xml b/mesalib/src/mapi/glapi/gen/es_EXT.xml index 1fdb4d591..c0bbbfae1 100644 --- a/mesalib/src/mapi/glapi/gen/es_EXT.xml +++ b/mesalib/src/mapi/glapi/gen/es_EXT.xml @@ -73,7 +73,7 @@ + es1="1.0" desktop="false" mesa_name="-OES"> @@ -82,12 +82,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" desktop="false" mesa_name="-OES"> @@ -96,12 +96,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" desktop="false" mesa_name="-OES"> @@ -110,12 +110,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" exec="es" desktop="false"> @@ -124,7 +124,7 @@ + es1="1.0" exec="es" desktop="false"> @@ -307,22 +307,26 @@ - + - + - + - + @@ -339,7 +343,8 @@ + static_dispatch="false" es1="1.0" desktop="false" + mesa_name="-OES"> @@ -355,7 +360,7 @@ + es1="1.0" exec="es" desktop="false"> @@ -768,7 +773,7 @@ - + @@ -783,7 +788,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/glX_API.xml b/mesalib/src/mapi/glapi/gen/glX_API.xml index b7f4a7770..926d8791b 100644 --- a/mesalib/src/mapi/glapi/gen/glX_API.xml +++ b/mesalib/src/mapi/glapi/gen/glX_API.xml @@ -201,13 +201,13 @@ - + - + @@ -217,7 +217,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/gl_API.dtd b/mesalib/src/mapi/glapi/gen/gl_API.dtd index db33500c0..066d5da52 100644 --- a/mesalib/src/mapi/glapi/gen/gl_API.dtd +++ b/mesalib/src/mapi/glapi/gen/gl_API.dtd @@ -37,7 +37,11 @@ static_dispatch (true | false) "true" vectorequiv NMTOKEN #IMPLIED es1 CDATA "none" - es2 CDATA "none"> + es2 CDATA "none" + deprecated CDATA "none" + exec NMTOKEN #IMPLIED + desktop (true | false) "true" + mesa_name CDATA #IMPLIED> diff --git a/mesalib/src/mapi/glapi/gen/gl_API.xml b/mesalib/src/mapi/glapi/gen/gl_API.xml index ca7f383e3..01d2a9cd2 100644 --- a/mesalib/src/mapi/glapi/gen/gl_API.xml +++ b/mesalib/src/mapi/glapi/gen/gl_API.xml @@ -1108,51 +1108,51 @@ - + - + - + - + - + - + - + - + - + @@ -1163,785 +1163,876 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1952,25 +2043,25 @@ - + - + - + - + @@ -1987,59 +2078,59 @@ - + - + - + - + - + - + - + - + - + @@ -2050,28 +2141,30 @@ - + - + - + - + @@ -2089,7 +2182,7 @@ - + @@ -2102,7 +2195,7 @@ - + @@ -2160,114 +2253,114 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2282,7 +2375,7 @@ - + @@ -2290,7 +2383,7 @@ - + @@ -2331,12 +2424,12 @@ - + - + @@ -2360,16 +2453,16 @@ - + - + - + @@ -2379,7 +2472,7 @@ - + @@ -2389,7 +2482,7 @@ - + @@ -2403,7 +2496,7 @@ - + @@ -2417,21 +2510,21 @@ - + - + - + @@ -2441,7 +2534,7 @@ - + @@ -2451,57 +2544,68 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -2510,13 +2614,14 @@ - + - + @@ -2552,19 +2657,19 @@ - + - + - + @@ -2582,21 +2687,21 @@ - + - + - + @@ -2608,7 +2713,7 @@ - + @@ -2628,7 +2733,7 @@ - + @@ -2643,7 +2748,7 @@ - + @@ -2672,74 +2777,74 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -2750,35 +2855,35 @@ - + - + - + - + - + @@ -2830,7 +2935,7 @@ - + @@ -2842,7 +2947,7 @@ - + @@ -2852,36 +2957,36 @@ - + - + - + - + - + - + - + @@ -2891,15 +2996,15 @@ - + - + - + @@ -2907,7 +3012,7 @@ - + @@ -2915,28 +3020,28 @@ - + - + - + - + @@ -3126,12 +3231,13 @@ - + - + @@ -3139,19 +3245,22 @@ - + - + - + @@ -3159,13 +3268,13 @@ - + - + @@ -3176,28 +3285,28 @@ - + - + - + - + @@ -3205,7 +3314,7 @@ - + @@ -3290,7 +3399,7 @@ - + @@ -3322,27 +3431,28 @@ - + - + - + - + - + @@ -3708,7 +3818,8 @@ - + @@ -3718,7 +3829,7 @@ - + @@ -3728,21 +3839,21 @@ - + - + - + @@ -3751,7 +3862,7 @@ - + @@ -3759,21 +3870,21 @@ - + - + - + @@ -3783,7 +3894,7 @@ - + @@ -3792,7 +3903,7 @@ - + @@ -3802,7 +3913,7 @@ - + @@ -3813,35 +3924,35 @@ - + - + - + - + - + @@ -3850,7 +3961,7 @@ - + @@ -3860,7 +3971,7 @@ - + @@ -3868,21 +3979,21 @@ - + - + - + @@ -3892,7 +4003,7 @@ - + @@ -3904,7 +4015,7 @@ - + @@ -3913,21 +4024,21 @@ - + - + - + @@ -3936,21 +4047,21 @@ - + - + - + @@ -3958,19 +4069,19 @@ - + - + - + @@ -4238,143 +4349,168 @@ + es1="1.0" deprecated="3.1"> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4382,12 +4518,14 @@ - + - + @@ -4395,12 +4533,14 @@ - + - + @@ -4408,12 +4548,14 @@ - + - + @@ -4421,24 +4563,29 @@ - + - + - + - + - + @@ -4648,23 +4795,24 @@ - + - + - + - + - + @@ -4705,166 +4853,183 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5828,151 +5993,164 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5980,13 +6158,14 @@ - + - + @@ -5994,13 +6173,14 @@ - + - + @@ -6008,13 +6188,14 @@ - + - + @@ -6022,7 +6203,7 @@ - + @@ -6393,47 +6574,47 @@ - + - + - + - + - + - + - + - + - + @@ -6441,7 +6622,7 @@ - + @@ -6476,30 +6657,30 @@ - + - + - + - + - + @@ -6866,115 +7047,125 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6982,13 +7173,14 @@ - + - + @@ -6996,13 +7188,14 @@ - + - + @@ -7010,13 +7203,14 @@ - + - + @@ -7024,67 +7218,67 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -7110,7 +7304,7 @@ - + @@ -7138,7 +7332,8 @@ - + @@ -7147,14 +7342,16 @@ - + - + @@ -7163,14 +7360,16 @@ - + - + @@ -7179,14 +7378,16 @@ - + - + @@ -7195,7 +7396,8 @@ - + @@ -7214,28 +7416,32 @@ the ARB_vertex_program protocol to unused padding. --> - + - + - + - + @@ -7243,14 +7449,14 @@ - + - + @@ -8025,7 +8231,8 @@ - + @@ -8061,13 +8268,15 @@ - + - + @@ -8111,7 +8320,7 @@ - + @@ -8215,14 +8424,14 @@ - + - + @@ -8712,37 +8921,37 @@ - + - + - + - + - + - + @@ -8750,7 +8959,7 @@ - + @@ -8765,7 +8974,7 @@ - + @@ -8831,14 +9040,14 @@ - + - + @@ -8846,14 +9055,14 @@ - + - + @@ -8861,13 +9070,15 @@ - + - + @@ -8898,7 +9109,7 @@ - + @@ -8913,7 +9124,7 @@ - + @@ -8925,7 +9136,7 @@ - + @@ -8933,7 +9144,7 @@ - + @@ -8941,7 +9152,7 @@ - + @@ -8950,7 +9161,7 @@ - + @@ -9064,25 +9275,25 @@ - + - + - + - + @@ -9103,13 +9314,13 @@ - + - + @@ -9117,33 +9328,33 @@ - + - + - + - + - + - + @@ -9167,14 +9378,14 @@ - + - + @@ -9182,14 +9393,14 @@ - + - + @@ -9203,13 +9414,13 @@ - + - + @@ -9224,37 +9435,37 @@ - + - + - + - + - + - + @@ -9301,7 +9512,7 @@ - + @@ -9385,42 +9596,42 @@ - + - + - + - + - + - + @@ -9472,7 +9683,7 @@ - + @@ -9480,7 +9691,7 @@ - + @@ -9491,13 +9702,13 @@ - + - + @@ -9513,13 +9724,13 @@ - + - + @@ -9531,121 +9742,121 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9682,15 +9893,15 @@ - + - + - + @@ -9708,55 +9919,55 @@ - + - + - + - + - + - + - + - + - + - + @@ -9773,25 +9984,25 @@ - + - + - + - + @@ -9817,24 +10028,30 @@ - + - + - + - + @@ -9850,57 +10067,72 @@ - + - + - + - + - + - + - + - + - + - + @@ -9915,7 +10147,7 @@ - + @@ -9929,7 +10161,8 @@ - + @@ -9940,20 +10173,22 @@ - + - + - + - + @@ -9973,113 +10208,113 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10113,7 +10348,7 @@ - + @@ -10123,70 +10358,70 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10194,7 +10429,7 @@ - + @@ -10203,12 +10438,12 @@ - + - + @@ -10218,12 +10453,12 @@ - + - + @@ -10232,12 +10467,12 @@ - + - + @@ -10246,12 +10481,12 @@ - + - + @@ -10264,13 +10499,13 @@ - + - + @@ -10278,12 +10513,12 @@ - + - + @@ -10294,12 +10529,12 @@ - + - + @@ -10311,13 +10546,13 @@ - + - + @@ -10328,13 +10563,13 @@ - + - + @@ -10345,13 +10580,13 @@ - + - + @@ -10366,14 +10601,14 @@ - + - + @@ -10391,26 +10626,26 @@ - + - + - + - + @@ -10421,13 +10656,13 @@ - + - + @@ -10437,13 +10672,13 @@ - + - + @@ -10453,13 +10688,14 @@ - + - + @@ -10473,14 +10709,15 @@ - + - + @@ -10489,13 +10726,14 @@ - + - + @@ -10507,14 +10745,16 @@ - + - + @@ -10530,7 +10770,8 @@ - + @@ -10603,17 +10844,18 @@ - + - + - + @@ -10632,11 +10874,11 @@ - + - + @@ -10644,31 +10886,31 @@ - + - + - + - + - + @@ -10678,7 +10920,7 @@ - + @@ -10692,7 +10934,7 @@ - + @@ -10700,7 +10942,7 @@ - + @@ -10709,7 +10951,7 @@ - + @@ -10718,7 +10960,7 @@ - + @@ -10726,7 +10968,7 @@ - + @@ -10734,14 +10976,14 @@ - + - + @@ -10889,7 +11131,7 @@ - + @@ -10897,12 +11139,12 @@ - + - + @@ -10910,12 +11152,12 @@ - + - + @@ -10923,12 +11165,12 @@ - + - + @@ -10936,7 +11178,7 @@ - + @@ -10971,7 +11213,7 @@ - + @@ -10979,7 +11221,7 @@ - + @@ -10987,34 +11229,34 @@ - + - + - + - + - + @@ -11022,7 +11264,7 @@ - + @@ -11049,7 +11291,7 @@ - + @@ -11072,7 +11314,7 @@ - + @@ -11098,43 +11340,43 @@ - + - + - + - + - + - + - + @@ -11146,7 +11388,7 @@ - + @@ -11158,19 +11400,19 @@ - + - + - + @@ -11180,33 +11422,33 @@ - + - + - + - + - + @@ -11218,13 +11460,13 @@ - + - + @@ -11358,7 +11600,8 @@ - + @@ -11366,26 +11609,30 @@ - + - + - + - + @@ -11397,7 +11644,8 @@ of these functions. --> - + @@ -11405,7 +11653,8 @@ - + @@ -11413,21 +11662,24 @@ - + - + - + @@ -11435,41 +11687,47 @@ - + - + - + - + - + - + @@ -11507,7 +11765,8 @@ - + @@ -11515,7 +11774,8 @@ - + @@ -11523,13 +11783,15 @@ - + - + @@ -11537,7 +11799,8 @@ - + @@ -11546,43 +11809,50 @@ - + - + - + - + - + - + - + @@ -11590,49 +11860,61 @@ - + - + - + - + - + - + - + - + @@ -11640,49 +11922,57 @@ - + - + - + - + - + - + - + - + @@ -11690,13 +11980,16 @@ - + - + @@ -11704,97 +11997,111 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -11863,22 +12170,22 @@ - + - + - + - + @@ -11997,45 +12304,45 @@ redudndant garbage. There are a lot of enums with the value 0x00000001. --> - + - + - + - + - + - + - + - + @@ -12046,7 +12353,7 @@ - + @@ -12060,7 +12367,7 @@ - + @@ -12077,7 +12384,7 @@ - + @@ -12087,7 +12394,7 @@ - + @@ -12100,7 +12407,7 @@ - + @@ -12116,7 +12423,8 @@ - + @@ -12134,7 +12442,7 @@ - + @@ -12190,13 +12498,13 @@ - + - + @@ -12218,7 +12526,8 @@ - + @@ -12258,7 +12567,9 @@ - + @@ -12268,7 +12579,9 @@ - + @@ -12278,7 +12591,8 @@ - + @@ -12286,7 +12600,8 @@ - + @@ -12294,7 +12609,8 @@ - + @@ -12302,7 +12618,8 @@ - + @@ -12452,12 +12769,14 @@ - + - + @@ -12503,12 +12822,12 @@ - + - + @@ -12553,7 +12872,8 @@ - + @@ -12563,14 +12883,16 @@ - + - + @@ -12613,17 +12935,17 @@ - + - + - + @@ -12632,7 +12954,7 @@ - + @@ -12667,14 +12989,14 @@ - + - + @@ -12691,7 +13013,7 @@ - + @@ -12708,11 +13030,11 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/gl_XML.py b/mesalib/src/mapi/glapi/gen/gl_XML.py index 019687912..47f8dd5b9 100644 --- a/mesalib/src/mapi/glapi/gen/gl_XML.py +++ b/mesalib/src/mapi/glapi/gen/gl_XML.py @@ -594,6 +594,46 @@ class gl_parameter(object): return self.type_expr.format_string() +# Regular expression used to parse "mesa_name" attributes. A +# mesa_name attribute describes how to adjust a GL function name +# suffix to obtain the name of the function in Mesa that implements +# the functionality. The attribute string consists of a part preceded +# by a "-", indicating the suffix to remove, and a part preceded by a +# "+" indicating the suffix to add. Either part is optional. +# +# For example: +# +# ... +# ... +# +# means that EnableIndexedEXT is implemented by a Mesa function called +# _mesa_EnableIndexed, and IsProgramNV is implemented by a Mesa function +# called _mesa_IsProgramARB. +# +# Note: the prefix "_mesa_" is handled separately, by the "exec" +# attribute. +name_modification_regexp = re.compile( + r'^(-(?P[a-zA-Z0-9_]+))?(\+(?P[a-zA-Z0-9_]+))?$') + + +# Interpret a "mesa_name" attribute (see above) to determine the +# appropriate suffix for the Mesa function implementing a piece of GL +# functionality, and return the properly suffixed name. +def interpret_name_modification(name, mod): + m = name_modification_regexp.match(mod) + if m is None: + raise Exception('Unintelligible mesa_name property: {0!r}'.format(mod)) + new_name = name + if m.group('minus'): + if not new_name.endswith(m.group('minus')): + raise Exception( + 'Cannot subtract suffix {0!r} from function {1}'.format( + m.group('minus'), name)) + new_name = new_name[:-len(m.group('minus'))] + if m.group('plus'): + new_name += m.group('plus') + return new_name + class gl_function( gl_item ): def __init__(self, element, context): @@ -606,6 +646,10 @@ class gl_function( gl_item ): self.offset = -1 self.initialized = 0 self.images = [] + self.exec_flavor = 'mesa' + self.desktop = True + self.deprecated = None + self.mesa_name = None # self.entry_point_api_map[name][api] is a decimal value # indicating the earliest version of the given API in which @@ -613,10 +657,18 @@ class gl_function( gl_item ): # the first level of the map; the second level of the map only # lists APIs which contain the entry point in at least one # version. For example, - # self.entry_point_gles_map['ClipPlanex'] == { 'es1': + # self.entry_point_api_map['ClipPlanex'] == { 'es1': # Decimal('1.1') }. self.entry_point_api_map = {} + # self.api_map[api] is a decimal value indicating the earliest + # version of the given API in which ANY alias for the function + # exists. The map only lists APIs which contain the function + # in at least one version. For example, for the ClipPlanex + # function, self.entry_point_api_map == { 'es1': + # Decimal('1.1') }. + self.api_map = {} + self.assign_offset = 0 self.static_entry_points = [] @@ -651,15 +703,30 @@ class gl_function( gl_item ): version_str = element.nsProp(api, None) assert version_str is not None if version_str != 'none': - self.entry_point_api_map[name][api] = Decimal(version_str) + version_decimal = Decimal(version_str) + self.entry_point_api_map[name][api] = version_decimal + if api not in self.api_map or \ + version_decimal < self.api_map[api]: + self.api_map[api] = version_decimal + + exec_flavor = element.nsProp('exec', None) + if exec_flavor: + self.exec_flavor = exec_flavor + + deprecated = element.nsProp('deprecated', None) + if deprecated != 'none': + self.deprecated = Decimal(deprecated) + + if not is_attr_true(element, 'desktop'): + self.desktop = False if alias: true_name = alias else: true_name = name - # Only try to set the offset when a non-alias - # entry-point is being processes. + # Only try to set the offset and mesa_name when a + # non-alias entry-point is being processed. offset = element.nsProp( "offset", None ) if offset: @@ -671,6 +738,12 @@ class gl_function( gl_item ): if offset == "assign": self.assign_offset = 1 + mesa_name = element.nsProp('mesa_name', None) + if mesa_name is None: + self.mesa_name = name + else: + self.mesa_name = interpret_name_modification(name, mesa_name) + if not self.name: self.name = true_name diff --git a/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml index 7495a2e56..205f74fa9 100644 --- a/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml +++ b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml @@ -19,13 +19,13 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -33,12 +33,12 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -46,23 +46,25 @@ + es1="1.0" desktop="false"> - + - + + es1="1.0" desktop="false"> @@ -72,62 +74,62 @@ + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> @@ -136,14 +138,14 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -153,18 +155,18 @@ + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -172,41 +174,41 @@ + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -214,7 +216,7 @@ + es1="1.0" desktop="false"> @@ -224,7 +226,7 @@ + es1="1.0" desktop="false"> @@ -237,7 +239,7 @@ + es1="1.1" desktop="false"> @@ -249,53 +251,53 @@ + es1="1.1" desktop="false"> + es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> @@ -303,7 +305,7 @@ + es1="1.1" desktop="false"> diff --git a/mesalib/src/mapi/glapi/gen/gl_genexec.py b/mesalib/src/mapi/glapi/gen/gl_genexec.py new file mode 100644 index 000000000..adfa5957e --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/gl_genexec.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python + +# Copyright (C) 2012 Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +# This script generates the file api_exec.c, which contains +# _mesa_create_exec_table(). It is responsible for populating all +# entries in the "exec" dispatch table that aren't dynamic. + +import collections +import license +import gl_XML +import sys, getopt + + +exec_flavor_map = { + 'check': '_check_', + 'dynamic': None, + 'es': '_es_', + 'loopback': 'loopback_', + 'mesa': '_mesa_', + 'skip': None, + } + + +header = """/** + * \\file api_exec.c + * Initialize dispatch table. + */ + + +#include "main/mfeatures.h" +#include "main/accum.h" +#include "main/api_loopback.h" +#include "main/api_exec.h" +#include "main/arbprogram.h" +#include "main/atifragshader.h" +#include "main/attrib.h" +#include "main/blend.h" +#include "main/bufferobj.h" +#include "main/arrayobj.h" +#include "main/buffers.h" +#include "main/clear.h" +#include "main/clip.h" +#include "main/colortab.h" +#include "main/condrender.h" +#include "main/context.h" +#include "main/convolve.h" +#include "main/depth.h" +#include "main/dlist.h" +#include "main/drawpix.h" +#include "main/drawtex.h" +#include "main/rastpos.h" +#include "main/enable.h" +#include "main/errors.h" +#include "main/es1_conversion.h" +#include "main/eval.h" +#include "main/get.h" +#include "main/feedback.h" +#include "main/fog.h" +#include "main/fbobject.h" +#include "main/framebuffer.h" +#include "main/hint.h" +#include "main/histogram.h" +#include "main/imports.h" +#include "main/light.h" +#include "main/lines.h" +#include "main/matrix.h" +#include "main/multisample.h" +#include "main/pixel.h" +#include "main/pixelstore.h" +#include "main/points.h" +#include "main/polygon.h" +#include "main/querymatrix.h" +#include "main/queryobj.h" +#include "main/readpix.h" +#include "main/samplerobj.h" +#include "main/scissor.h" +#include "main/stencil.h" +#include "main/texenv.h" +#include "main/texgetimage.h" +#include "main/teximage.h" +#include "main/texgen.h" +#include "main/texobj.h" +#include "main/texparam.h" +#include "main/texstate.h" +#include "main/texstorage.h" +#include "main/texturebarrier.h" +#include "main/transformfeedback.h" +#include "main/mtypes.h" +#include "main/varray.h" +#include "main/viewport.h" +#include "main/shaderapi.h" +#include "main/uniforms.h" +#include "main/syncobj.h" +#include "main/dispatch.h" + + +/** + * Initialize a dispatch table with pointers to Mesa's immediate-mode + * commands. + * + * Pointers to glBegin()/glEnd() object commands and a few others + * are provided via the GLvertexformat interface. + * + * \param ctx GL context to which \c exec belongs. + * \param exec dispatch table. + */ +struct _glapi_table * +_mesa_create_exec_table(struct gl_context *ctx) +{ + struct _glapi_table *exec; + + exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); + if (exec == NULL) + return NULL; + +""" + + +footer = """ + return exec; +} +""" + + +class PrintCode(gl_XML.gl_print_base): + + def __init__(self): + gl_XML.gl_print_base.__init__(self) + + self.name = 'gl_genexec.py' + self.license = license.bsd_license_template % ( + 'Copyright (C) 2012 Intel Corporation', + 'Intel Corporation') + + def printRealHeader(self): + print header + + def printRealFooter(self): + print footer + + def printBody(self, api): + # Collect SET_* calls by the condition under which they should + # be called. + settings_by_condition = collections.defaultdict(lambda: []) + for f in api.functionIterateAll(): + if f.exec_flavor not in exec_flavor_map: + raise Exception( + 'Unrecognized exec flavor {0!r}'.format(f.exec_flavor)) + condition_parts = [] + if f.desktop: + if f.deprecated: + condition_parts.append('ctx->API == API_OPENGL') + else: + condition_parts.append('_mesa_is_desktop_gl(ctx)') + if 'es1' in f.api_map: + condition_parts.append('ctx->API == API_OPENGLES') + if 'es2' in f.api_map: + if f.api_map['es2'] == 3: + condition_parts.append('_mesa_is_gles3(ctx)') + else: + condition_parts.append('ctx->API == API_OPENGLES2') + if not condition_parts: + # This function does not exist in any API. + continue + condition = ' || '.join(condition_parts) + prefix = exec_flavor_map[f.exec_flavor] + if prefix is None: + # This function is not implemented, or is dispatched + # dynamically. + continue + settings_by_condition[condition].append( + 'SET_{0}(exec, {1}{2});'.format(f.name, prefix, f.mesa_name)) + # Print out an if statement for each unique condition, with + # the SET_* calls nested inside it. + for condition in sorted(settings_by_condition.keys()): + print ' if ({0}) {{'.format(condition) + for setting in sorted(settings_by_condition[condition]): + print ' {0}'.format(setting) + print ' }' + + +def show_usage(): + print "Usage: %s [-f input_file_name]" % sys.argv[0] + sys.exit(1) + + +if __name__ == '__main__': + file_name = "gl_and_es_API.xml" + + try: + (args, trail) = getopt.getopt(sys.argv[1:], "m:f:") + except Exception,e: + show_usage() + + for (arg,val) in args: + if arg == "-f": + file_name = val + + printer = PrintCode() + + api = gl_XML.parse_GL_API(file_name) + printer.Print(api) -- cgit v1.2.3