use crate::{render_passes::shader_cache_key::ShaderCacheKeyRenderPass, shaders::ShaderCacheKey};
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub struct DynamicVertexShaderInfo {
pub shader_includes: awsm_materials::ShaderIncludes,
pub struct_decl: String,
pub loader_decl: String,
pub wgsl_vertex: String,
}
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub struct ShaderCacheKeyGeometry {
pub instancing_transforms: bool,
pub meta_storage_array: bool,
pub msaa_samples: Option<u32>,
pub dynamic_vertex_shader: Option<DynamicVertexShaderInfo>,
}
impl From<ShaderCacheKeyGeometry> for ShaderCacheKey {
fn from(key: ShaderCacheKeyGeometry) -> Self {
ShaderCacheKey::RenderPass(ShaderCacheKeyRenderPass::Geometry(key))
}
}