spirv: Add support for the HelperInvocation builtin
authorJason Ekstrand <jason@jlekstrand.net>
Tue, 22 Aug 2017 05:11:49 +0000 (22:11 -0700)
committerAndres Gomez <agomez@igalia.com>
Tue, 5 Sep 2017 13:39:24 +0000 (16:39 +0300)
I have no idea how this got missed but it's been missing since forever.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/compiler/spirv/vtn_variables.c

index d4fd1dea7460ce1c0d2a91d440727d7f927c2821..e03547c8d56f91baea26297c613cc7228d9df533 100644 (file)
@@ -1121,6 +1121,10 @@ vtn_get_builtin_location(struct vtn_builder *b,
       *location = FRAG_RESULT_DEPTH;
       assert(*mode == nir_var_shader_out);
       break;
+   case SpvBuiltInHelperInvocation:
+      *location = SYSTEM_VALUE_HELPER_INVOCATION;
+      set_mode_system_value(mode);
+      break;
    case SpvBuiltInNumWorkgroups:
       *location = SYSTEM_VALUE_NUM_WORK_GROUPS;
       set_mode_system_value(mode);
@@ -1161,7 +1165,6 @@ vtn_get_builtin_location(struct vtn_builder *b,
       *location = SYSTEM_VALUE_VIEW_INDEX;
       set_mode_system_value(mode);
       break;
-   case SpvBuiltInHelperInvocation:
    default:
       unreachable("unsupported builtin");
    }