summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/slang.h1
-rw-r--r--source/slang/slang-reflection-json.cpp32
2 files changed, 32 insertions, 1 deletions
diff --git a/include/slang.h b/include/slang.h
index 97ed08bed..516af9603 100644
--- a/include/slang.h
+++ b/include/slang.h
@@ -2246,6 +2246,7 @@ struct TypeReflection
Feedback = SLANG_TYPE_KIND_FEEDBACK,
Pointer = SLANG_TYPE_KIND_POINTER,
DynamicResource = SLANG_TYPE_KIND_DYNAMIC_RESOURCE,
+ MeshOutput = SLANG_TYPE_KIND_MESH_OUTPUT,
};
enum ScalarType : SlangScalarTypeIntegral
diff --git a/source/slang/slang-reflection-json.cpp b/source/slang/slang-reflection-json.cpp
index ee11b061a..c253c4d66 100644
--- a/source/slang/slang-reflection-json.cpp
+++ b/source/slang/slang-reflection-json.cpp
@@ -161,6 +161,12 @@ static void emitReflectionVarBindingInfoJSON(
case SLANG_STAGE_COMPUTE:
stageName = "compute";
break;
+ case SLANG_STAGE_MESH:
+ stageName = "mesh";
+ break;
+ case SLANG_STAGE_AMPLIFICATION:
+ stageName = "amplification";
+ break;
default:
break;
@@ -710,8 +716,26 @@ static void emitReflectionTypeInfoJSON(PrettyWriter& writer, slang::TypeReflecti
writer.maybeComma();
writer << "\"kind\": \"DynamicResource\"";
break;
+ case slang::TypeReflection::Kind::OutputStream:
+ writer.maybeComma();
+ writer << "\"kind\": \"OutputStream\"";
+ break;
+ case slang::TypeReflection::Kind::MeshOutput:
+ writer.maybeComma();
+ writer << "\"kind\": \"MeshOutput\"";
+ break;
+ case slang::TypeReflection::Kind::Specialized:
+ writer.maybeComma();
+ writer << "\"kind\": \"Specialized\"";
+ break;
+ case slang::TypeReflection::Kind::None:
+ writer.maybeComma();
+ writer << "\"kind\": \"None\"";
+ break;
default:
- assert(!"unhandled case");
+ SLANG_ASSERT(!"Unhandled type kind");
+ writer.maybeComma();
+ writer << "\"kind\": \"Unknown\"";
break;
}
emitUserAttributes(writer, type);
@@ -1105,6 +1129,12 @@ static void emitReflectionEntryPointJSON(
case SLANG_STAGE_COMPUTE:
writer << ",\n\"stage\": \"compute\"";
break;
+ case SLANG_STAGE_MESH:
+ writer << ",\n\"stage\": \"mesh\"";
+ break;
+ case SLANG_STAGE_AMPLIFICATION:
+ writer << ",\n\"stage\": \"amplification\"";
+ break;
default:
break;
}