[Mesa-dev] ssbo, vec4, nir - Re: [PATCH v3 (part2) 00/56] ARB_shader_storage_buffer_object (mesa, i965)

Matt Turner mattst88 at gmail.com
Wed Aug 5 11:49:19 PDT 2015


On Wed, Aug 5, 2015 at 11:36 AM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Tue, Aug 4, 2015 at 5:54 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>> On Tue, Aug 4, 2015 at 5:09 PM, Jordan Justen <jordan.l.justen at intel.com> wrote:
>>> I checked the extension spec, and it appears that like image
>>> load/store, ssbo is only required in fragment and compute stages. I
>>> don't think the ssbo support in vec4 is quite as problematic as image
>>> load/store, so I'm not sure this information will prove useful.
>>>
>>> I did wonder what path we should take with ssbo, given that the vec4
>>> nir support landed. It seems like vec4 nir is not enabled by default
>>> at this point, and I'm not sure what the plan is there.
>>>
>>> Should we only enable ssbo for geometry stages:
>>>
>>>  1. Only when nir is enabled
>>>
>>>  2. Only when nir is disabled. (since that is the default currently)
>>>
>>>  3. Always
>>>
>>>  4. Not at all. (At least for now, since the spec doesn't require it)
>>>
>>> I think my vote would be #1, especially if we plan to enable nir for
>>> vec4 by default before the next release.
>>
>> I would agree especially if we think that using NIR by default in mesa
>> 11.0 is going to happen.  Given how smoothly the vec4 NIR stuff has
>> worked, I think that's probably possible.  Current shader-db results
>> on HSW are as following:
>>
>> total instructions in shared programs: 1816713 -> 1798252 (-1.02%)
>> instructions in affected programs:     1671486 -> 1653025 (-1.10%)
>> helped:                                5248
>> HURT:                                  12868
>> GAINED:                                0
>> LOST:                                  0
>>
>> We can probably whittle that down pretty quick.
>
> Wow, I looked at the number and not the sign.  We're already at
> negative.  We should look into the regressions, but pending benchmark
> problems we're probably good for an all-NIR stack by default in 11.0.

-1% of instructions overall is really awesome, but again the
helped:hurt ratio not okay. I'm going to refer you to the previous
time we did this the initial shader-db results were

    total instructions in shared programs: 2724483 -> 2711790 (-0.47%)
    instructions in affected programs:     1860859 -> 1848166 (-0.68%)
    helped:                                4387
    HURT:                                  4758

and after we investigated and improved some rather obvious things it was

    total instructions in shared programs: 2742062 -> 2681339 (-2.21%)
    instructions in affected programs:     1514770 -> 1454047 (-4.01%)
    helped:                                5813
    HURT:                                  1120


More information about the mesa-dev mailing list