| 3961 | } |
| 3962 | |
| 3963 | FramesNeededMap |
| 3964 | EffectInstance::getFramesNeeded_public(U64 hash, |
| 3965 | double time, |
| 3966 | ViewIdx view, |
| 3967 | unsigned int mipMapLevel) |
| 3968 | { |
| 3969 | NON_RECURSIVE_ACTION(); |
| 3970 | FramesNeededMap framesNeeded; |
| 3971 | bool foundInCache = _imp->actionsCache->getFramesNeededResult(hash, time, view, mipMapLevel, &framesNeeded); |
| 3972 | if (foundInCache) { |
| 3973 | return framesNeeded; |
| 3974 | } |
| 3975 | |
| 3976 | try { |
| 3977 | framesNeeded = getFramesNeeded(time, view); |
| 3978 | } catch (std::exception &e) { |
| 3979 | if ( !hasPersistentMessage() ) { // plugin may already have set a message |
| 3980 | setPersistentMessage( eMessageTypeError, e.what() ); |
| 3981 | } |
| 3982 | } |
| 3983 | |
| 3984 | _imp->actionsCache->setFramesNeededResult(hash, time, view, mipMapLevel, framesNeeded); |
| 3985 | |
| 3986 | return framesNeeded; |
| 3987 | } |
| 3988 | |
| 3989 | void |
| 3990 | EffectInstance::getFrameRange_public(U64 hash, |
no test coverage detected