diff options
author | Fabian Bieler <[email protected]> | 2014-03-07 10:39:18 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-07-23 00:59:26 +0200 |
commit | 6823d713c68dfb5679a7c96d06f72c31f755d686 (patch) | |
tree | d7c5bcab1323df00ee5349707cbb592e64bdd8ee /src/mesa/main/get.c | |
parent | cb0c12512cf83ac412ecc78d4d4c5318c46c9b22 (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.c | 23 |
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 */ |