[Mesa-dev] [PATCH] spirv: Fix loading an entire block at once.

Emil Velikov emil.l.velikov at gmail.com
Fri Dec 8 17:36:20 UTC 2017


On 3 December 2017 at 14:40, Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl> wrote:
> There is no chain, so  checking the length ends with a SEGFAULT.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103579
> Cc: <mesa-stable at lists.freedesktop.org>
I'm not 100% sure if a missing chain does not hint to an issue elsewhere?

Patch does what it says on the tin - I would use something simpler (as
below), but regardless
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>


> ---
>  src/compiler/spirv/vtn_variables.c | 58 ++++++++++++++++++++------------------
>  1 file changed, 30 insertions(+), 28 deletions(-)
>
> diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
> index c57f5541319..242f4f916aa 100644
> --- a/src/compiler/spirv/vtn_variables.c
> +++ b/src/compiler/spirv/vtn_variables.c
> @@ -518,35 +518,37 @@ vtn_pointer_to_offset(struct vtn_builder *b, struct vtn_pointer *ptr,
>     *index_out = get_vulkan_resource_index(b, ptr, &type, &idx);
>
>     nir_ssa_def *offset = nir_imm_int(&b->nb, 0);

+   if (!ptr->chain) {
+      return;

-Emil


More information about the mesa-dev mailing list