Enum shaderc::ShaderKind[][src]

#[repr(C)]pub enum ShaderKind {
    Vertex,
    Fragment,
    Compute,
    Geometry,
    TessControl,
    TessEvaluation,
    InferFromSource,
    DefaultVertex,
    DefaultFragment,
    DefaultCompute,
    DefaultGeometry,
    DefaultTessControl,
    DefaultTessEvaluation,
    SpirvAssembly,
    RayGeneration,
    AnyHit,
    ClosestHit,
    Miss,
    Intersection,
    Callable,
    DefaultRayGeneration,
    DefaultAnyHit,
    DefaultClosestHit,
    DefaultMiss,
    DefaultIntersection,
    DefaultCallable,
    Task,
    Mesh,
    DefaultTask,
    DefaultMesh,
}

Shader kind.

  • The <stage> enumerants are forced shader kinds, which force the compiler to compile the source code as the specified kind of shader, regardless of #pragma directives in the source code.
  • The Default<stage> enumerants are default shader kinds, which allow the compiler to fall back to compile the source code as the specified kind of shader when #pragma is not found in the source code.

Variants

Vertex
Fragment
Compute
Geometry
TessControl
TessEvaluation
InferFromSource

Deduce the shader kind from #pragma directives in the source code.

Compiler will emit error if #pragma annotation is not found.

DefaultVertex
DefaultFragment
DefaultCompute
DefaultGeometry
DefaultTessControl
DefaultTessEvaluation
SpirvAssembly
RayGeneration
AnyHit
ClosestHit
Miss
Intersection
Callable
DefaultRayGeneration
DefaultAnyHit
DefaultClosestHit
DefaultMiss
DefaultIntersection
DefaultCallable
Task
Mesh
DefaultTask
DefaultMesh

Trait Implementations

impl Clone for ShaderKind[src]

impl Copy for ShaderKind[src]

impl Debug for ShaderKind[src]

impl Eq for ShaderKind[src]

impl PartialEq<ShaderKind> for ShaderKind[src]

impl StructuralEq for ShaderKind[src]

impl StructuralPartialEq for ShaderKind[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.