pub fn resolve_push_const<S: AsRef<Sym>>(&self, sym: S) -> Option<PushConstantResolution> {
        let mut segs = sym.as_ref().segs();
        match segs.next() {
            Some(Seg::Empty) => {
                // Symbols started with an empty head, like ".modelView", is
                // used to identify push constants.
            },
            Some(Seg::Name(name)) => {
                if let Some(ResourceLocator::PushConstant) = self.var_name_map.get(name) {
                } else { return None; }
            },
            _ => return None,
        };
        let ty = self.push_const_ty.as_ref()?;
        let rem_sym = segs.remaining();
        let member_var_res = ty.resolve(rem_sym);
        let push_const_res = PushConstantResolution { ty, member_var_res };
        Some(push_const_res)
    }
/// Get the metadata of a descriptor variable identified by a symbol. If the
/// exact variable cannot be resolved, the descriptor part of the resolution
/// will still be returned, if possible.
Get the metadata of a descriptor variable identified by a symbol. If the
exact variable cannot be resolved, the descriptor part of the resolution
will still be returned, if possible.
Get the metadata of a descriptor variable identified by a symbol . If the exact variable cannot be resolved the descriptor part of the resolution will still be returned if possible .
pub fn resolve_push_const<S: AsRef<Sym>>(&self, sym: S) -> Option<PushConstantResolution> {
        let mut segs = sym.as_ref().segs();
        match segs.next() {
            Some(Seg::Empty) => {
                // Symbols started with an empty head, like ".modelView", is
                // used to identify push constants.
            },
            Some(Seg::Name(name)) => {
                if let Some(ResourceLocator::PushConstant) = self.var_name_map.get(name) {
                } else { return None; }
            },
            _ => return None,
        };
        let ty = self.push_const_ty.as_ref()?;
        let rem_sym = segs.remaining();
        let member_var_res = ty.resolve(rem_sym);
        let push_const_res = PushConstantResolution { ty, member_var_res };
        Some(push_const_res)
    }
pub fn resolve_push_const < S : AsRef < Sym > > ( & self , sym : S ) -> Option < PushConstantResolution > { let mut segs = sym . as_ref ( ) . segs ( ) ; match segs . next ( ) { Some ( Seg :: Empty ) => { // Symbols started with an empty head, like ".modelView", is // used to identify push constants. } , Some ( Seg :: Name ( name ) ) => { if let Some ( ResourceLocator :: PushConstant ) = self . var_name_map . get ( name ) { } else { return None ; } } , _ => return None , } ; let ty = self . push_const_ty . as_ref ( ) ? ; let rem_sym = segs . remaining ( ) ; let member_var_res = ty . resolve ( rem_sym ) ; let push_const_res = PushConstantResolution { ty , member_var_res } ; Some ( push_const_res ) }
Get the metadata of a descriptor variable identified by a symbol.
Get the metadata of a descriptor variable identified by a symbol .
&self
sym
S
&self
sym
S