On Thu, Dec 10, 2015 at 10:14 PM, Brian Paul <[email protected]> wrote:
> Previously, we were tracking sampler views for fragment shaders and
> suppressing redundant state changes, but not for other types of shaders.
> Now sampler views for all shader types are handled the same way.
>
> v2: s/PIPE_MAX_SAMPLERS/PIPE_MAX_SHADER_SAMPLER_VIEWS/, per Ilia.

I removed this not so long ago:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3639d66a473591e21aa2ec7692c95c827b479632

The reasons were:
1) Meta ops didn't save/restore samplers for non-fragment shaders.
2) Drivers can avoid redundant state updates at per-slot granularity,
unlike cso_context. Therefore, cso_context can never be faster than
drivers, but it can be slower if drivers do the same thing (or do
it better).
3) Drivers have to keep a copy of all sampler views too. There is no
reason to keep another copy of all views elsewhere.

My belief was that doing unnecessary work in cso_context was hurting
us, but I didn't have any performance numbers.

The same applies to sampler states.

Marek
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to