From 9ef16befd0068544287c5f327a77fe8af6aee329 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Thu, 14 Nov 2013 10:10:47 -0700 Subject: [PATCH] mesa: Add ARB_viewport_array plumbing Define API connections to extension entry points added in previous commits. Update entry points to use floating point arguments as required by the extension. Add get tokens for ARB_viewport_array state. v2: Include review feedback. v3 (idr): Fix 'make check'. Add missing Get infrastructure (some was culled from other pathces). Signed-off-by: Courtney Goeltzenleuchter Signed-off-by: Ian Romanick Reviewed-by: Kenneth Graunke --- src/mapi/glapi/gen/ARB_viewport_array.xml | 79 +++++++++++++++++++++++ src/mapi/glapi/gen/Makefile.am | 1 + src/mapi/glapi/gen/gl_API.xml | 2 +- src/mesa/main/get.c | 1 + src/mesa/main/get_hash_params.py | 7 ++ src/mesa/main/tests/dispatch_sanity.cpp | 20 +++--- 6 files changed, 99 insertions(+), 11 deletions(-) create mode 100644 src/mapi/glapi/gen/ARB_viewport_array.xml diff --git a/src/mapi/glapi/gen/ARB_viewport_array.xml b/src/mapi/glapi/gen/ARB_viewport_array.xml new file mode 100644 index 00000000000..e1c6c2d81ab --- /dev/null +++ b/src/mapi/glapi/gen/ARB_viewport_array.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index d5c20b71e2e..7354725df9c 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -129,6 +129,7 @@ API_XML = \ ARB_texture_view.xml \ ARB_vertex_array_object.xml \ ARB_vertex_attrib_binding.xml \ + ARB_viewport_array.xml \ AMD_draw_buffers_blend.xml \ AMD_performance_monitor.xml \ ARB_vertex_type_2_10_10_10_rev.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index ff65b489a08..193ee370c0d 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -9926,7 +9926,7 @@ - + diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 9edf05620a9..2b1538df938 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -391,6 +391,7 @@ EXTRA_EXT(ARB_texture_gather); EXTRA_EXT(ARB_shader_atomic_counters); EXTRA_EXT(ARB_draw_indirect); EXTRA_EXT(ARB_shader_image_load_store); +EXTRA_EXT(ARB_viewport_array); static const int extra_ARB_color_buffer_float_or_glcore[] = { diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 3aa05483c84..b45e1430bac 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -759,6 +759,13 @@ descriptor=[ [ "TEXTURE_BUFFER_OFFSET_ALIGNMENT", "CONTEXT_INT(Const.TextureBufferOffsetAlignment), extra_ARB_texture_buffer_range" ], # GL_ARB_draw_indirect [ "DRAW_INDIRECT_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_draw_indirect" ], + +# GL_ARB_viewport_array + [ "MAX_VIEWPORTS", "CONTEXT_INT(Const.MaxViewports), extra_ARB_viewport_array" ], + [ "VIEWPORT_SUBPIXEL_BITS", "CONTEXT_INT(Const.ViewportSubpixelBits), extra_ARB_viewport_array" ], + [ "VIEWPORT_BOUNDS_RANGE", "CONTEXT_FLOAT2(Const.ViewportBounds), extra_ARB_viewport_array" ], + [ "LAYER_PROVOKING_VERTEX", "CONTEXT_ENUM(Light.ProvokingVertex), extra_ARB_viewport_array" ], + [ "VIEWPORT_INDEX_PROVOKING_VERTEX", "CONTEXT_ENUM(Light.ProvokingVertex), extra_ARB_viewport_array" ], ]} ] diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index b9719569f08..78a218ea17b 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -786,16 +786,16 @@ const struct function gl_core_functions_possible[] = { // { "glVertexAttribL4dv", 43, -1 }, // XXX: Add to xml // { "glVertexAttribLPointer", 43, -1 }, // XXX: Add to xml // { "glGetVertexAttribLdv", 43, -1 }, // XXX: Add to xml -// { "glViewportArrayv", 43, -1 }, // XXX: Add to xml -// { "glViewportIndexedf", 43, -1 }, // XXX: Add to xml -// { "glViewportIndexedfv", 43, -1 }, // XXX: Add to xml -// { "glScissorArrayv", 43, -1 }, // XXX: Add to xml -// { "glScissorIndexed", 43, -1 }, // XXX: Add to xml -// { "glScissorIndexedv", 43, -1 }, // XXX: Add to xml -// { "glDepthRangeArrayv", 43, -1 }, // XXX: Add to xml -// { "glDepthRangeIndexed", 43, -1 }, // XXX: Add to xml -// { "glGetFloati_v", 43, -1 }, // XXX: Add to xml -// { "glGetDoublei_v", 43, -1 }, // XXX: Add to xml + { "glViewportArrayv", 43, -1 }, + { "glViewportIndexedf", 43, -1 }, + { "glViewportIndexedfv", 43, -1 }, + { "glScissorArrayv", 43, -1 }, + { "glScissorIndexed", 43, -1 }, + { "glScissorIndexedv", 43, -1 }, + { "glDepthRangeArrayv", 43, -1 }, + { "glDepthRangeIndexed", 43, -1 }, + { "glGetFloati_v", 43, -1 }, + { "glGetDoublei_v", 43, -1 }, // { "glCreateSyncFromCLeventARB", 43, -1 }, // XXX: Add to xml { "glDebugMessageControlARB", 43, -1 }, { "glDebugMessageInsertARB", 43, -1 }, -- 2.30.2