52 char const* sourcePath,
53 char const* sourceString);
96 bool forceScalarLayout);
100 slang::ICompileRequest* request,
134 slang::ICompileRequest* request,
171 void const* userData);
194 char const*
const* args,
207 const char* defaultModuleName);
212 int translationUnitIndex,
220 int translationUnitIndex,
226 int translationUnitIndex,
234 const char* basePath,
241 int translationUnitIndex,
243 char const* sourceBegin,
244 char const* sourceEnd);
249 int translationUnitIndex,
262 int translationUnitIndex,
269 int translationUnitIndex,
273 char const** genericArgs);
279 char const** genericArgs);
285 char const* typeName);
292 char const* typeName);
387 const void* reproData,
388 size_t reproDataSize,
406 const void* reproData,
407 size_t reproDataSize,
545 const char* nameBegin,
546 const char* nameEnd);
978 uint32_t candidateCount,
1048 int translationUnitIndex);
1063struct IComponentType;
1072 spCompileRequest_getProgram(
SlangCompileRequest* request, slang::IComponentType** outProgram);
1078 slang::IComponentType** outProgram);
1085 slang::IComponentType** outEntryPoint);
1092 slang::IModule** outModule);
1111 {0xaf, 0xd8, 0x66, 0x6e, 0xe7, 0x72, 0x48, 0xe2})
1221 addPreprocessorDefine(
const char* key,
const char* value) = 0;
1228 processCommandLineArguments(
char const*
const* args,
int argCount) = 0;
1251 int translationUnitIndex,
1253 const char* value) = 0;
1268 addTranslationUnitSourceFile(
int translationUnitIndex,
char const* path) = 0;
1284 int translationUnitIndex,
1286 char const* source) = 0;
1297 addLibraryReference(
const char* basePath,
const void* libData,
size_t libDataSize) = 0;
1314 int translationUnitIndex,
1316 char const* sourceBegin,
1317 char const* sourceEnd) = 0;
1333 int translationUnitIndex,
1340 addEntryPoint(
int translationUnitIndex,
char const* name,
SlangStage stage) = 0;
1347 int translationUnitIndex,
1350 int genericArgCount,
1351 char const** genericArgs) = 0;
1356 setGlobalGenericArgs(
int genericArgCount,
char const** genericArgs) = 0;
1372 setTypeNameForGlobalExistentialTypeParam(
int slotIndex,
char const* typeName) = 0;
1388 int entryPointIndex,
1390 char const* typeName) = 0;
1422 getDiagnosticOutputBlob(
ISlangBlob** outBlob) = 0;
1452 getEntryPointCode(
int entryPointIndex,
size_t* outSize) = 0;
1462 getEntryPointCodeBlob(
int entryPointIndex,
int targetIndex,
ISlangBlob** outBlob) = 0;
1477 int entryPointIndex,
1488 getTargetCodeBlob(
int targetIndex,
ISlangBlob** outBlob) = 0;
1520 getCompileRequestResultAsFileSystem() = 0;
1544 loadRepro(
ISlangFileSystem* fileSystem,
const void* data,
size_t size) = 0;
1573 getProgram(slang::IComponentType** outProgram) = 0;
1588 getEntryPoint(
SlangInt entryPointIndex, slang::IComponentType** outEntryPoint) = 0;
1603 getModule(
SlangInt translationUnitIndex, slang::IModule** outModule) = 0;
1629 getProgramWithEntryPoints(slang::IComponentType** outProgram) = 0;
1649 setTargetForceGLSLScalarBufferLayout(
int targetIndex,
bool forceScalarLayout) = 0;
1681 setTargetUseMinimumSlangOptimization(
int targetIndex,
bool value) = 0;
1688 getCompileTimeProfile(
ISlangProfiler** compileTimeProfile,
bool shouldClear) = 0;
1691 setTargetGenerateWholeProgram(
int targetIndex,
bool value) = 0;
1696 setTargetEmbedDownstreamIR(
int targetIndex,
bool value) = 0;
1701 #define SLANG_UUID_ICompileRequest ICompileRequest::getTypeGuid()
int32_t SlangResult
Definition slang-cpp-prelude.h:300
#define SLANG_NO_THROW
Definition slang-cpp-prelude.h:268
#define SLANG_MCALL
Definition slang-cpp-prelude.h:282
#define SLANG_COM_INTERFACE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)
Definition slang-cpp-prelude.h:310
SLANG_API void spSetFileSystem(SlangCompileRequest *request, ISlangFileSystem *fileSystem)
SLANG_API char const * spReflectionDecl_getName(SlangReflectionDecl *decl)
SLANG_API SlangResult spExtractRepro(SlangSession *session, const void *reproData, size_t reproDataSize, ISlangMutableFileSystem *fileSystem)
SLANG_API SlangReflectionTypeLayout * spReflectionTypeLayout_GetElementTypeLayout(SlangReflectionTypeLayout *type)
SLANG_API void spSetPassThrough(SlangCompileRequest *request, SlangPassThrough passThrough)
SLANG_API SlangReflectionEntryPoint * spReflection_findEntryPointByName(SlangReflection *reflection, char const *name)
SLANG_API SlangResult spReflectionVariable_GetDefaultValueFloat(SlangReflectionVariable *inVar, float *rs)
SLANG_API SlangInt spReflectionTypeLayout_getDescriptorSetSpaceOffset(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex)
SLANG_API int spReflectionEntryPoint_hasDefaultConstantBuffer(SlangReflectionEntryPoint *entryPoint)
SLANG_API size_t spReflectionVariableLayout_GetSemanticIndex(SlangReflectionVariableLayout *var)
SLANG_API unsigned spReflectionTypeParameter_GetConstraintCount(SlangReflectionTypeParameter *typeParam)
SLANG_API SlangInt spReflectionTypeLayout_getSubObjectRangeSpaceOffset(SlangReflectionTypeLayout *typeLayout, SlangInt subObjectRangeIndex)
SLANG_API SlangResult spSessionCheckPassThroughSupport(SlangSession *session, SlangPassThrough passThrough)
SLANG_API char const * spReflectionEntryPoint_getName(SlangReflectionEntryPoint *entryPoint)
SLANG_API int32_t spReflectionTypeLayout_getAlignment(SlangReflectionTypeLayout *type, SlangParameterCategory category)
SLANG_API SlangReflectionType * spReflectionType_getSpecializedTypeArgType(SlangReflectionType *type, SlangInt index)
SLANG_API SlangUInt spReflection_getHashedStringCount(SlangReflection *reflection)
Get the number of hashed strings
SLANG_API size_t spReflectionTypeLayout_GetElementStride(SlangReflectionTypeLayout *type, SlangParameterCategory category)
SLANG_API SlangResult spEnableReproCapture(SlangCompileRequest *request)
SLANG_API void spDestroyCompileRequest(SlangCompileRequest *request)
Destroy a compile request. Note a request is a COM object and can be destroyed via 'Release'.
SLANG_API SlangReflectionType * spReflectionVariable_GetType(SlangReflectionVariable *var)
SLANG_API SlangReflectionVariable * spReflectionGeneric_GetValueParameter(SlangReflectionGeneric *generic, unsigned index)
SLANG_API SlangBindingType spReflectionTypeLayout_getBindingRangeType(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API SlangInt spReflectionType_getSpecializedTypeArgCount(SlangReflectionType *type)
SLANG_API SlangUInt spReflection_getGlobalConstantBufferBinding(SlangReflection *reflection)
SLANG_API unsigned int spReflectionUserAttribute_GetArgumentCount(SlangReflectionUserAttribute *attrib)
SLANG_API unsigned int spReflectionGeneric_GetValueParameterCount(SlangReflectionGeneric *generic)
SLANG_API SlangInt spReflection_getBindlessSpaceIndex(SlangReflection *reflection)
SLANG_API SlangResult spSetGlobalGenericArgs(SlangCompileRequest *request, int genericArgCount, char const **genericArgs)
SLANG_API SlangScalarType spReflectionType_GetScalarType(SlangReflectionType *type)
SLANG_API SlangStage spReflectionEntryPoint_getStage(SlangReflectionEntryPoint *entryPoint)
SLANG_API SlangReflectionVariable * spReflectionVariable_applySpecializations(SlangReflectionVariable *var, SlangReflectionGeneric *generic)
SLANG_API ISlangWriter * spGetWriter(SlangCompileRequest *request, SlangWriterChannel channel)
SLANG_API void spSetDiagnosticCallback(SlangCompileRequest *request, SlangDiagnosticCallback callback, void const *userData)
SLANG_API void spSetDiagnosticFlags(SlangCompileRequest *request, SlangDiagnosticFlags flags)
SLANG_API SlangTypeKind spReflectionType_GetKind(SlangReflectionType *type)
SLANG_API SlangImageFormat spReflectionTypeLayout_getBindingRangeImageFormat(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API SlangResult spGetContainerCode(SlangCompileRequest *request, ISlangBlob **outBlob)
SLANG_API SlangCapabilityID spFindCapability(SlangSession *session, char const *name)
SLANG_API SlangResult spReflectionVariable_GetDefaultValueInt(SlangReflectionVariable *inVar, int64_t *rs)
SLANG_API SlangParameterCategory spReflectionTypeLayout_getDescriptorSetDescriptorRangeCategory(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex, SlangInt rangeIndex)
SLANG_API void spSetCodeGenTarget(SlangCompileRequest *request, SlangCompileTarget target)
SLANG_API int64_t spReflectionGeneric_GetConcreteIntVal(SlangReflectionGeneric *generic, SlangReflectionVariable *valueParam)
SLANG_API int spGetDependencyFileCount(SlangCompileRequest *request)
SLANG_API unsigned int spReflectionType_GetFieldCount(SlangReflectionType *type)
SLANG_API void spSetTargetFlags(SlangCompileRequest *request, int targetIndex, SlangTargetFlags flags)
SLANG_API unsigned spReflectionEntryPoint_getParameterCount(SlangReflectionEntryPoint *entryPoint)
SLANG_API void const * spGetEntryPointCode(SlangCompileRequest *request, int entryPointIndex, size_t *outSize)
SLANG_API size_t spReflectionTypeLayout_GetSize(SlangReflectionTypeLayout *type, SlangParameterCategory category)
SLANG_API SlangReflectionType * spReflectionType_GetElementType(SlangReflectionType *type)
SLANG_API SlangReflectionUserAttribute * spReflectionType_GetUserAttribute(SlangReflectionType *type, unsigned int index)
SLANG_API SlangInt spReflectionTypeLayout_getDescriptorSetCount(SlangReflectionTypeLayout *typeLayout)
SLANG_API const char * spReflection_getHashedString(SlangReflection *reflection, SlangUInt index, size_t *outCount)
SLANG_API SlangCompileRequest * spCreateCompileRequest(SlangSession *session)
SLANG_API SlangResult spGetEntryPointHostCallable(SlangCompileRequest *request, int entryPointIndex, int targetIndex, ISlangSharedLibrary **outSharedLibrary)
SLANG_API void spSetMatrixLayoutMode(SlangCompileRequest *request, SlangMatrixLayoutMode mode)
SLANG_API SlangReflectionUserAttribute * spReflectionType_FindUserAttributeByName(SlangReflectionType *type, char const *name)
SLANG_API void spSetTargetMatrixLayoutMode(SlangCompileRequest *request, int targetIndex, SlangMatrixLayoutMode mode)
SLANG_API SlangReflectionType * spReflectionGeneric_GetTypeParameterConstraintType(SlangReflectionGeneric *generic, SlangReflectionVariable *typeParam, unsigned index)
SLANG_API SlangReflectionType * spReflectionTypeLayout_GetType(SlangReflectionTypeLayout *type)
SLANG_API char const * spGetEntryPointSource(SlangCompileRequest *request, int entryPointIndex)
SLANG_API SlangReflectionGeneric * spReflectionGeneric_applySpecializations(SlangReflectionGeneric *currGeneric, SlangReflectionGeneric *generic)
SLANG_API SlangResult spAddLibraryReference(SlangCompileRequest *request, const char *basePath, const void *libData, size_t libDataSize)
SLANG_API SlangResourceAccess spReflectionType_GetResourceAccess(SlangReflectionType *type)
SLANG_API unsigned int spReflection_GetTypeParameterCount(SlangReflection *reflection)
SLANG_API SlangCompileFlags spGetCompileFlags(SlangCompileRequest *request)
SLANG_API SlangUInt spReflection_getEntryPointCount(SlangReflection *reflection)
SLANG_API SlangReflectionGeneric * spReflectionType_GetGenericContainer(SlangReflectionType *type)
SLANG_API void spDestroySession(SlangSession *session)
Clean up after an instance of the Slang library.
SLANG_API char const * spReflectionGeneric_GetName(SlangReflectionGeneric *generic)
SLANG_API void spReflectionEntryPoint_getComputeWaveSize(SlangReflectionEntryPoint *entryPoint, SlangUInt *outWaveSize)
SLANG_API unsigned int spReflectionGeneric_GetTypeParameterConstraintCount(SlangReflectionGeneric *generic, SlangReflectionVariable *typeParam)
SLANG_API void spAddBuiltins(SlangSession *session, char const *sourcePath, char const *sourceString)
SLANG_API SlangReflectionFunction * spReflectionEntryPoint_getFunction(SlangReflectionEntryPoint *entryPoint)
SLANG_API SlangReflectionTypeParameter * spReflection_GetTypeParameterByIndex(SlangReflection *reflection, unsigned int index)
SLANG_API SlangResult spLoadRepro(SlangCompileRequest *request, ISlangFileSystem *fileSystem, const void *data, size_t size)
SLANG_API char const * spReflectionType_GetName(SlangReflectionType *type)
SLANG_API SlangInt spReflectionTypeLayout_getBindingRangeDescriptorRangeCount(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API SlangReflectionGeneric * spReflectionFunction_GetGenericContainer(SlangReflectionFunction *func)
SLANG_API SlangReflectionParameter * spReflection_GetParameterByIndex(SlangReflection *reflection, unsigned index)
SLANG_API SlangResult spSaveRepro(SlangCompileRequest *request, ISlangBlob **outBlob)
SLANG_API unsigned int spReflectionType_GetRowCount(SlangReflectionType *type)
SLANG_API size_t spReflectionType_GetSpecializedElementCount(SlangReflectionType *type, SlangReflection *reflection)
SLANG_API SlangReflectionModifier * spReflectionFunction_FindModifier(SlangReflectionFunction *var, SlangModifierID modifierID)
SLANG_API SlangResult spGetTargetHostCallable(SlangCompileRequest *request, int targetIndex, ISlangSharedLibrary **outSharedLibrary)
SLANG_API void spAddTranslationUnitSourceFile(SlangCompileRequest *request, int translationUnitIndex, char const *path)
SLANG_API unsigned int spReflectionFunction_GetParameterCount(SlangReflectionFunction *func)
SLANG_API SlangInt spReflectionTypeLayout_getBindingRangeFirstDescriptorRangeIndex(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API void spSetTargetLineDirectiveMode(SlangCompileRequest *request, int targetIndex, SlangLineDirectiveMode mode)
SLANG_API char const * spReflectionUserAttribute_GetName(SlangReflectionUserAttribute *attrib)
SLANG_API void spSetCompileFlags(SlangCompileRequest *request, SlangCompileFlags flags)
SLANG_API SlangResult spGetEntryPointCodeBlob(SlangCompileRequest *request, int entryPointIndex, int targetIndex, ISlangBlob **outBlob)
SLANG_API SlangResult spSetTypeNameForEntryPointExistentialTypeParam(SlangCompileRequest *request, int entryPointIndex, int slotIndex, char const *typeName)
SLANG_API void const * spGetCompileRequestCode(SlangCompileRequest *request, size_t *outSize)
SLANG_API SlangReflectionType * spReflectionType_GetResourceResultType(SlangReflectionType *type)
SLANG_API SlangReflectionVariable * spReflectionTypeLayout_getBindingRangeLeafVariable(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API unsigned spReflection_GetParameterCount(SlangReflection *reflection)
SLANG_API int spAddTranslationUnit(SlangCompileRequest *request, SlangSourceLanguage language, char const *name)
SLANG_API void spAddSearchPath(SlangCompileRequest *request, const char *searchDir)
SLANG_API SlangReflectionFunction * spReflection_FindFunctionByNameInType(SlangReflection *reflection, SlangReflectionType *reflType, char const *name)
SLANG_API void spSetOptimizationLevel(SlangCompileRequest *request, SlangOptimizationLevel level)
SLANG_API SlangBindingType spReflectionTypeLayout_getDescriptorSetDescriptorRangeType(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex, SlangInt rangeIndex)
SLANG_API size_t spReflection_getGlobalConstantBufferSize(SlangReflection *reflection)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_getSpecializedTypePendingDataVarLayout(SlangReflectionTypeLayout *type)
SLANG_API SlangReflectionUserAttribute * spReflectionFunction_GetUserAttribute(SlangReflectionFunction *func, unsigned int index)
SLANG_API SlangInt spReflectionTypeLayout_getBindingRangeBindingCount(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API size_t spReflectionVariableLayout_GetOffset(SlangReflectionVariableLayout *var, SlangParameterCategory category)
SLANG_API SlangResult spReflectionUserAttribute_GetArgumentValueFloat(SlangReflectionUserAttribute *attrib, unsigned int index, float *rs)
SLANG_API SlangReflectionTypeLayout * spReflectionVariableLayout_GetTypeLayout(SlangReflectionVariableLayout *var)
SLANG_API SlangReflectionVariable * spReflectionDecl_castToVariable(SlangReflectionDecl *decl)
SLANG_API int spGetTranslationUnitCount(SlangCompileRequest *request)
SLANG_API SlangReflectionFunction * spReflectionDecl_castToFunction(SlangReflectionDecl *decl)
SLANG_API SlangDeclKind spReflectionGeneric_GetInnerKind(SlangReflectionGeneric *generic)
SLANG_API SlangResult spGetDiagnosticOutputBlob(SlangCompileRequest *request, ISlangBlob **outBlob)
SLANG_API SlangReflectionType * spReflectionUserAttribute_GetArgumentType(SlangReflectionUserAttribute *attrib, unsigned int index)
SLANG_API SlangReflectionUserAttribute * spReflectionVariable_GetUserAttribute(SlangReflectionVariable *var, unsigned int index)
SLANG_API SlangReflectionType * spReflection_specializeType(SlangReflection *reflection, SlangReflectionType *type, SlangInt specializationArgCount, SlangReflectionType *const *specializationArgs, ISlangBlob **outDiagnostics)
SLANG_API SlangInt spReflectionTypeLayout_getBindingRangeDescriptorSetIndex(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API void spSetDebugInfoLevel(SlangCompileRequest *request, SlangDebugInfoLevel level)
SLANG_API unsigned int spReflectionType_GetUserAttributeCount(SlangReflectionType *type)
SLANG_API unsigned int spReflectionGeneric_GetTypeParameterCount(SlangReflectionGeneric *generic)
SLANG_API SlangReflectionType * spReflectionFunction_GetResultType(SlangReflectionFunction *func)
SLANG_API SlangReflectionGeneric * spReflectionVariable_GetGenericContainer(SlangReflectionVariable *var)
SLANG_API void spSetDebugInfoFormat(SlangCompileRequest *request, SlangDebugInfoFormat format)
SLANG_API int spReflectionTypeLayout_getGenericParamIndex(SlangReflectionTypeLayout *type)
SLANG_API ISlangSharedLibraryLoader * spSessionGetSharedLibraryLoader(SlangSession *session)
SLANG_API SlangReflectionType * spReflectionType_applySpecializations(SlangReflectionType *type, SlangReflectionGeneric *generic)
SLANG_API SlangResult spIsParameterLocationUsed(SlangCompileRequest *request, SlangInt entryPointIndex, SlangInt targetIndex, SlangParameterCategory category, SlangUInt spaceIndex, SlangUInt registerIndex, bool &outUsed)
SLANG_API SlangResult spLoadReproAsFileSystem(SlangSession *session, const void *reproData, size_t reproDataSize, ISlangFileSystem *replaceFileSystem, ISlangFileSystemExt **outFileSystem)
SLANG_API SlangReflectionFunction * spReflectionFunction_getOverload(SlangReflectionFunction *func, unsigned int index)
SLANG_API void spAddTranslationUnitSourceString(SlangCompileRequest *request, int translationUnitIndex, char const *path, char const *source)
SLANG_API SlangMatrixLayoutMode spReflectionTypeLayout_GetMatrixLayoutMode(SlangReflectionTypeLayout *type)
SLANG_API SlangResult spSessionCheckCompileTargetSupport(SlangSession *session, SlangCompileTarget target)
SLANG_API SlangReflectionDecl * spReflectionGeneric_asDecl(SlangReflectionGeneric *generic)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_GetFieldByIndex(SlangReflectionTypeLayout *type, unsigned index)
SLANG_API SlangReflectionVariable * spReflection_FindVarByNameInType(SlangReflection *reflection, SlangReflectionType *reflType, char const *name)
SLANG_API SlangReflectionTypeLayout * spReflectionTypeLayout_getBindingRangeLeafTypeLayout(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API void spSetOutputContainerFormat(SlangCompileRequest *request, SlangContainerFormat format)
SLANG_API int spReflectionEntryPoint_usesAnySampleRateInput(SlangReflectionEntryPoint *entryPoint)
SLANG_API unsigned int spReflectionDecl_getChildrenCount(SlangReflectionDecl *parentDecl)
SLANG_API SlangInt spReflectionTypeLayout_getSubObjectRangeCount(SlangReflectionTypeLayout *typeLayout)
SLANG_API size_t spReflectionType_GetElementCount(SlangReflectionType *type)
SLANG_API SlangReflectionVariableLayout * spReflectionVariableLayout_getPendingDataLayout(SlangReflectionVariableLayout *var)
SLANG_API SlangReflectionVariable * spReflectionGeneric_GetTypeParameter(SlangReflectionGeneric *generic, unsigned index)
SLANG_API SlangReflectionVariableLayout * spReflectionEntryPoint_getResultVarLayout(SlangReflectionEntryPoint *entryPoint)
SLANG_API char const * spReflectionEntryPoint_getNameOverride(SlangReflectionEntryPoint *entryPoint)
SLANG_API void spOverrideDiagnosticSeverity(SlangCompileRequest *request, SlangInt messageID, SlangSeverity overrideSeverity)
SLANG_API void spSetDumpIntermediates(SlangCompileRequest *request, int enable)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_getContainerVarLayout(SlangReflectionTypeLayout *type)
SLANG_API void spAddTargetCapability(slang::ICompileRequest *request, int targetIndex, SlangCapabilityID capability)
SLANG_API SlangReflectionVariableLayout * spReflectionEntryPoint_getVarLayout(SlangReflectionEntryPoint *entryPoint)
SLANG_API char const * spReflectionVariable_GetName(SlangReflectionVariable *var)
SLANG_API bool spReflectionFunction_isOverloaded(SlangReflectionFunction *func)
SLANG_API SlangReflectionEntryPoint * spReflection_getEntryPointByIndex(SlangReflection *reflection, SlangUInt index)
SLANG_API void spSetIgnoreCapabilityCheck(slang::ICompileRequest *request, bool val)
SLANG_API SlangInt spReflectionTypeLayout_getExplicitCounterBindingRangeOffset(SlangReflectionTypeLayout *inTypeLayout)
SLANG_API SlangReflectionFunction * spReflectionFunction_applySpecializations(SlangReflectionFunction *func, SlangReflectionGeneric *generic)
SLANG_API SlangReflectionGeneric * spReflectionDecl_castToGeneric(SlangReflectionDecl *decl)
SLANG_API const char * spReflectionUserAttribute_GetArgumentValueString(SlangReflectionUserAttribute *attrib, unsigned int index, size_t *outSize)
SLANG_API SlangReflectionTypeLayout * spReflection_getGlobalParamsTypeLayout(SlangReflection *reflection)
Get a type layout representing reflection information for the global-scope parameters.
SLANG_API int spAddEntryPoint(SlangCompileRequest *request, int translationUnitIndex, char const *name, SlangStage stage)
SLANG_API SlangReflectionType * spReflection_getTypeFromDecl(SlangReflectionDecl *decl)
SLANG_API unsigned int spReflectionFunction_getOverloadCount(SlangReflectionFunction *func)
SLANG_API SlangReflectionTypeLayout * spReflectionTypeLayout_getPendingDataTypeLayout(SlangReflectionTypeLayout *type)
SLANG_API void spSetTargetForceGLSLScalarBufferLayout(SlangCompileRequest *request, int targetIndex, bool forceScalarLayout)
SLANG_API SlangInt spReflectionTypeLayout_getSubObjectRangeBindingRangeIndex(SlangReflectionTypeLayout *typeLayout, SlangInt subObjectRangeIndex)
SLANG_API void spSetTargetProfile(SlangCompileRequest *request, int targetIndex, SlangProfileID profile)
SLANG_API unsigned int spReflectionType_GetColumnCount(SlangReflectionType *type)
SLANG_API SlangReflectionDecl * spReflectionDecl_getParent(SlangReflectionDecl *decl)
SLANG_API void spAddTranslationUnitSourceBlob(SlangCompileRequest *request, int translationUnitIndex, char const *path, ISlangBlob *sourceBlob)
SLANG_API SlangInt spReflectionTypeLayout_getBindingRangeCount(SlangReflectionTypeLayout *typeLayout)
SLANG_API int spAddEntryPointEx(SlangCompileRequest *request, int translationUnitIndex, char const *name, SlangStage stage, int genericArgCount, char const **genericArgs)
SLANG_API SlangResult spCompile(SlangCompileRequest *request)
SLANG_API SlangResourceShape spReflectionType_GetResourceShape(SlangReflectionType *type)
SLANG_API char const * spReflectionVariableLayout_GetSemanticName(SlangReflectionVariableLayout *var)
SLANG_API void spSessionSetSharedLibraryLoader(SlangSession *session, ISlangSharedLibraryLoader *loader)
SLANG_API SlangReflectionDecl * spReflectionGeneric_GetInnerDecl(SlangReflectionGeneric *generic)
SLANG_API SlangUInt32 spComputeStringHash(const char *chars, size_t count)
SLANG_API SlangReflectionModifier * spReflectionVariable_FindModifier(SlangReflectionVariable *var, SlangModifierID modifierID)
SLANG_API SlangReflectionFunction * spReflectionFunction_specializeWithArgTypes(SlangReflectionFunction *func, SlangInt argTypeCount, SlangReflectionType *const *argTypes)
SLANG_API SlangReflectionGeneric * spReflectionGeneric_GetOuterGenericContainer(SlangReflectionGeneric *generic)
SLANG_API void spReflectionEntryPoint_getComputeThreadGroupSize(SlangReflectionEntryPoint *entryPoint, SlangUInt axisCount, SlangUInt *outSizeAlongAxis)
SLANG_API SlangReflection * spGetReflection(SlangCompileRequest *request)
SLANG_API char const * spReflectionFunction_GetName(SlangReflectionFunction *func)
SLANG_API SlangInt spReflectionTypeLayout_getFieldBindingRangeOffset(SlangReflectionTypeLayout *typeLayout, SlangInt fieldIndex)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_GetExplicitCounter(SlangReflectionTypeLayout *typeLayout)
SLANG_API void spTranslationUnit_addPreprocessorDefine(SlangCompileRequest *request, int translationUnitIndex, const char *key, const char *value)
SLANG_API SlangReflectionVariable * spReflectionType_GetFieldByIndex(SlangReflectionType *type, unsigned index)
SLANG_API SlangParameterCategory spReflectionTypeLayout_GetCategoryByIndex(SlangReflectionTypeLayout *type, unsigned index)
SLANG_API SlangReflectionDecl * spReflectionDecl_getChild(SlangReflectionDecl *parentDecl, unsigned int index)
SLANG_API void spAddTranslationUnitSourceStringSpan(SlangCompileRequest *request, int translationUnitIndex, char const *path, char const *sourceBegin, char const *sourceEnd)
SLANG_API unsigned spReflectionTypeParameter_GetIndex(SlangReflectionTypeParameter *typeParam)
SLANG_API SlangInt spReflectionTypeLayout_getDescriptorSetDescriptorRangeDescriptorCount(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex, SlangInt rangeIndex)
SLANG_API void spSetTargetFloatingPointMode(SlangCompileRequest *request, int targetIndex, SlangFloatingPointMode mode)
SLANG_API unsigned spReflectionTypeLayout_GetCategoryCount(SlangReflectionTypeLayout *type)
SLANG_API SlangReflectionVariableLayout * spReflection_getGlobalParamsVarLayout(SlangReflection *reflection)
Get a variable layout representing reflection information for the global-scope parameters.
SLANG_API size_t spReflectionVariableLayout_GetSpace(SlangReflectionVariableLayout *var, SlangParameterCategory category)
SLANG_API SlangReflectionGeneric * spReflection_specializeGeneric(SlangReflection *inProgramLayout, SlangReflectionGeneric *generic, SlangInt argCount, SlangReflectionGenericArgType const *argTypes, SlangReflectionGenericArg const *args, ISlangBlob **outDiagnostics)
SLANG_API SlangReflectionType * spReflectionGeneric_GetConcreteType(SlangReflectionGeneric *generic, SlangReflectionVariable *typeParam)
SLANG_API unsigned spReflectionParameter_GetBindingIndex(SlangReflectionParameter *parameter)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_getSubObjectRangeOffset(SlangReflectionTypeLayout *typeLayout, SlangInt subObjectRangeIndex)
SLANG_API SlangDeclKind spReflectionDecl_getKind(SlangReflectionDecl *decl)
SLANG_API SlangReflectionModifier * spReflectionDecl_findModifier(SlangReflectionDecl *decl, SlangModifierID modifierID)
SLANG_API void spSetDumpIntermediatePrefix(SlangCompileRequest *request, const char *prefix)
SLANG_API void spSetWriter(SlangCompileRequest *request, SlangWriterChannel channel, ISlangWriter *writer)
SLANG_API SlangResult spReflectionUserAttribute_GetArgumentValueInt(SlangReflectionUserAttribute *attrib, unsigned int index, int *rs)
SLANG_API SlangReflectionFunction * spReflection_FindFunctionByName(SlangReflection *reflection, char const *name)
SLANG_API SlangResult spProcessCommandLineArguments(SlangCompileRequest *request, char const *const *args, int argCount)
SLANG_API SlangStage spReflectionVariableLayout_getStage(SlangReflectionVariableLayout *var)
SLANG_API SlangParameterCategory spReflectionTypeLayout_GetParameterCategory(SlangReflectionTypeLayout *type)
SLANG_API SlangProfileID spFindProfile(SlangSession *session, char const *name)
SLANG_API uint32_t spReflectionTypeLayout_GetFieldCount(SlangReflectionTypeLayout *type)
SLANG_API SlangResult spGetTargetCodeBlob(SlangCompileRequest *request, int targetIndex, ISlangBlob **outBlob)
SLANG_API SlangTypeKind spReflectionTypeLayout_getKind(SlangReflectionTypeLayout *type)
SLANG_API SlangResult spReflection_ToJson(SlangReflection *reflection, SlangCompileRequest *request, ISlangBlob **outBlob)
SLANG_API SlangReflectionVariable * spReflectionVariableLayout_GetVariable(SlangReflectionVariableLayout *var)
SLANG_API SlangReflectionType * spReflectionTypeParameter_GetConstraintByIndex(SlangReflectionTypeParameter *typeParam, unsigned int index)
SLANG_API SlangSession * spCreateSession(const char *deprecated=0)
Initialize an instance of the Slang library.
SLANG_API SlangReflectionVariableLayout * spReflectionEntryPoint_getParameterByIndex(SlangReflectionEntryPoint *entryPoint, unsigned index)
SLANG_API SlangResult spSetTypeNameForGlobalExistentialTypeParam(SlangCompileRequest *request, int slotIndex, char const *typeName)
SLANG_API SlangReflectionType * spReflection_FindTypeByName(SlangReflection *reflection, char const *name)
SLANG_API char const * spReflectionTypeParameter_GetName(SlangReflectionTypeParameter *typeParam)
SLANG_API SlangResult spReflectionType_GetFullName(SlangReflectionType *type, ISlangBlob **outNameBlob)
SLANG_API void spSetDefaultModuleName(SlangCompileRequest *request, const char *defaultModuleName)
SLANG_API void spAddPreprocessorDefine(SlangCompileRequest *request, const char *key, const char *value)
SLANG_API unsigned int spReflectionFunction_GetUserAttributeCount(SlangReflectionFunction *func)
SLANG_API char const * spGetTranslationUnitSource(SlangCompileRequest *request, int translationUnitIndex)
SLANG_API size_t spReflectionTypeLayout_GetStride(SlangReflectionTypeLayout *type, SlangParameterCategory category)
SLANG_API bool spReflectionVariable_HasDefaultValue(SlangReflectionVariable *inVar)
SLANG_API void spSetTargetUseMinimumSlangOptimization(slang::ICompileRequest *request, int targetIndex, bool val)
SLANG_API SlangReflectionVariableLayout * spReflectionTypeLayout_GetElementVarLayout(SlangReflectionTypeLayout *type)
SLANG_API SlangResult spGetCompileTimeProfile(SlangCompileRequest *request, ISlangProfiler **compileTimeProfile, bool shouldClear)
SLANG_API SlangInt spReflectionTypeLayout_isBindingRangeSpecializable(SlangReflectionTypeLayout *typeLayout, SlangInt index)
SLANG_API SlangDiagnosticFlags spGetDiagnosticFlags(SlangCompileRequest *request)
SLANG_API void spSetLineDirectiveMode(SlangCompileRequest *request, SlangLineDirectiveMode mode)
SLANG_API unsigned spReflectionParameter_GetBindingSpace(SlangReflectionParameter *parameter)
SLANG_API SlangInt spReflectionTypeLayout_findFieldIndexByName(SlangReflectionTypeLayout *typeLayout, const char *nameBegin, const char *nameEnd)
SLANG_API SlangReflectionTypeLayout * spReflection_GetTypeLayout(SlangReflection *reflection, SlangReflectionType *reflectionType, SlangLayoutRules rules)
SLANG_API SlangReflectionUserAttribute * spReflectionFunction_FindUserAttributeByName(SlangReflectionFunction *func, SlangSession *globalSession, char const *name)
SLANG_API SlangReflectionUserAttribute * spReflectionVariable_FindUserAttributeByName(SlangReflectionVariable *var, SlangSession *globalSession, char const *name)
SLANG_API SlangReflectionVariable * spReflectionFunction_GetParameter(SlangReflectionFunction *func, unsigned index)
SLANG_API SlangReflectionTypeParameter * spReflection_FindTypeParameter(SlangReflection *reflection, char const *name)
SLANG_API char const * spGetDependencyFilePath(SlangCompileRequest *request, int index)
SLANG_API int spAddCodeGenTarget(SlangCompileRequest *request, SlangCompileTarget target)
SLANG_API SlangInt spReflectionTypeLayout_getDescriptorSetDescriptorRangeIndexOffset(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex, SlangInt rangeIndex)
SLANG_API bool spReflection_isSubType(SlangReflection *reflection, SlangReflectionType *subType, SlangReflectionType *superType)
SLANG_API SlangReflectionFunction * spReflection_TryResolveOverloadedFunction(SlangReflection *reflection, uint32_t candidateCount, SlangReflectionFunction **candidates)
SLANG_API SlangInt spReflectionTypeLayout_getDescriptorSetDescriptorRangeCount(SlangReflectionTypeLayout *typeLayout, SlangInt setIndex)
SLANG_API SlangReflectionDecl * spReflectionFunction_asDecl(SlangReflectionFunction *func)
SLANG_API SlangImageFormat spReflectionVariableLayout_GetImageFormat(SlangReflectionVariableLayout *var)
SLANG_API char const * spGetDiagnosticOutput(SlangCompileRequest *request)
SLANG_API unsigned int spReflectionVariable_GetUserAttributeCount(SlangReflectionVariable *var)
struct SlangReflectionGeneric SlangReflectionGeneric
Definition slang.h:1951
SlangSeverity
Definition slang.h:577
int32_t SlangInt
Definition slang.h:559
struct SlangReflectionModifier SlangReflectionModifier
Definition slang.h:1942
int SlangDiagnosticFlags
Definition slang.h:588
SlangResourceShape
Definition slang.h:2044
unsigned int SlangTargetFlags
Flags to control code generation behavior of a compilation target
Definition slang.h:733
uint32_t SlangUInt32
Definition slang.h:542
struct SlangReflectionFunction SlangReflectionFunction
Definition slang.h:1950
struct SlangReflectionVariableLayout SlangReflectionVariableLayout
Definition slang.h:1946
slang::IGlobalSession SlangSession
An instance of the Slang library.
Definition slang.h:1899
SlangLayoutRules
Definition slang.h:2251
SlangReflectionVariableLayout SlangReflectionParameter
Definition slang.h:2287
SlangPassThrough
Definition slang.h:677
SlangEntryPointLayout SlangReflectionEntryPoint
Definition slang.h:1971
SlangProfileID
Definition slang.h:816
SlangParameterCategory
Definition slang.h:2095
SlangContainerFormat
Definition slang.h:666
#define SLANG_API
Definition slang.h:255
SlangDeclKind
Definition slang.h:2029
SlangResourceAccess
Definition slang.h:2081
SlangLineDirectiveMode
Definition slang.h:786
struct slang::ICompileRequest SlangCompileRequest
A request for one or more compilation actions to be performed.
Definition slang.h:1907
SlangImageFormat
Definition slang.h:2276
SlangReflectionGenericArgType
Definition slang.h:1961
struct SlangReflectionUserAttribute SlangReflectionUserAttribute
Definition slang.h:1948
void(* SlangDiagnosticCallback)(char const *message, void *userData)
Callback type used for diagnostic output.
Definition slang.h:1913
SlangSourceLanguage
Definition slang.h:799
struct SlangReflectionTypeParameter SlangReflectionTypeParameter
Definition slang.h:1947
SlangCapabilityID
Definition slang.h:823
SlangMatrixLayoutMode
Definition slang.h:829
SlangDebugInfoLevel
Definition slang.h:889
struct SlangReflectionDecl SlangReflectionDecl
Definition slang.h:1941
SlangBindingType
Definition slang.h:2216
uint32_t SlangUInt
Definition slang.h:560
SlangStage
Definition slang.h:837
SlangCompileTarget
Definition slang.h:615
SlangOptimizationLevel
Definition slang.h:918
struct SlangReflectionType SlangReflectionType
Definition slang.h:1943
struct SlangReflectionVariable SlangReflectionVariable
Definition slang.h:1945
SlangFloatingPointMode
Definition slang.h:764
SlangScalarType
Definition slang.h:2004
struct SlangReflectionTypeLayout SlangReflectionTypeLayout
Definition slang.h:1944
SlangTypeKind
Definition slang.h:1977
SlangDebugInfoFormat
Definition slang.h:902
unsigned int SlangCompileFlags
Definition slang.h:712
SlangWriterChannel
Definition slang.h:1818
SlangProgramLayout SlangReflection
Definition slang.h:1970
SlangModifierID
Definition slang.h:2260
Definition slang-cpp-prelude.h:303