Merge pull request #3760 from lioncash/vs

pch: Update Visual Studio version check
This commit is contained in:
shuffle2
2016-04-03 17:14:45 -07:00
5 changed files with 33 additions and 7 deletions

View File

@ -12,6 +12,32 @@
namespace MathUtil
{
template <typename T>
constexpr T SNANConstant()
{
return std::numeric_limits<T>::signaling_NaN();
}
#ifdef _MSC_VER
// MSVC needs a workaround, because its std::numeric_limits<double>::signaling_NaN()
// will use __builtin_nans, which is improperly handled by the compiler and generates
// a bad constant. Here we go back to the version MSVC used before the builtin.
// TODO: Remove this and use numeric_limits directly whenever this bug is fixed.
template <>
constexpr double SNANConstant()
{
return (_CSTD _Snan._Double);
}
template <>
constexpr float SNANConstant()
{
return (_CSTD _Snan._Float);
}
#endif
template<class T>
constexpr T Clamp(const T val, const T& min, const T& max)
{

View File

@ -1030,7 +1030,7 @@ void Renderer::ApplyState(bool bUseDstAlpha)
for (unsigned int stage = 0; stage < 8; stage++)
{
// TODO: cache SamplerState directly, not d3d object
gx_state.sampler[stage].max_anisotropy = 1 << g_ActiveConfig.iMaxAnisotropy;
gx_state.sampler[stage].max_anisotropy = UINT64_C(1) << g_ActiveConfig.iMaxAnisotropy;
D3D::stateman->SetSampler(stage, gx_state_cache.Get(gx_state.sampler[stage]));
}