diff --git a/DirectXTex/BC6HBC7.cpp b/DirectXTex/BC6HBC7.cpp index 8bdcd83..27ab6cd 100644 --- a/DirectXTex/BC6HBC7.cpp +++ b/DirectXTex/BC6HBC7.cpp @@ -451,8 +451,8 @@ namespace public: INTColor() = default; - INTColor(int nr, int ng, int nb) { r = nr; g = ng; b = nb; } - INTColor(const INTColor& c) { r = c.r; g = c.g; b = c.b; } + INTColor(int nr, int ng, int nb) : pad(0) { r = nr; g = ng; b = nb; } + INTColor(const INTColor& c) : pad(0) { r = c.r; g = c.g; b = c.b; } INTColor operator - (_In_ const INTColor& c) const { diff --git a/DirectXTex/BCDirectCompute.cpp b/DirectXTex/BCDirectCompute.cpp index e605668..3ade97e 100644 --- a/DirectXTex/BCDirectCompute.cpp +++ b/DirectXTex/BCDirectCompute.cpp @@ -79,10 +79,12 @@ namespace } }; -GPUCompressBC::GPUCompressBC() : +GPUCompressBC::GPUCompressBC() DIRECTX_NOEXCEPT : m_bcformat(DXGI_FORMAT_UNKNOWN), m_srcformat(DXGI_FORMAT_UNKNOWN), m_alphaWeight(1.f), + m_bc7_mode02(false), + m_bc7_mode137(false), m_width(0), m_height(0) { diff --git a/DirectXTex/BCDirectCompute.h b/DirectXTex/BCDirectCompute.h index 5eec569..8048769 100644 --- a/DirectXTex/BCDirectCompute.h +++ b/DirectXTex/BCDirectCompute.h @@ -15,7 +15,7 @@ namespace DirectX class GPUCompressBC { public: - GPUCompressBC(); + GPUCompressBC() DIRECTX_NOEXCEPT; HRESULT Initialize(_In_ ID3D11Device* pDevice); diff --git a/DirectXTex/DirectXTex.h b/DirectXTex/DirectXTex.h index 8884753..13135c4 100644 --- a/DirectXTex/DirectXTex.h +++ b/DirectXTex/DirectXTex.h @@ -35,6 +35,13 @@ struct IWICImagingFactory; struct IWICMetadataQueryReader; +#ifndef DIRECTX_NOEXCEPT +#if defined(_MSC_VER) && (_MSC_VER < 1900) +#define DIRECTX_NOEXCEPT +#else +#define DIRECTX_NOEXCEPT noexcept +#endif +#endif namespace DirectX { @@ -257,13 +264,13 @@ namespace DirectX class ScratchImage { public: - ScratchImage() + ScratchImage() DIRECTX_NOEXCEPT : m_nimages(0), m_size(0), m_metadata{}, m_image(nullptr), m_memory(nullptr) {} - ScratchImage(ScratchImage&& moveFrom) + ScratchImage(ScratchImage&& moveFrom) DIRECTX_NOEXCEPT : m_nimages(0), m_size(0), m_metadata{}, m_image(nullptr), m_memory(nullptr) { *this = std::move(moveFrom); } ~ScratchImage() { Release(); } - ScratchImage& __cdecl operator= (ScratchImage&& moveFrom); + ScratchImage& __cdecl operator= (ScratchImage&& moveFrom) DIRECTX_NOEXCEPT; ScratchImage(const ScratchImage&) = delete; ScratchImage& operator=(const ScratchImage&) = delete; @@ -308,11 +315,11 @@ namespace DirectX class Blob { public: - Blob() : m_buffer(nullptr), m_size(0) {} - Blob(Blob&& moveFrom) : m_buffer(nullptr), m_size(0) { *this = std::move(moveFrom); } + Blob() DIRECTX_NOEXCEPT : m_buffer(nullptr), m_size(0) {} + Blob(Blob&& moveFrom) DIRECTX_NOEXCEPT : m_buffer(nullptr), m_size(0) { *this = std::move(moveFrom); } ~Blob() { Release(); } - Blob& __cdecl operator= (Blob&& moveFrom); + Blob& __cdecl operator= (Blob&& moveFrom) DIRECTX_NOEXCEPT; Blob(const Blob&) = delete; Blob& operator=(const Blob&) = delete; diff --git a/DirectXTex/DirectXTexConvert.cpp b/DirectXTex/DirectXTexConvert.cpp index c26ccd1..dc6c54c 100644 --- a/DirectXTex/DirectXTexConvert.cpp +++ b/DirectXTex/DirectXTexConvert.cpp @@ -4429,7 +4429,7 @@ namespace if (FAILED(hr)) return hr; - hr = FC->Initialize(source.Get(), targetGUID, _GetWICDither(filter), nullptr, threshold * 100.f, WICBitmapPaletteTypeMedianCut); + hr = FC->Initialize(source.Get(), targetGUID, _GetWICDither(filter), nullptr, threshold * 100.0, WICBitmapPaletteTypeMedianCut); if (FAILED(hr)) return hr; diff --git a/DirectXTex/DirectXTexImage.cpp b/DirectXTex/DirectXTexImage.cpp index 72f7e04..c1999ce 100644 --- a/DirectXTex/DirectXTexImage.cpp +++ b/DirectXTex/DirectXTexImage.cpp @@ -234,7 +234,7 @@ bool DirectX::_SetupImageArray( // ScratchImage - Bitmap image container //===================================================================================== -ScratchImage& ScratchImage::operator= (ScratchImage&& moveFrom) +ScratchImage& ScratchImage::operator= (ScratchImage&& moveFrom) DIRECTX_NOEXCEPT { if (this != &moveFrom) { diff --git a/DirectXTex/DirectXTexP.h b/DirectXTex/DirectXTexP.h index a445bdc..e9532e6 100644 --- a/DirectXTex/DirectXTexP.h +++ b/DirectXTex/DirectXTexP.h @@ -116,12 +116,6 @@ #define XBOX_DXGI_FORMAT_R4G4_UNORM DXGI_FORMAT(190) -#if !defined(DIRECTX_NOEXCEPT) && defined(_MSC_VER) && (_MSC_VER < 1900) -#define DIRECTX_NOEXCEPT -#else -#define DIRECTX_NOEXCEPT noexcept -#endif - namespace DirectX { //--------------------------------------------------------------------------------- diff --git a/DirectXTex/DirectXTexUtil.cpp b/DirectXTex/DirectXTexUtil.cpp index 95e3add..c718efe 100644 --- a/DirectXTex/DirectXTexUtil.cpp +++ b/DirectXTex/DirectXTexUtil.cpp @@ -1413,7 +1413,7 @@ size_t TexMetadata::ComputeIndex(size_t mip, size_t item, size_t slice) const // Blob - Bitmap image container //===================================================================================== -Blob& Blob::operator= (Blob&& moveFrom) +Blob& Blob::operator= (Blob&& moveFrom) DIRECTX_NOEXCEPT { if (this != &moveFrom) { diff --git a/DirectXTex/Filters.h b/DirectXTex/Filters.h index 3a1d717..238f817 100644 --- a/DirectXTex/Filters.h +++ b/DirectXTex/Filters.h @@ -237,7 +237,7 @@ namespace TriangleFilter TriangleRow* next; ScopedAlignedArrayXMVECTOR scanline; - TriangleRow() : remaining(0), next(nullptr) {} + TriangleRow() DIRECTX_NOEXCEPT : remaining(0), next(nullptr) {} }; static const size_t TF_FILTER_SIZE = sizeof(Filter) - sizeof(FilterFrom); diff --git a/Texdiag/texdiag.cpp b/Texdiag/texdiag.cpp index f7ed2da..1908e8f 100644 --- a/Texdiag/texdiag.cpp +++ b/Texdiag/texdiag.cpp @@ -3384,7 +3384,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) } wprintf(L"Result: %f (%f %f %f %f) PSNR %f dB\n", mse, mseV[0], mseV[1], mseV[2], mseV[3], - 10.f * log10f(3.f / (mseV[0] + mseV[1] + mseV[2]))); + 10.0 * log10(3.0 / (double(mseV[0]) + double(mseV[1]) + double(mseV[2])))); } else { @@ -3444,7 +3444,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) ++total_images; wprintf(L"[%3Iu,%3Iu]: %f (%f %f %f %f) PSNR %f dB\n", mip, slice, mse, mseV[0], mseV[1], mseV[2], mseV[3], - 10.f * log10f(3.f / (mseV[0] + mseV[1] + mseV[2]))); + 10.0 * log10(3.0 / (double(mseV[0]) + double(mseV[1]) + double(mseV[2])))); } } @@ -3495,7 +3495,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) ++total_images; wprintf(L"[%3Iu,%3Iu]: %f (%f %f %f %f) PSNR %f dB\n", item, mip, mse, mseV[0], mseV[1], mseV[2], mseV[3], - 10.f * log10f(3.f / (mseV[0] + mseV[1] + mseV[2]))); + 10.0 * log10(3.0 / (double(mseV[0]) + double(mseV[1]) + double(mseV[2])))); } } } @@ -3505,7 +3505,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) if (total_images > 1) { wprintf(L"\n Minimum MSE: %f (%f %f %f %f) PSNR %f dB\n", min_mse, min_mseV[0], min_mseV[1], min_mseV[2], min_mseV[3], - 10.f * log10f(3.f / (min_mseV[0] + min_mseV[1] + min_mseV[2]))); + 10.0 * log10(3.0 / (double(min_mseV[0]) + double(min_mseV[1]) + double(min_mseV[2])))); double total_mseV0 = sum_mseV[0] / double(total_images); double total_mseV1 = sum_mseV[1] / double(total_images); double total_mseV2 = max_mseV[2] / double(total_images); @@ -3516,7 +3516,7 @@ int __cdecl wmain(_In_ int argc, _In_z_count_(argc) wchar_t* argv[]) sum_mseV[3] / double(total_images), 10.0 * log10(3.0 / (total_mseV0 + total_mseV1 + total_mseV2))); wprintf(L" Maximum MSE: %f (%f %f %f %f) PSNR %f dB\n", max_mse, max_mseV[0], max_mseV[1], max_mseV[2], max_mseV[3], - 10.f * log10f(3.f / (max_mseV[0] + max_mseV[1] + max_mseV[2]))); + 10.0 * log10(3.0 / (double(max_mseV[0]) + double(max_mseV[1]) + double(max_mseV[2])))); } } }