[Mesa-dev] [PATCH] mesa: expose ARB_compute_shader with compat profile

Ilia Mirkin imirkin at alum.mit.edu
Wed May 25 20:15:02 UTC 2016

On Wed, May 25, 2016 at 3:52 PM, Matt Turner <mattst88 at gmail.com> wrote:
> On Wed, May 25, 2016 at 12:17 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> This fixes use of compute shaders with some NVIDIA GL 4.3 samples which
>> require a compat profile.
> I'm confused.
> The samples you're talking about... use 4.3 compatibility? We already
> don't support compatibility profile, so you presumably have to hack
> that on.
> The ARB_compute_shader extension spec says it requires 4.2, and we
> don't expose 4.2 with the compatibility profile. I think you should

We've ignored plenty of such comments in the past though.
ARB_shader_storage_buffer_object has similar language (requiring 4.0,
for no apparent reason). As do a ton of other extensions. I think the
real dependency is on images + atomic counters. (Otherwise compute
shaders are pretty useless.)

> have some justification for why it's safe to expose in compatibility
> profile, since that's a pretty big change. Or, you don't want to
> expose it in compatibility but you need this patch to enable it with
> the 4.2-compat hack enabled...?
> Strangely, ARB_compute_shader says "GLL, GLC" in extensions_table.h,
> but it's only core-enabled on my glxinfo.

That's surprising. Perhaps you only enable it for core in i965?

Either way, I had suggested this patch to true up the state of
has_compute_shaders with the extension table. An alternate solution
would be to not expose compute shaders in compat profiles. Is there
any real reason to do that though?


More information about the mesa-dev mailing list