use awsm_materials::MaterialShaderId;
use crate::{
render_passes::geometry::shader::cache_key::DynamicVertexShaderInfo,
render_passes::shader_cache_key::ShaderCacheKeyRenderPass, shaders::ShaderCacheKey,
};
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub struct ShaderCacheKeyGeometryCustomVertex {
pub shader_id: MaterialShaderId,
pub dynamic_vertex: DynamicVertexShaderInfo,
pub texture_pool_arrays_len: u32,
pub texture_pool_samplers_len: u32,
pub msaa_samples: Option<u32>,
pub instancing_transforms: bool,
pub meta_storage_array: bool,
}
impl From<ShaderCacheKeyGeometryCustomVertex> for ShaderCacheKey {
fn from(key: ShaderCacheKeyGeometryCustomVertex) -> Self {
ShaderCacheKey::RenderPass(ShaderCacheKeyRenderPass::GeometryCustomVertex(key))
}
}