use crate::{
dynamic_materials::BucketEntry, render_passes::shader_cache_key::ShaderCacheKeyRenderPass,
shaders::ShaderCacheKey,
};
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub struct ShaderCacheKeyMaterialClassify {
pub msaa_sample_count: Option<u32>,
pub bucket_entries: Vec<BucketEntry>,
pub emit_edge_data: bool,
}
impl ShaderCacheKeyMaterialClassify {
pub fn bucket_count(&self) -> u32 {
self.bucket_entries.len() as u32
}
}
impl From<ShaderCacheKeyMaterialClassify> for ShaderCacheKey {
fn from(key: ShaderCacheKeyMaterialClassify) -> Self {
ShaderCacheKey::RenderPass(ShaderCacheKeyRenderPass::MaterialClassify(key))
}
}