Nameless Engine
|
#include <HlslShaderCacheManager.h>
Classes | |
struct | GlobalShaderCacheParameterNames |
Public Member Functions | |
HlslShaderCacheManager (const HlslShaderCacheManager &)=delete | |
HlslShaderCacheManager & | operator= (const HlslShaderCacheManager &)=delete |
Public Member Functions inherited from ne::ShaderCacheManager | |
ShaderCacheManager (const ShaderCacheManager &)=delete | |
ShaderCacheManager & | operator= (const ShaderCacheManager &)=delete |
std::optional< Error > | refreshShaderCache () |
Protected Member Functions | |
virtual std::optional< std::string > | isLanguageSpecificGlobalCacheOutdated (const ConfigManager &cacheConfig) override |
virtual std::optional< Error > | writeLanguageSpecificParameters (ConfigManager &cacheConfig) override |
Protected Member Functions inherited from ne::ShaderCacheManager | |
ShaderCacheManager (Renderer *pRenderer) | |
virtual std::optional< std::string > | isLanguageSpecificGlobalCacheOutdated (const ConfigManager &cacheConfig)=0 |
virtual std::optional< Error > | writeLanguageSpecificParameters (ConfigManager &cacheConfig)=0 |
Private Member Functions | |
HlslShaderCacheManager (Renderer *pRenderer) | |
Static Private Attributes | |
static constexpr std::string_view | sHlslSectionName = "hlsl" |
Friends | |
class | ShaderCacheManager |
Responsible for validating HLSL shader cache, reading and updating the cache.
|
private |
Constructs a new manager.
pRenderer | Used renderer. |
|
overrideprotectedvirtual |
Makes sure that the cache was generated using the same parameters as the current renderer's state and that the cache can be safely used. This function checks shader language specific parameters that might have changed.
cacheConfig | Config that stores global cache parameters. |
Implements ne::ShaderCacheManager.
|
overrideprotectedvirtual |
Writes shader language specific parameters that affect shader cache into the specified config.
cacheConfig | Config that stores global cache parameters. |
Implements ne::ShaderCacheManager.
|
staticconstexprprivate |
Name of the section in TOML file where all HLSL parameters are stored.