On Sat, Feb 14, 2015 at 2:02 AM, Ben Widawsky <benjamin.widaw...@intel.com> wrote: > From: Jordan Justen <jordan.l.jus...@intel.com> > > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > Reviewed-by: Ben Widawsky <b...@bwidawsk.net> > --- > src/mesa/main/context.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h > index d902ea7..69389ae 100644 > --- a/src/mesa/main/context.h > +++ b/src/mesa/main/context.h > @@ -326,6 +326,17 @@ _mesa_has_geometry_shaders(const struct gl_context *ctx) > } > > > +/** > + * Checks if the context supports compute shaders. > + */ > +static inline GLboolean > +_mesa_has_compute_shaders(const struct gl_context *ctx) > +{ > + return ctx->Extensions.ARB_compute_shader || > + (ctx->API == API_OPENGLES2 && ctx->Version >= 31);
This will return true for a driver that has compute shader support but is currently exposing a compat (or GLES1?) context. I guess you want like (API == GLES2 && version >= 31) || (desktop && version >= 43) || (API == CORE && extension) This seems a little on the complex side though -- a driver that really supports GLES3.1 or GL4.3 will have that extension bit set -- the only time that wouldn't happen is if someone forces the version. Not sure if that's a case to really worry about... This would be much simpler as extension && (API == GLES2 || API == CORE) Cheers, -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev