diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index a2c8a308403..fbfdd2ddbf8 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -416,6 +416,29 @@ _mesa_hw_select_enabled(const struct gl_context *ctx) ctx->Const.HardwareAcceleratedSelect; } +static inline bool +_mesa_has_occlusion_query(const struct gl_context *ctx) +{ + return _mesa_has_ARB_occlusion_query(ctx) || + _mesa_has_ARB_occlusion_query2(ctx) || + (_mesa_is_desktop_gl(ctx) && ctx->Version >= 15); +} + +static inline bool +_mesa_has_occlusion_query_boolean(const struct gl_context *ctx) +{ + return _mesa_has_ARB_occlusion_query2(ctx) || + _mesa_has_EXT_occlusion_query_boolean(ctx) || + (_mesa_is_desktop_gl(ctx) && ctx->Version >= 33); +} + +static inline bool +_mesa_has_pipeline_statistics(const struct gl_context *ctx) +{ + return _mesa_has_ARB_pipeline_statistics_query(ctx) || + (_mesa_is_desktop_gl(ctx) && ctx->Version >= 46); +} + #ifdef __cplusplus } #endif diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index 9b53be9dd73..8bf5bf1006c 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -471,7 +471,7 @@ get_pipe_stats_binding_point(struct gl_context *ctx, const int which = target - GL_VERTICES_SUBMITTED; assert(which < MAX_PIPELINE_STATISTICS); - if (!_mesa_has_ARB_pipeline_statistics_query(ctx)) + if (!_mesa_has_pipeline_statistics(ctx)) return NULL; return &ctx->Query.pipeline_stats[which]; @@ -487,14 +487,12 @@ get_query_binding_point(struct gl_context *ctx, GLenum target, GLuint index) { switch (target) { case GL_SAMPLES_PASSED: - if (_mesa_has_ARB_occlusion_query(ctx) || - _mesa_has_ARB_occlusion_query2(ctx)) + if (_mesa_has_occlusion_query(ctx)) return &ctx->Query.CurrentOcclusionObject; else return NULL; case GL_ANY_SAMPLES_PASSED: - if (_mesa_has_ARB_occlusion_query2(ctx) || - _mesa_has_EXT_occlusion_query_boolean(ctx)) + if (_mesa_has_occlusion_query_boolean(ctx)) return &ctx->Query.CurrentOcclusionObject; else return NULL; diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index 05e8a119f1f..332ec1d59dd 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -252,8 +252,7 @@ compute_version(const struct gl_extensions *extensions, GLuint major, minor, version; const bool ver_1_4 = (extensions->ARB_shadow); - const bool ver_1_5 = (ver_1_4 && - extensions->ARB_occlusion_query); + const bool ver_1_5 = ver_1_4; const bool ver_2_0 = (ver_1_5 && extensions->ARB_vertex_shader && extensions->ARB_fragment_shader && @@ -312,7 +311,6 @@ compute_version(const struct gl_extensions *extensions, extensions->ARB_blend_func_extended && extensions->ARB_explicit_attrib_location && extensions->ARB_instanced_arrays && - extensions->ARB_occlusion_query2 && extensions->ARB_shader_bit_encoding && extensions->ARB_texture_rgb10_a2ui && extensions->ARB_timer_query && @@ -394,7 +392,6 @@ compute_version(const struct gl_extensions *extensions, extensions->ARB_gl_spirv && extensions->ARB_spirv_extensions && extensions->ARB_indirect_parameters && - extensions->ARB_pipeline_statistics_query && extensions->ARB_polygon_offset_clamp && extensions->ARB_shader_atomic_counter_ops && extensions->ARB_shader_draw_parameters &&