summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/get.c
diff options
context:
space:
mode:
authorFabian Bieler <[email protected]>2014-03-07 10:39:18 +0100
committerMarek Olšák <[email protected]>2015-07-23 00:59:26 +0200
commit6823d713c68dfb5679a7c96d06f72c31f755d686 (patch)
treed7c5bcab1323df00ee5349707cbb592e64bdd8ee /src/mesa/main/get.c
parentcb0c12512cf83ac412ecc78d4d4c5318c46c9b22 (diff)
mesa: add tessellation shader getters (v3)
Tessellation dependencies added by Marek. v2: require tessellation in addition to atomics/images for some glGet queries Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main/get.c')
-rw-r--r--src/mesa/main/get.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index ffafe51ba05..590fe284f4e 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -149,6 +149,8 @@ enum value_extra {
EXTRA_EXT_UBO_GS4,
EXTRA_EXT_ATOMICS_GS4,
EXTRA_EXT_SHADER_IMAGE_GS4,
+ EXTRA_EXT_ATOMICS_TESS,
+ EXTRA_EXT_SHADER_IMAGE_TESS,
};
#define NO_EXTRA NULL
@@ -349,6 +351,16 @@ static const int extra_ARB_shader_image_load_store_and_geometry_shader[] = {
EXTRA_END
};
+static const int extra_ARB_shader_atomic_counters_and_tessellation[] = {
+ EXTRA_EXT_ATOMICS_TESS,
+ EXTRA_END
+};
+
+static const int extra_ARB_shader_image_load_store_and_tessellation[] = {
+ EXTRA_EXT_SHADER_IMAGE_TESS,
+ EXTRA_END
+};
+
static const int extra_ARB_draw_indirect_es31[] = {
EXT(ARB_draw_indirect),
EXTRA_API_ES31,
@@ -401,6 +413,7 @@ EXTRA_EXT(ARB_explicit_uniform_location);
EXTRA_EXT(ARB_clip_control);
EXTRA_EXT(EXT_polygon_offset_clamp);
EXTRA_EXT(ARB_framebuffer_no_attachments);
+EXTRA_EXT(ARB_tessellation_shader);
static const int
extra_ARB_color_buffer_float_or_glcore[] = {
@@ -1149,6 +1162,16 @@ check_extra(struct gl_context *ctx, const char *func, const struct value_desc *d
api_found = (ctx->Extensions.ARB_shader_image_load_store &&
_mesa_has_geometry_shaders(ctx));
break;
+ case EXTRA_EXT_ATOMICS_TESS:
+ api_check = GL_TRUE;
+ api_found = ctx->Extensions.ARB_shader_atomic_counters &&
+ _mesa_has_tessellation(ctx);
+ break;
+ case EXTRA_EXT_SHADER_IMAGE_TESS:
+ api_check = GL_TRUE;
+ api_found = ctx->Extensions.ARB_shader_image_load_store &&
+ _mesa_has_tessellation(ctx);
+ break;
case EXTRA_END:
break;
default: /* *e is a offset into the extension struct */