summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/get.c
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-06-09 22:50:43 -0400
committerIlia Mirkin <[email protected]>2016-06-18 12:51:55 -0400
commitd68c1e2ac28bbf0ac6259e9619fb73958fc598b8 (patch)
treea2bc494b87e8fc08ad777551231a73d9e11b42e4 /src/mesa/main/get.c
parent78506ad2466563d9ec3f8d09a746a069e6cab6b5 (diff)
mesa: add GL_EXT_window_rectangles state storage/retrieval functionality
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/get.c')
-rw-r--r--src/mesa/main/get.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 6ffa99ca01e..8cb0cc713e3 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -464,6 +464,7 @@ EXTRA_EXT(ARB_indirect_parameters);
EXTRA_EXT(ATI_meminfo);
EXTRA_EXT(NVX_gpu_memory_info);
EXTRA_EXT(ARB_cull_distance);
+EXTRA_EXT(EXT_window_rectangles);
static const int
extra_ARB_color_buffer_float_or_glcore[] = {
@@ -1944,6 +1945,17 @@ find_value_indexed(const char *func, GLenum pname, GLuint index, union value *v)
v->value_int_4[3] = ctx->Scissor.ScissorArray[index].Height;
return TYPE_INT_4;
+ case GL_WINDOW_RECTANGLE_EXT:
+ if (!ctx->Extensions.EXT_window_rectangles)
+ goto invalid_enum;
+ if (index >= ctx->Const.MaxWindowRectangles)
+ goto invalid_value;
+ v->value_int_4[0] = ctx->Scissor.WindowRects[index].X;
+ v->value_int_4[1] = ctx->Scissor.WindowRects[index].Y;
+ v->value_int_4[2] = ctx->Scissor.WindowRects[index].Width;
+ v->value_int_4[3] = ctx->Scissor.WindowRects[index].Height;
+ return TYPE_INT_4;
+
case GL_VIEWPORT:
if (index >= ctx->Const.MaxViewports)
goto invalid_value;