use crate::render_passes::{
coverage::shader::cache_key::ShaderCacheKeyCoverage,
display::shader::cache_key::ShaderCacheKeyDisplay,
effects::shader::cache_key::ShaderCacheKeyEffects,
geometry::shader::cache_key::ShaderCacheKeyGeometry,
geometry::shader::masked_cache_key::ShaderCacheKeyGeometryMasked,
hzb::shader::cache_key::{ShaderCacheKeyHzbReduce, ShaderCacheKeyHzbSeed},
light_culling::shader::cache_key::ShaderCacheKeyLightCulling,
material_classify::shader::cache_key::ShaderCacheKeyMaterialClassify,
material_decal::classify::shader::cache_key::ShaderCacheKeyDecalClassify,
material_decal::shader::cache_key::ShaderCacheKeyMaterialDecal,
material_opaque::shader::cache_key::ShaderCacheKeyMaterialOpaque,
material_opaque::shader::edge_cache_key::ShaderCacheKeyMaterialFinalBlend,
material_prep::shader::cache_key::ShaderCacheKeyMaterialPrep,
material_transparent::shader::cache_key::ShaderCacheKeyMaterialTransparent,
occlusion::shader::cache_key::{
ShaderCacheKeyOcclusionCompaction, ShaderCacheKeyOcclusionCull,
},
};
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub enum ShaderCacheKeyRenderPass {
Coverage(ShaderCacheKeyCoverage),
Geometry(ShaderCacheKeyGeometry),
GeometryMasked(ShaderCacheKeyGeometryMasked),
HzbSeed(ShaderCacheKeyHzbSeed),
HzbReduce(ShaderCacheKeyHzbReduce),
LightCulling(ShaderCacheKeyLightCulling),
MaterialClassify(ShaderCacheKeyMaterialClassify),
MaterialPrep(ShaderCacheKeyMaterialPrep),
DecalClassify(ShaderCacheKeyDecalClassify),
MaterialDecal(ShaderCacheKeyMaterialDecal),
MaterialOpaque(ShaderCacheKeyMaterialOpaque),
MaterialFinalBlend(ShaderCacheKeyMaterialFinalBlend),
MaterialTransparent(ShaderCacheKeyMaterialTransparent),
OcclusionCull(ShaderCacheKeyOcclusionCull),
OcclusionCompaction(ShaderCacheKeyOcclusionCompaction),
Effects(ShaderCacheKeyEffects),
Display(ShaderCacheKeyDisplay),
}