diff options
Diffstat (limited to 'external/include/glm/detail/precision.hpp')
-rw-r--r-- | external/include/glm/detail/precision.hpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/external/include/glm/detail/precision.hpp b/external/include/glm/detail/precision.hpp new file mode 100644 index 0000000..7c54437 --- /dev/null +++ b/external/include/glm/detail/precision.hpp @@ -0,0 +1,63 @@ +/// @ref core +/// @file glm/detail/precision.hpp + +#pragma once + +#include "setup.hpp" + +namespace glm +{ + enum precision + { + packed_highp, + packed_mediump, + packed_lowp, + +# if GLM_HAS_ALIGNED_TYPE + aligned_highp, + aligned_mediump, + aligned_lowp, + aligned = aligned_highp, +# endif + + highp = packed_highp, + mediump = packed_mediump, + lowp = packed_lowp, + packed = packed_highp, + +# if GLM_HAS_ALIGNED_TYPE && defined(GLM_FORCE_ALIGNED) + defaultp = aligned_highp +# else + defaultp = highp +# endif + }; + +namespace detail +{ + template <glm::precision P> + struct is_aligned + { + static const bool value = false; + }; + +# if GLM_HAS_ALIGNED_TYPE + template<> + struct is_aligned<glm::aligned_lowp> + { + static const bool value = true; + }; + + template<> + struct is_aligned<glm::aligned_mediump> + { + static const bool value = true; + }; + + template<> + struct is_aligned<glm::aligned_highp> + { + static const bool value = true; + }; +# endif +}//namespace detail +}//namespace glm |