spirv: Use VERTEX_ID_ZERO_BASE for vertex id
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 28 Aug 2015 23:08:29 +0000 (16:08 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 28 Aug 2015 23:08:29 +0000 (16:08 -0700)
src/glsl/nir/spirv_to_nir.c

index b09196ccd9842e6c017a781ca539986635bd95a0..3cbaf3c861628b6651aad833c616e95ab75a4e9b 100644 (file)
@@ -644,7 +644,10 @@ vtn_get_builtin_location(SpvBuiltIn builtin, int *location,
       /* XXX figure this out */
       unreachable("unhandled builtin");
    case SpvBuiltInVertexId:
-      *location = SYSTEM_VALUE_VERTEX_ID;
+      /* Vulkan defines VertexID to be zero-based and reserves the new
+       * builtin keyword VertexIndex to indicate the non-zero-based value.
+       */
+      *location = SYSTEM_VALUE_VERTEX_ID_ZERO_BASE;
       *mode = nir_var_system_value;
       break;
    case SpvBuiltInInstanceId: