[][src]Crate slang_sys

Structs

ISlangBlob

A "blob" of binary data.

ISlangFileSystem

A (real or virtual) file system.

ISlangFileSystemExt

An extended file system abstraction.

ISlangSharedLibrary

An interface that can be used to encapsulate access to a shared library. An implementaion does not have to implement the library as a shared library.

ISlangSharedLibraryLoader
ISlangUnknown

Base interface for components exchanged through the API.

ISlangUnknown__bindgen_vtable
ISlangWriter

A stream typically of text, used for outputting diagnostic as well as other information.

SlangCompileRequest
SlangLinkage
SlangModule
SlangReflection
SlangReflectionEntryPoint
SlangReflectionModifier
SlangReflectionType
SlangReflectionTypeLayout
SlangReflectionTypeParameter
SlangReflectionUserAttribute
SlangReflectionVariable
SlangReflectionVariableLayout
SlangSession
SlangUUID

A "Universally Unique Identifier" (UUID)

_GUID

Constants

SLANG_ACCELERATION_STRUCTURE
SLANG_ANDROID
SLANG_BYTE_ADDRESS_BUFFER
SLANG_CLANG
SLANG_COMPILE_FLAG_NO_CHECKING
SLANG_COMPILE_FLAG_NO_CODEGEN
SLANG_COMPILE_FLAG_NO_MANGLING
SLANG_COMPILE_FLAG_SPLIT_MIXED_TYPES
SLANG_CONTAINER_FORMAT_NONE
SLANG_CONTAINER_FORMAT_SLANG_MODULE
SLANG_DEBUG_INFO_LEVEL_MAXIMAL

< Emit as much debug infromation as possible for each target.

SLANG_DEBUG_INFO_LEVEL_MINIMAL

< Emit as little debug information as possible, while still supporting stack trackes.

SLANG_DEBUG_INFO_LEVEL_NONE

< Don't emit debug information at all.

SLANG_DEBUG_INFO_LEVEL_STANDARD

< Emit whatever is the standard level of debug information for each target.

SLANG_DXBC
SLANG_DXBC_ASM
SLANG_DXIL
SLANG_DXIL_ASM
SLANG_ERROR_INSUFFICIENT_BUFFER
SLANG_ERROR_INVALID_PARAMETER
SLANG_FACILITY_BASE
SLANG_FACILITY_CORE
SLANG_FACILITY_EXTERNAL_BASE
SLANG_FACILITY_INTERNAL
SLANG_FACILITY_WIN_API
SLANG_FACILITY_WIN_GENERAL
SLANG_FACILITY_WIN_INTERFACE
SLANG_FLOATING_POINT_MODE_DEFAULT
SLANG_FLOATING_POINT_MODE_FAST
SLANG_FLOATING_POINT_MODE_PRECISE
SLANG_GCC
SLANG_GHS
SLANG_GLSL
SLANG_GLSL_VULKAN
SLANG_GLSL_VULKAN_ONE_DESC
SLANG_HAS_ENUM_CLASS
SLANG_HAS_MOVE_SEMANTICS
SLANG_HLSL
SLANG_IOS
SLANG_LAYOUT_RULES_DEFAULT
SLANG_LINE_DIRECTIVE_MODE_DEFAULT

< Default behavior: pick behavior base on target.

SLANG_LINE_DIRECTIVE_MODE_GLSL

< Emit GLSL-style directives with file number instead of name

SLANG_LINE_DIRECTIVE_MODE_NONE

< Don't emit line directives at all.

SLANG_LINE_DIRECTIVE_MODE_STANDARD

< Emit standard C-style #line directives.

SLANG_LINUX
SLANG_MATRIX_LAYOUT_COLUMN_MAJOR
SLANG_MATRIX_LAYOUT_MODE_UNKNOWN
SLANG_MATRIX_LAYOUT_ROW_MAJOR
SLANG_MODIFIER_SHARED
SLANG_NON_BINDABLE
SLANG_OK
SLANG_OPTIMIZATION_LEVEL_DEFAULT

< Default optimization level: balance code quality and compilation time.

SLANG_OPTIMIZATION_LEVEL_HIGH

< Optimize aggressively.

SLANG_OPTIMIZATION_LEVEL_MAXIMAL

< Include optimizations that may take a very long time, or may involve severe space-vs-speed tradeoffs

SLANG_OPTIMIZATION_LEVEL_NONE

< Don't optimize at all.

SLANG_OSX
SLANG_PARAMETER_CATEGORY_CALLABLE_PAYLOAD
SLANG_PARAMETER_CATEGORY_CONSTANT_BUFFER
SLANG_PARAMETER_CATEGORY_COUNT
SLANG_PARAMETER_CATEGORY_DESCRIPTOR_TABLE_SLOT
SLANG_PARAMETER_CATEGORY_EXISTENTIAL_OBJECT_PARAM
SLANG_PARAMETER_CATEGORY_EXISTENTIAL_TYPE_PARAM
SLANG_PARAMETER_CATEGORY_FRAGMENT_OUTPUT
SLANG_PARAMETER_CATEGORY_GENERIC
SLANG_PARAMETER_CATEGORY_HIT_ATTRIBUTES
SLANG_PARAMETER_CATEGORY_MIXED
SLANG_PARAMETER_CATEGORY_NONE
SLANG_PARAMETER_CATEGORY_PUSH_CONSTANT_BUFFER
SLANG_PARAMETER_CATEGORY_RAY_PAYLOAD
SLANG_PARAMETER_CATEGORY_REGISTER_SPACE
SLANG_PARAMETER_CATEGORY_SAMPLER_STATE
SLANG_PARAMETER_CATEGORY_SHADER_RECORD
SLANG_PARAMETER_CATEGORY_SHADER_RESOURCE
SLANG_PARAMETER_CATEGORY_SPECIALIZATION_CONSTANT
SLANG_PARAMETER_CATEGORY_UNIFORM
SLANG_PARAMETER_CATEGORY_UNORDERED_ACCESS
SLANG_PARAMETER_CATEGORY_VARYING_INPUT
SLANG_PARAMETER_CATEGORY_VARYING_OUTPUT
SLANG_PARAMETER_CATEGORY_VERTEX_INPUT
SLANG_PASS_THROUGH_DXC
SLANG_PASS_THROUGH_FXC
SLANG_PASS_THROUGH_GLSLANG
SLANG_PASS_THROUGH_NONE
SLANG_PATH_TYPE_DIRECTORY

< Path specified specifies a directory.

SLANG_PATH_TYPE_FILE

< Path specified is to a file.

SLANG_PROFILE_UNKNOWN
SLANG_PS3
SLANG_PS4
SLANG_PSP2
SLANG_RESOURCE_ACCESS_APPEND
SLANG_RESOURCE_ACCESS_CONSUME
SLANG_RESOURCE_ACCESS_NONE
SLANG_RESOURCE_ACCESS_RASTER_ORDERED
SLANG_RESOURCE_ACCESS_READ
SLANG_RESOURCE_ACCESS_READ_WRITE
SLANG_RESOURCE_BASE_SHAPE_MASK
SLANG_RESOURCE_EXT_SHAPE_MASK
SLANG_RESOURCE_NONE
SLANG_RESOURCE_UNKNOWN
SLANG_SAMPLER
SLANG_SCALAR_TYPE_BOOL
SLANG_SCALAR_TYPE_FLOAT16
SLANG_SCALAR_TYPE_FLOAT32
SLANG_SCALAR_TYPE_FLOAT64
SLANG_SCALAR_TYPE_INT8
SLANG_SCALAR_TYPE_INT16
SLANG_SCALAR_TYPE_INT32
SLANG_SCALAR_TYPE_INT64
SLANG_SCALAR_TYPE_NONE
SLANG_SCALAR_TYPE_UINT8
SLANG_SCALAR_TYPE_UINT16
SLANG_SCALAR_TYPE_UINT32
SLANG_SCALAR_TYPE_UINT64
SLANG_SCALAR_TYPE_VOID
SLANG_SEVERITY_ERROR

< An error, indicating that compilation failed.

SLANG_SEVERITY_FATAL

< An unrecoverable error, which forced compilation to abort.

SLANG_SEVERITY_INTERNAL

< An internal error, indicating a logic error in the compiler.

SLANG_SEVERITY_NOTE

< An informative message.

SLANG_SEVERITY_WARNING

< A warning, which indicates a possible proble.

SLANG_SNC
SLANG_SOURCE_LANGUAGE_GLSL
SLANG_SOURCE_LANGUAGE_HLSL
SLANG_SOURCE_LANGUAGE_SLANG
SLANG_SOURCE_LANGUAGE_UNKNOWN
SLANG_SPIRV
SLANG_SPIRV_ASM
SLANG_STAGE_ANY_HIT
SLANG_STAGE_CALLABLE
SLANG_STAGE_CLOSEST_HIT
SLANG_STAGE_COMPUTE
SLANG_STAGE_DOMAIN
SLANG_STAGE_FRAGMENT
SLANG_STAGE_GEOMETRY
SLANG_STAGE_HULL
SLANG_STAGE_INTERSECTION
SLANG_STAGE_MISS
SLANG_STAGE_NONE
SLANG_STAGE_PIXEL
SLANG_STAGE_RAY_GENERATION
SLANG_STAGE_VERTEX
SLANG_STORAGE_BUFFER
SLANG_STRUCTURED_BUFFER
SLANG_TARGET_FLAG_PARAMETER_BLOCKS_USE_REGISTER_SPACES
SLANG_TARGET_NONE
SLANG_TARGET_UNKNOWN
SLANG_TEXTURE
SLANG_TEXTURE_1D
SLANG_TEXTURE_1D_ARRAY
SLANG_TEXTURE_2D
SLANG_TEXTURE_2D_ARRAY
SLANG_TEXTURE_2D_MULTISAMPLE
SLANG_TEXTURE_2D_MULTISAMPLE_ARRAY
SLANG_TEXTURE_3D
SLANG_TEXTURE_ARRAY_FLAG
SLANG_TEXTURE_BUFFER
SLANG_TEXTURE_CUBE
SLANG_TEXTURE_CUBE_ARRAY
SLANG_TEXTURE_MULTISAMPLE_FLAG
SLANG_TYPE_KIND_ARRAY
SLANG_TYPE_KIND_CONSTANT_BUFFER
SLANG_TYPE_KIND_COUNT
SLANG_TYPE_KIND_GENERIC_TYPE_PARAMETER
SLANG_TYPE_KIND_INTERFACE
SLANG_TYPE_KIND_MATRIX
SLANG_TYPE_KIND_NONE
SLANG_TYPE_KIND_OUTPUT_STREAM
SLANG_TYPE_KIND_PARAMETER_BLOCK
SLANG_TYPE_KIND_RESOURCE
SLANG_TYPE_KIND_SAMPLER_STATE
SLANG_TYPE_KIND_SCALAR
SLANG_TYPE_KIND_SHADER_STORAGE_BUFFER
SLANG_TYPE_KIND_STRUCT
SLANG_TYPE_KIND_TEXTURE_BUFFER
SLANG_TYPE_KIND_VECTOR
SLANG_UNIFORM_BUFFER
SLANG_VC
SLANG_WIIU
SLANG_WIN32
SLANG_WIN64
SLANG_WINRT
SLANG_WRITER_CHANNEL_COUNT_OF
SLANG_WRITER_CHANNEL_DIAGNOSTIC
SLANG_WRITER_CHANNEL_STD_ERROR
SLANG_WRITER_CHANNEL_STD_OUTPUT
SLANG_WRITER_MODE_BINARY
SLANG_WRITER_MODE_TEXT
SLANG_X360
SLANG_XBOXONE

Functions

spAddBuiltins

@brief Add new builtin declarations to be used in subsequent compiles.

spAddCodeGenTarget

@brief Add a code-generation target to be used.

spAddEntryPoint

Add an entry point in a particular translation unit

spAddEntryPointEx

Add an entry point in a particular translation unit, with additional arguments that specify the concrete type names for entry-point generic type parameters.

spAddPreprocessorDefine

@brief Add a macro definition to be used during preprocessing. @param key The name of the macro to define. @param value The value of the macro to define.

spAddSearchPath

@brief Add a path to use when searching for referenced files. This will be used for both #include directives and also for explicit __import declarations. @param ctx The compilation context. @param searchDir The additional search directory.

spAddTranslationUnit

Add a distinct translation unit to the compilation request

spAddTranslationUnitSourceBlob

Add a blob of source code to the given translation unit.

spAddTranslationUnitSourceFile

Add a source file to the given translation unit.

spAddTranslationUnitSourceString

Add a source string to the given translation unit.

spAddTranslationUnitSourceStringSpan

Add a source string to the given translation unit.

spCompile

Execute the compilation request.

spCreateCompileRequest

@brief Create a compile request.

spCreateLinkage
spCreateSession

@brief Initialize an instance of the Slang library.

spDestroyCompileRequest

@brief Destroy a compile request.

spDestroyLinkage
spDestroySession

@brief Clean up after an instance of the Slang library.

spFindProfile

Look up a compilation profile by name.

spGetCompileRequestCode

Get the output bytecode associated with an entire compile request.

spGetDependencyFileCount

Get the number of files that this compilation depended on.

spGetDependencyFilePath

Get the path to a file this compilation depended on.

spGetDiagnosticOutput

Get any diagnostic messages reported by the compiler.

spGetDiagnosticOutputBlob

Get diagnostic messages reported by the compiler.

spGetEntryPointCode

Get the output bytecode associated with a specific entry point.

spGetEntryPointCodeBlob

Get the output code associated with a specific entry point.

spGetEntryPointSource

Get the output source code associated with a specific entry point.

spGetReflection
spGetTranslationUnitCount

Get the number of translation units associated with the compilation request

spGetTranslationUnitSource
spGetWriter
spLoadModule
spProcessCommandLineArguments

@brief Set options using arguments as if specified via command line. @return Returns SlangResult. On success SLANG_SUCCEEDED(result) is true.

spReflectionEntryPoint_getComputeThreadGroupSize
spReflectionEntryPoint_getName
spReflectionEntryPoint_getParameterByIndex
spReflectionEntryPoint_getParameterCount
spReflectionEntryPoint_getStage
spReflectionEntryPoint_usesAnySampleRateInput
spReflectionParameter_GetBindingIndex
spReflectionParameter_GetBindingSpace
spReflectionTypeLayout_GetCategoryByIndex
spReflectionTypeLayout_GetCategoryCount
spReflectionTypeLayout_GetElementStride
spReflectionTypeLayout_GetElementTypeLayout
spReflectionTypeLayout_GetElementVarLayout
spReflectionTypeLayout_GetFieldByIndex
spReflectionTypeLayout_GetMatrixLayoutMode
spReflectionTypeLayout_GetParameterCategory
spReflectionTypeLayout_GetSize
spReflectionTypeLayout_GetType
spReflectionTypeLayout_getGenericParamIndex
spReflectionTypeParameter_GetConstraintByIndex
spReflectionTypeParameter_GetConstraintCount
spReflectionTypeParameter_GetIndex
spReflectionTypeParameter_GetName
spReflectionType_FindUserAttributeByName
spReflectionType_GetColumnCount
spReflectionType_GetElementCount

Returns the number of elements in the given type.

spReflectionType_GetElementType
spReflectionType_GetFieldByIndex
spReflectionType_GetFieldCount
spReflectionType_GetKind
spReflectionType_GetName
spReflectionType_GetResourceAccess
spReflectionType_GetResourceResultType
spReflectionType_GetResourceShape
spReflectionType_GetRowCount
spReflectionType_GetScalarType
spReflectionType_GetUserAttribute
spReflectionType_GetUserAttributeCount
spReflectionUserAttribute_GetArgumentCount
spReflectionUserAttribute_GetArgumentType
spReflectionUserAttribute_GetArgumentValueFloat
spReflectionUserAttribute_GetArgumentValueInt
spReflectionUserAttribute_GetArgumentValueString

Returns the string-typed value of a user attribute argument The string returned is not null-terminated. The length of the string is returned via outSize. If index of out of range, or if the specified argument is not a string, the function will return nullptr.

spReflectionUserAttribute_GetName
spReflectionVariableLayout_GetOffset
spReflectionVariableLayout_GetSemanticIndex
spReflectionVariableLayout_GetSemanticName
spReflectionVariableLayout_GetSpace
spReflectionVariableLayout_GetTypeLayout
spReflectionVariableLayout_GetVariable
spReflectionVariableLayout_getStage

Get the stage that a variable belongs to (if any).

spReflectionVariable_FindModifier
spReflectionVariable_FindUserAttributeByName
spReflectionVariable_GetName
spReflectionVariable_GetType
spReflectionVariable_GetUserAttribute
spReflectionVariable_GetUserAttributeCount
spReflection_FindTypeByName
spReflection_FindTypeParameter
spReflection_GetParameterByIndex
spReflection_GetParameterCount
spReflection_GetTypeLayout
spReflection_GetTypeParameterByIndex
spReflection_GetTypeParameterCount
spReflection_findEntryPointByName
spReflection_getEntryPointByIndex
spReflection_getEntryPointCount
spReflection_getGlobalConstantBufferBinding
spReflection_getGlobalConstantBufferSize
spSessionCheckCompileTargetSupport

@brief Returns SLANG_OK if a the compilation target is supported for this session @param session Session @param target The compilation target to test @return SLANG_OK if the target is available SLANG_E_NOT_IMPLEMENTED if not implemented in this build SLANG_E_NOT_FOUND if other resources (such as shared libraries) required to make target work could not be found SLANG_FAIL other kinds of failures

spSessionCheckPassThroughSupport

@brief Returns SLANG_OK if a the pass through support is supported for this session @param session Session @param target The compilation target to test @return SLANG_OK if the target is available SLANG_E_NOT_IMPLEMENTED if not implemented in this build SLANG_E_NOT_FOUND if other resources (such as shared libraries) required to make target work could not be found SLANG_FAIL other kinds of failures

spSessionGetSharedLibraryLoader

@brief Gets the currently set shared library loader @param session Session to get the loader from @return Gets the currently set loader. If returns nullptr, it's the default loader

spSessionSetSharedLibraryLoader

@brief Set the session shared library loader. If this changes the loader, it may cause shared libraries to be unloaded @param session Session to set the loader on @param loader The loader to set. Setting nullptr sets the default loader.

spSetCodeGenTarget

@brief Sets the target for code generation. @param request The compilation context. @param target The code generation target. Possible values are:

spSetCompileFlags

@brief Set flags to be used for compilation.

spSetDebugInfoLevel

@brief Set the level of debug information to produce.

spSetDiagnosticCallback
spSetDumpIntermediates

@brief Set whether to dump intermediate results (for debugging) or not.

spSetFileSystem

Set the filesystem hook to use for a compile request

spSetGlobalGenericArgs

Specify the arguments to use for global generic parameters.

spSetLineDirectiveMode

@brief Set whether (and how) #line directives should be output.

spSetMatrixLayoutMode
spSetOptimizationLevel

@brief Set the level of optimization to perform.

spSetOutputContainerFormat

@brief Set the container format to be used for binary output.

spSetPassThrough
spSetTargetFlags
spSetTargetFloatingPointMode

@brief Set the floating point mode (e.g., precise or fast) to use a target.

spSetTargetMatrixLayoutMode
spSetTargetProfile
spSetTypeNameForEntryPointExistentialTypeParam

Specify the concrete type to be used for an entry-point "existential slot."

spSetTypeNameForGlobalExistentialTypeParam

Specify the concrete type to be used for a global "existential slot."

spSetWriter
spTranslationUnit_addPreprocessorDefine

Add a preprocessor definition that is scoped to a single translation unit.

Type Definitions

SlangBindableResourceType
SlangBool
SlangCompileFlags

Flags to control compilation behavior.

SlangCompileTarget
SlangContainerFormat
SlangDebugInfoLevel
SlangDiagnosticCallback
SlangFloatingPointMode

@brief Options to control floating-point precision guarantees for a target.

SlangFuncPtr
SlangInt
SlangLayoutRules
SlangLineDirectiveMode

@brief Options to control emission of #line directives

SlangMatrixLayoutMode
SlangModifierID
SlangOptimizationLevel
SlangParameterCategory
SlangPassThrough
SlangPathType
SlangProfileID
SlangReflectionParameter
SlangResourceAccess
SlangResourceShape
SlangResult

A result code for a Slang API operation.

SlangScalarType
SlangSeverity

@brief Severity of a diagnostic generated by the compiler. Values come from the enum below, with higher values representing more severe conditions, and all values >= SLANG_SEVERITY_ERROR indicating compilation failure.

SlangSourceLanguage
SlangStage
SlangTargetFlags

@brief Flags to control code generation behavior of a compilation target

SlangTypeKind
SlangUInt
SlangUInt32

@mainpage Introduction

SlangWriterChannel
SlangWriterMode
__int32_t
__uint8_t
__uint16_t
__uint32_t
_bindgen_ty_1
_bindgen_ty_2
_bindgen_ty_3
_bindgen_ty_4
_bindgen_ty_5
_bindgen_ty_6
_bindgen_ty_7
_bindgen_ty_8
_bindgen_ty_9
_bindgen_ty_10
_bindgen_ty_11
_bindgen_ty_12
_bindgen_ty_13
_bindgen_ty_14
_bindgen_ty_15
_bindgen_ty_16
_bindgen_ty_17
_bindgen_ty_18
_bindgen_ty_19
_bindgen_ty_20
_bindgen_ty_21
_bindgen_ty_22
_bindgen_ty_23
_bindgen_ty_24
_bindgen_ty_25