oidn: Fix build for VS 2017

Backporting this upstream patch:
1e42e6db81

Fixes #39186.
This commit is contained in:
Rémi Verschelde 2020-06-06 20:44:16 +02:00
parent d838a44735
commit 38a200f1e3
6 changed files with 53 additions and 8 deletions

View file

@ -299,7 +299,7 @@ License: Zlib
Files: ./thirdparty/oidn/
Comment: Intel Open Image Denoise
Copyright: 2009-2020, Intel Corporation
Copyright: 2009-2019, Intel Corporation
License: Apache-2.0
Files: ./thirdparty/opus/

View file

@ -446,7 +446,7 @@ Files extracted from the upstream source:
## oidn
- Upstream: https://github.com/OpenImageDenoise/oidn
- Version: 1.1.0 (c58c5216db05ceef4cde5a096862f2eeffd14c06)
- Version: 1.1.0 (c58c5216db05ceef4cde5a096862f2eeffd14c06, 2019)
- License: Apache 2.0
Files extracted from upstream source:
@ -461,8 +461,8 @@ weights/rtlightmap_hdr.tza
scripts/resource_to_cpp.py
Modified files:
Modifications are marked with `// -- GODOT start --` and `// -- GODOT end --`
A patch file is provided in `oidn/godot-changes-c58c5216.patch`
Modifications are marked with `// -- GODOT start --` and `// -- GODOT end --`.
Patch files are provided in `oidn/patches/`.
core/autoencoder.cpp
core/autoencoder.h

View file

@ -131,7 +131,7 @@ struct rnn_weights_reorder_t : public cpu_primitive_t {
return status::success;
}
format_tag_t itag_;
format_tag_t itag_ = mkldnn_format_tag_undef;
private:
void init_scratchpad() {

View file

@ -96,9 +96,9 @@ struct simple_concat_t: public cpu_primitive_t {
return status::success;
}
int perm_[MKLDNN_MAX_NDIMS];
int iperm_[MKLDNN_MAX_NDIMS];
dims_t blocks_;
int perm_[MKLDNN_MAX_NDIMS] {};
int iperm_[MKLDNN_MAX_NDIMS] {};
dims_t blocks_ {};
dim_t nelems_to_concat(const memory_desc_wrapper &data_d) const {
const int ndims = data_d.ndims();

View file

@ -0,0 +1,45 @@
Rediffed by @akien-mga to match oidn 1.1.0 source.
From 1e42e6db81e1a5270ecc0191c5385ce7e7d978e9 Mon Sep 17 00:00:00 2001
From: Jeremy Wong <jmw@netvigator.com>
Date: Wed, 11 Sep 2019 04:46:53 +0800
Subject: [PATCH] src: initialize members in some structures to prevent compile
errors with VS2017
addresses "error C3615: constexpr function '...' cannot result in a constant expression" with VS2017
---
src/cpu/rnn/rnn_reorders.hpp | 2 +-
src/cpu/simple_concat.hpp | 6 +++---
src/cpu/simple_sum.hpp | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp
index 597c63e3f8..ae1551390a 100644
--- a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp
+++ b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp
@@ -131,7 +131,7 @@ struct rnn_weights_reorder_t : public cpu_primitive_t {
return status::success;
}
- format_tag_t itag_;
+ format_tag_t itag_ = mkldnn_format_tag_undef;
private:
void init_scratchpad() {
diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp
index 5177275452..057cc3c4c7 100644
--- a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp
+++ b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp
@@ -96,9 +96,9 @@ struct simple_concat_t: public cpu_primitive_t {
return status::success;
}
- int perm_[MKLDNN_MAX_NDIMS];
- int iperm_[MKLDNN_MAX_NDIMS];
- dims_t blocks_;
+ int perm_[MKLDNN_MAX_NDIMS] {};
+ int iperm_[MKLDNN_MAX_NDIMS] {};
+ dims_t blocks_ {};
dim_t nelems_to_concat(const memory_desc_wrapper &data_d) const {
const int ndims = data_d.ndims();