diff options
author | Courtney Goeltzenleuchter <[email protected]> | 2013-11-14 10:10:47 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2014-01-20 11:32:00 -0800 |
commit | 9ef16befd0068544287c5f327a77fe8af6aee329 (patch) | |
tree | 5e7ce61c348ae8d09b53284b3b24ada7eec944de /src | |
parent | c2eefb06aa3522920548046ee0c1be59428649ed (diff) |
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 <[email protected]>
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mapi/glapi/gen/ARB_viewport_array.xml | 79 | ||||
-rw-r--r-- | src/mapi/glapi/gen/Makefile.am | 1 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 2 | ||||
-rw-r--r-- | src/mesa/main/get.c | 1 | ||||
-rw-r--r-- | src/mesa/main/get_hash_params.py | 7 | ||||
-rw-r--r-- | src/mesa/main/tests/dispatch_sanity.cpp | 20 |
6 files changed, 99 insertions, 11 deletions
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 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + +<OpenGLAPI> + +<category name="GL_ARB_viewport_array" number="100"> + + <enum name="MAX_VIEWPORTS" value="0x825B"/> + <enum name="VIEWPORT_SUBPIXEL_BITS" value="0x825C"/> + <enum name="VIEWPORT_BOUNDS_RANGE" value="0x825D"/> + <enum name="LAYER_PROVOKING_VERTEX" value="0x825E"/> + <enum name="VIEWPORT_INDEX_PROVOKING_VERTEX" value="0x825F"/> + <enum name="SCISSOR_BOX" value="0x0C10"/> + <enum name="VIEWPORT" value="0x0BA2"/> + <enum name="DEPTH_RANGE" value="0x0B70"/> + <enum name="SCISSOR_TEST" value="0x0C11"/> + <enum name="FIRST_VERTEX_CONVENTION" value="0x8E4D"/> + <enum name="LAST_VERTEX_CONVENTION" value="0x8E4E"/> + <enum name="PROVOKING_VERTEX" value="0x8E4F"/> + <enum name="UNDEFINED_VERTEX" value="0x8260"/> + + <function name="ViewportArrayv" offset="assign"> + <param name="first" type="GLuint"/> + <param name="count" type="GLsizei"/> + <param name="v" type="const GLfloat *"/> + </function> + <function name="ViewportIndexedf" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLfloat"/> + <param name="y" type="GLfloat"/> + <param name="w" type="GLfloat"/> + <param name="h" type="GLfloat"/> + </function> + <function name="ViewportIndexedfv" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLfloat *"/> + </function> + <function name="ScissorArrayv" offset="assign"> + <param name="first" type="GLuint"/> + <param name="count" type="GLsizei"/> + <param name="v" type="const int *"/> + </function> + <function name="ScissorIndexed" offset="assign"> + <param name="index" type="GLuint"/> + <param name="left" type="GLint"/> + <param name="bottom" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </function> + <function name="ScissorIndexedv" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLint *"/> + </function> + <function name="DepthRangeArrayv" offset="assign"> + <param name="first" type="GLuint"/> + <param name="count" type="GLsizei"/> + <param name="v" type="const GLclampd *"/> + </function> + <function name="DepthRangeIndexed" offset="assign"> + <param name="index" type="GLuint"/> + <param name="n" type="GLclampd"/> + <param name="f" type="GLclampd"/> + </function> + <function name="GetFloati_v" offset="assign"> + <param name="target" type="GLenum"/> + <param name="index" type="GLuint"/> + <param name="data" type="GLfloat *"/> + </function> + <function name="GetDoublei_v" offset="assign"> + <param name="target" type="GLenum"/> + <param name="index" type="GLuint"/> + <param name="data" type="GLdouble *"/> + </function> + +</category> + +</OpenGLAPI> 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 @@ </category> <!-- Extension number 99 is not listed in the extension registry. --> -<!-- Extension number 100 is a GLU extension. --> +<xi:include href="ARB_viewport_array.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <!-- Shouldn't this be EXT_fragment_lighting? --> <category name="GL_SGIX_fragment_lighting" number="102"> 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 }, |