On Wed, Oct 5, 2016 at 9:15 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote:

> On Mon, Sep 26, 2016 at 10:31 AM, Lionel Landwerlin
> <llandwer...@gmail.com> wrote:
> > Anv programs the hardware to use L3 data cache if we use either SSBOs or
> > images in the shaders, we can program i965 the same way.
> >
> > gl_shader_program has a bit of a confusing named field with
> > 'NumAtomicBuffers'. It doesn't tell how many buffers are accessed by the
> > shader in an atomic way but instead the number of atomic counters
> > manipulated by the shader.
>
> It's likely that at least some shaders use SSBO's without atomic
> operations. If you only need the data cache for atomics, it should be
> fairly easy to determine if any atomic ops are performed or not. (Same
> for images.)
>

I think we want the data cache regardless of whether or not we're doing
atomics


> If you do need it for all SSBO's whether atomic or not, I'm not sure I
> understand the significance of the quoted paragraph.
>

I don't either.


> [And in either case, it's the number of atomic buffers, not counters -
> you can have multiple counters in a single buffer.]
>
> >
> > Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
> > Cc: Jason Ekstrand <ja...@jlekstrand.net>
> > ---
> >  src/mesa/drivers/dri/i965/gen7_l3_state.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/gen7_l3_state.c
> b/src/mesa/drivers/dri/i965/gen7_l3_state.c
> > index 92e8788..fdaea81 100644
> > --- a/src/mesa/drivers/dri/i965/gen7_l3_state.c
> > +++ b/src/mesa/drivers/dri/i965/gen7_l3_state.c
> > @@ -55,7 +55,8 @@ get_pipeline_state_l3_weights(const struct
> brw_context *brw)
> >           prog ? prog->_LinkedShaders[stage_states[i]->stage] : NULL;
> >        const struct brw_stage_prog_data *prog_data =
> stage_states[i]->prog_data;
> >
> > -      needs_dc |= (prog && prog->NumAtomicBuffers) ||
> > +      needs_dc |= (prog && (prog->NumAtomicBuffers ||
> > +                            prog->NumShaderStorageBlocks)) ||
> >           (shader && shader->NumImages) ||
> >           (prog_data && prog_data->total_scratch);
> >        needs_slm |= prog_data && prog_data->total_shared;
> > --
> > 2.9.3
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to