Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    EffectCompilerCache Class

    Namespace: Stride.Shaders.Compiler
    Assembly: Stride.Shaders.dll

    Checks if an effect has already been compiled in its cache before deferring to a real IEffectCompiler.

    System.Object → DisposeBase → EffectCompilerBase → EffectCompilerChain → EffectCompilerCache
    Derived from EffectCompilerCache:

    [DataSerializerGlobal(null, typeof(KeyValuePair<HashSourceCollection, EffectBytecode>), DataSerializerGenericMode.None, false, false)]
    public class EffectCompilerCache : EffectCompilerChain, IReferencable, IEffectCompiler, IDisposable
    Name Description
    Constructors
    EffectCompilerCache(EffectCompilerBase, DatabaseFileProvider, TaskSchedulerSelector)
    Properties
    CompileEffectAsynchronously
    CurrentCache

    If we have to compile a new shader, what kind of cache are we building?

    Methods
    Compile(ShaderMixinSource, EffectCompilerParameters, CompilerParameters)
    ResetCache(HashSet<String>)
    | Improve this Doc View Source

    Constructors


    EffectCompilerCache(EffectCompilerBase, DatabaseFileProvider, TaskSchedulerSelector)

    public EffectCompilerCache(EffectCompilerBase compiler, DatabaseFileProvider database, TaskSchedulerSelector taskSchedulerSelector = null)
    Parameters
    Type Name Description
    EffectCompilerBase compiler
    DatabaseFileProvider database
    TaskSchedulerSelector taskSchedulerSelector
    | Improve this Doc View Source

    Properties


    CompileEffectAsynchronously

    public bool CompileEffectAsynchronously { get; set; }
    Property Value
    Type Description
    System.Boolean

    CurrentCache

    If we have to compile a new shader, what kind of cache are we building?

    public EffectBytecodeCacheLoadSource CurrentCache { get; set; }
    Property Value
    Type Description
    EffectBytecodeCacheLoadSource
    | Improve this Doc View Source

    Methods


    Compile(ShaderMixinSource, EffectCompilerParameters, CompilerParameters)

    public override TaskOrResult<EffectBytecodeCompilerResult> Compile(ShaderMixinSource mixin, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters)
    Parameters
    Type Name Description
    ShaderMixinSource mixin
    EffectCompilerParameters effectParameters
    CompilerParameters compilerParameters
    Returns
    Type Description
    TaskOrResult<EffectBytecodeCompilerResult>
    Overrides
    EffectCompilerChain.Compile(ShaderMixinSource, EffectCompilerParameters, CompilerParameters)

    ResetCache(HashSet<String>)

    public override void ResetCache(HashSet<string> modifiedShaders)
    Parameters
    Type Name Description
    System.Collections.Generic.HashSet<System.String> modifiedShaders
    Overrides
    EffectCompilerChain.ResetCache(HashSet<String>)

    Inherited Members

    EffectCompilerChain.Compiler
    EffectCompilerChain.FileProvider
    EffectCompilerChain.Destroy()
    EffectCompilerChain.GetShaderSourceHash(String)
    EffectCompilerBase.Compile(ShaderSource, CompilerParameters)
    EffectCompilerBase.DefaultSourceShaderFolder
    EffectCompilerBase.GetStoragePathFromShaderType(String)
    DisposeBase.Dispose()
    DisposeBase.IsDisposed
    DisposeBase.IReferencable.ReferenceCount
    DisposeBase.IReferencable.AddReference()
    DisposeBase.IReferencable.Release()
    DisposeBase.OnAddReference()
    DisposeBase.OnReleaseReference()

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation