[Mesa-dev] [PATCH 2/2] st/mesa: add GL_ARB_shader_atomic_counter_ops support

Glenn Kennard glenn.kennard at gmail.com
Thu Mar 10 17:50:53 UTC 2016


On Thu, 10 Mar 2016 18:13:03 +0100, Ilia Mirkin <imirkin at alum.mit.edu> wrote:

> On Thu, Mar 10, 2016 at 12:04 PM, Glenn Kennard <glenn.kennard at gmail.com> wrote:
>> On Thu, 10 Mar 2016 17:02:15 +0100, Ilia Mirkin <imirkin at alum.mit.edu>
>> wrote:
>>
>>> On Thu, Mar 10, 2016 at 10:57 AM, Nicolai Hähnle <nhaehnle at gmail.com>
>>> wrote:
>>>>>
>>>>> -   if (c->MaxCombinedAtomicBuffers > 0)
>>>>> +   if (c->MaxCombinedAtomicBuffers > 0) {
>>>>>         extensions->ARB_shader_atomic_counters = GL_TRUE;
>>>>> +      extensions->ARB_shader_atomic_counter_ops = GL_TRUE;
>>>>> +   }
>>>>
>>>>
>>>>
>>>> I believe there's pre-GCN AMD hardware which can support atomic counters
>>>> but
>>>> not atomic_counter_ops (at least according to what the closed driver
>>>> exposes, I haven't actually checked the docs), so there should probably
>>>> be a
>>>> capability flag here.
>>>
>>>
>>> I assumed this was due to laziness... seems odd if the SSBO atomic ops
>>> can be supported, but those same ops can't be supported on atomic
>>> buffers. Glenn / Dave - do you guys happen to know what the pre-GCN hw
>>> is capable of?
>>>
>>>   -ilia
>>>
>>
>> AFAIK Cayman supports atomic counter ops on SSBOs, evergreen only on counter
>> buffers, and earlier hardware does neither.
>
> To phrase this a different way, my patch is fine? :) If you support
> atomic counters, you support all the various ops in
> ARB_shader_atomic_counter_ops (which are basically all the SSBO ops,
> but on atomic counters)?
>

I think so, though the closed driver only exposes ARB_shader_atomic_counter_ops on
Cayman only which may be a hint to something. Cross that bridge when we get there...

/Glenn


More information about the mesa-dev mailing list