layers: raytracing and descriptor indexing fixes

https://github.com/KhronosGroup/SPIRV-Tools/pull/2190 fixes a crash caused
by the OpTypeAccelerationStructureNV instruction being deleted. Also add
some missing shader stages for raytracing and mesh shaders.
diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp
index c9c2024..b6e78dc 100644
--- a/layers/shader_validation.cpp
+++ b/layers/shader_validation.cpp
@@ -1567,8 +1567,16 @@
     if (has_writable_descriptor) {
         switch (stage) {
             case VK_SHADER_STAGE_COMPUTE_BIT:
+            case VK_SHADER_STAGE_RAYGEN_BIT_NV:
+            case VK_SHADER_STAGE_ANY_HIT_BIT_NV:
+            case VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV:
+            case VK_SHADER_STAGE_MISS_BIT_NV:
+            case VK_SHADER_STAGE_INTERSECTION_BIT_NV:
+            case VK_SHADER_STAGE_CALLABLE_BIT_NV:
+            case VK_SHADER_STAGE_TASK_BIT_NV:
+            case VK_SHADER_STAGE_MESH_BIT_NV:
                 /* No feature requirements for writes and atomics from compute
-                 * stage */
+                 * raytracing, or mesh stages */
                 break;
             case VK_SHADER_STAGE_FRAGMENT_BIT:
                 skip |= RequireFeature(report_data, features->core.fragmentStoresAndAtomics, "fragmentStoresAndAtomics");
@@ -1793,6 +1801,16 @@
             }
             break;
 
+        case VK_SHADER_STAGE_RAYGEN_BIT_NV:
+        case VK_SHADER_STAGE_ANY_HIT_BIT_NV:
+        case VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV:
+        case VK_SHADER_STAGE_MISS_BIT_NV:
+        case VK_SHADER_STAGE_INTERSECTION_BIT_NV:
+        case VK_SHADER_STAGE_CALLABLE_BIT_NV:
+        case VK_SHADER_STAGE_TASK_BIT_NV:
+        case VK_SHADER_STAGE_MESH_BIT_NV:
+            break;
+
         default:
             assert(false);  // This should never happen
     }