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. 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