[Mesa-dev] [PATCH 1/3] radeonsi: don't hang on shader compile failure
Samuel Pitoiset
samuel.pitoiset at gmail.com
Fri Mar 24 00:12:44 UTC 2017
Patches 1 & 2 are:
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
No clue about about 3.
On 03/24/2017 01:00 AM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Cc: 17.0 <mesa-stable at lists.freedesktop.org>
> ---
> src/gallium/drivers/radeonsi/si_state_shaders.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
> index 30856b0..e1286b8 100644
> --- a/src/gallium/drivers/radeonsi/si_state_shaders.c
> +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
> @@ -1239,21 +1239,21 @@ static int si_shader_select_with_key(struct si_screen *sscreen,
>
> again:
> /* Check if we don't need to change anything.
> * This path is also used for most shaders that don't need multiple
> * variants, it will cost just a computation of the key and this
> * test. */
> if (likely(current &&
> memcmp(¤t->key, key, sizeof(*key)) == 0 &&
> (!current->is_optimized ||
> util_queue_fence_is_signalled(¤t->optimized_ready))))
> - return 0;
> + return current->compilation_failed ? -1 : 0;
>
> /* This must be done before the mutex is locked, because async GS
> * compilation calls this function too, and therefore must enter
> * the mutex first.
> *
> * Only wait if we are in a draw call. Don't wait if we are
> * in a compiler thread.
> */
> if (thread_index < 0)
> util_queue_fence_wait(&sel->ready);
>
More information about the mesa-dev
mailing list