On Sat, Feb 14, 2015 at 3:33 AM, Jordan Justen <jordan.l.jus...@intel.com> wrote: > On 2015-02-13 23:13:01, Ilia Mirkin wrote: >> 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) > > I don't think this would work if you just want to support it for > ES3.1. Since a driver would have to have the extension for GL4.3, how > about: > (API == GLES2 && version >= 31) || > (API == CORE && extension)
Right... there's no GL ES extension for compute -- silly me. Your proposal works for me! Cheers, -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev