iris: Enable PIPE_CAP_SHAREABLE_SHADERS.

Now that we store shader variants in the objects themselves rather
than a per-context hash table, they are actually global across
contexts.  We can enable this feature.

This makes shaders shared across contexts, so apps can compile in
one and use it in another.  This has always been allowed by GL,
but in the past we've simply recompiled the shaders in every context,
which is slow and painful.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7668>
This commit is contained in:
Kenneth Graunke 2020-11-17 14:36:29 -08:00 committed by Marge Bot
parent 1afed51445
commit 84a38ec133
1 changed files with 1 additions and 0 deletions

View File

@ -260,6 +260,7 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_NATIVE_FENCE_FD:
case PIPE_CAP_MIXED_COLOR_DEPTH_BITS:
case PIPE_CAP_FENCE_SIGNAL:
case PIPE_CAP_SHAREABLE_SHADERS:
return true;
case PIPE_CAP_FBFETCH:
return BRW_MAX_DRAW_BUFFERS;