[Mesa-dev] [PATCH] mesa: enable tessellation on GL 4.0 and above

Ilia Mirkin imirkin at alum.mit.edu
Sun Dec 6 19:26:46 PST 2015


On Sun, Dec 6, 2015 at 10:19 PM, Timothy Arceri
<timothy.arceri at collabora.com> wrote:
> On Sun, 2015-12-06 at 22:07 -0500, Ilia Mirkin wrote:
>> On Sun, Dec 6, 2015 at 10:05 PM, Timothy Arceri
>> <timothy.arceri at collabora.com> wrote:
>> > ---
>> >  src/mesa/main/context.h | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
>> > index 8b64f45..f3d42cb 100644
>> > --- a/src/mesa/main/context.h
>> > +++ b/src/mesa/main/context.h
>> > @@ -361,7 +361,7 @@ static inline GLboolean
>> >  _mesa_has_tessellation(const struct gl_context *ctx)
>> >  {
>> >     return ctx->API == API_OPENGL_CORE &&
>> > -          ctx->Extensions.ARB_tessellation_shader;
>> > +          (ctx->Version >= 40 || ctx
>> > ->Extensions.ARB_tessellation_shader);
>>
>> Under what circumstances would this matter? If you're faking a GL
>> version, probably better not to pass in unexpected shader types to
>> the
>> driver, no?
>>
>
> Well the GL CTS expects to access glPatchParameter* or else it won't
> run any tests for 4.0 or above.
>
> Is there any difference in passing the driver unexpected shader types
> verse unexpected shader language/features?

Well, people routinely do things like force-enable higher GL versions
because certain software incorrectly requires them despite only
needing a handful of the extensions. Couldn't you get around this by
doing MESA_EXTENSION_OVERRIDE=GL_ARB_tessellation_shader ?

I guess I'm not too against this, but it seems to be designed for
partially papering over some issue that exists with just one driver. I
think most places we don't have the explicit version check.

  -ilia


More information about the mesa-dev mailing list