diff --git a/docs/changes.txt b/docs/changes.txt index 489cdc46d..0c00b237c 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -121,6 +121,7 @@ - Dependencies: Updated OpenCL-Headers to v2024.10.24 (commit 265df85) - Documents: Updated BUILD.md and added BUILD_macOS.md (containing instructions for building windows binaries on macOS) - Modules: Added support for non-zero IVs for -m 6800 (Lastpass). Also added `tools/lastpass2hashcat.py` +- Modules: Updated module_unstable_warning - Open Document Format: Added support for small documents with content length < 1024 - Status Code: Add specific return code for self-test fail (-11) - Scrypt: Increase buffer sizes in module for hash mode 8900 to allow longer scrypt digests diff --git a/src/modules/module_01500.c b/src/modules/module_01500.c index c6bb1e995..04992ff81 100644 --- a/src/modules/module_01500.c +++ b/src/modules/module_01500.c @@ -47,7 +47,7 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { // Intel(R) Xeon(R) W-3223 CPU @ 3.50GHz; OpenCL C 1.2; 11.3.1; 20E241 - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE || device_param->opencl_platform_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) { return true; } diff --git a/src/modules/module_01800.c b/src/modules/module_01800.c index eeea0a484..2c9be27b4 100644 --- a/src/modules/module_01800.c +++ b/src/modules/module_01800.c @@ -426,20 +426,19 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } } - } - - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) - { - if (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) + else if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL)) { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 return true; } } diff --git a/src/modules/module_02100.c b/src/modules/module_02100.c index a304c003f..34b407cd6 100644 --- a/src/modules/module_02100.c +++ b/src/modules/module_02100.c @@ -55,6 +55,23 @@ typedef struct dcc2_tmp static const char *SIGNATURE_DCC2 = "$DCC2$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm02100_init'pipeline, Compilation failed + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (dcc2_tmp_t); @@ -232,6 +249,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_03000.c b/src/modules/module_03000.c index 2fe4cf17b..451693052 100644 --- a/src/modules/module_03000.c +++ b/src/modules/module_03000.c @@ -52,7 +52,7 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { // Intel(R) Xeon(R) W-3223 CPU @ 3.50GHz; OpenCL C 1.2; 11.3.1; 20E241 - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE || device_param->opencl_platform_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) { return true; } diff --git a/src/modules/module_03200.c b/src/modules/module_03200.c index bd38d8aec..69cd54cf3 100644 --- a/src/modules/module_03200.c +++ b/src/modules/module_03200.c @@ -60,6 +60,23 @@ typedef struct bcrypt_tmp } bcrypt_tmp_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 pw_max = 72; // Underlaying Blowfish max @@ -360,6 +377,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06211.c b/src/modules/module_06211.c index aae64c1af..7fc1d3761 100644 --- a/src/modules/module_06211.c +++ b/src/modules/module_06211.c @@ -79,10 +79,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06212.c b/src/modules/module_06212.c index 3d7712130..d6b5d3e59 100644 --- a/src/modules/module_06212.c +++ b/src/modules/module_06212.c @@ -79,10 +79,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06213.c b/src/modules/module_06213.c index 52e4c6e2d..0a7cb01d7 100644 --- a/src/modules/module_06213.c +++ b/src/modules/module_06213.c @@ -79,10 +79,22 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06213_comp' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06221.c b/src/modules/module_06221.c index 5165af4ea..1948ccd46 100644 --- a/src/modules/module_06221.c +++ b/src/modules/module_06221.c @@ -80,19 +80,24 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 - self-test failed + return true; + } } - } - - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) - { - return true; } return false; diff --git a/src/modules/module_06222.c b/src/modules/module_06222.c index 8ca545ec5..c46b7d2a7 100644 --- a/src/modules/module_06222.c +++ b/src/modules/module_06222.c @@ -80,19 +80,24 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 - self-test failed + return true; + } } - } - - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) - { - return true; } return false; diff --git a/src/modules/module_06223.c b/src/modules/module_06223.c index 7c96d4e46..a87928a2d 100644 --- a/src/modules/module_06223.c +++ b/src/modules/module_06223.c @@ -80,21 +80,29 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06223_comp' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } + else if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X, OpenCL: self-test failed return true; } } - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) - { - return true; - } - return false; } diff --git a/src/modules/module_06231.c b/src/modules/module_06231.c index 0860c0771..e9835cdd2 100644 --- a/src/modules/module_06231.c +++ b/src/modules/module_06231.c @@ -87,10 +87,22 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06231_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06232.c b/src/modules/module_06232.c index 6005483ef..65c50597c 100644 --- a/src/modules/module_06232.c +++ b/src/modules/module_06232.c @@ -87,10 +87,22 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06232_init' pipeline, Compilation failed + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06233.c b/src/modules/module_06233.c index df7ff9cb6..3017e8093 100644 --- a/src/modules/module_06233.c +++ b/src/modules/module_06233.c @@ -87,10 +87,22 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06233_init' pipeline, Compilation failed + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06241.c b/src/modules/module_06241.c index bf41db0a2..f202cbc37 100644 --- a/src/modules/module_06241.c +++ b/src/modules/module_06241.c @@ -80,10 +80,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06242.c b/src/modules/module_06242.c index 1079060fb..d7687337a 100644 --- a/src/modules/module_06242.c +++ b/src/modules/module_06242.c @@ -80,10 +80,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06243.c b/src/modules/module_06243.c index f2101dc69..005c4db9f 100644 --- a/src/modules/module_06243.c +++ b/src/modules/module_06243.c @@ -80,10 +80,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_06500.c b/src/modules/module_06500.c index bfaa5e243..2407f87da 100644 --- a/src/modules/module_06500.c +++ b/src/modules/module_06500.c @@ -413,10 +413,16 @@ static void sha512aix_encode (const u8 digest[64], u8 buf[86]) bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_07100.c b/src/modules/module_07100.c index 22adc6a98..d8bdba34f 100644 --- a/src/modules/module_07100.c +++ b/src/modules/module_07100.c @@ -87,10 +87,16 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_07200.c b/src/modules/module_07200.c index 7387334b8..f69f26e75 100644 --- a/src/modules/module_07200.c +++ b/src/modules/module_07200.c @@ -63,10 +63,16 @@ static const char *SIGNATURE_SHA512GRUB = "grub.pbkdf2.sha512."; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_07500.c b/src/modules/module_07500.c index e8434e5f6..a9331d876 100644 --- a/src/modules/module_07500.c +++ b/src/modules/module_07500.c @@ -54,6 +54,23 @@ typedef struct krb5pa static const char *SIGNATURE_KRB5PA = "$krb5pa$23$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -321,6 +338,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_07900.c b/src/modules/module_07900.c index 7afbe2221..68a75ec58 100644 --- a/src/modules/module_07900.c +++ b/src/modules/module_07900.c @@ -53,10 +53,16 @@ static const char *SIGNATURE_DRUPAL7 = "$S$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_08000.c b/src/modules/module_08000.c index 0c774b5a6..8b6c978a3 100644 --- a/src/modules/module_08000.c +++ b/src/modules/module_08000.c @@ -50,6 +50,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, static const char *SIGNATURE_SYBASEASE = "0xc007"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 pw_max = 30; // http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc31654.1570/html/sag1/CIHIBDBA.htm @@ -240,6 +257,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_08200.c b/src/modules/module_08200.c index b8a7b75d9..1aeb647d0 100644 --- a/src/modules/module_08200.c +++ b/src/modules/module_08200.c @@ -62,15 +62,21 @@ typedef struct pbkdf2_sha512_tmp bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_09600.c b/src/modules/module_09600.c index 9232e543f..988908828 100644 --- a/src/modules/module_09600.c +++ b/src/modules/module_09600.c @@ -61,6 +61,23 @@ typedef struct office2013_tmp static const char *SIGNATURE_OFFICE2013 = "$office$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm09600_init' pipeline, Compilation failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -365,6 +382,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_09700.c b/src/modules/module_09700.c index a50e380b7..1bd16405f 100644 --- a/src/modules/module_09700.c +++ b/src/modules/module_09700.c @@ -58,6 +58,23 @@ static const char *SIGNATURE_OLDOFFICE = "$oldoffice$"; static const char *SIGNATURE_OLDOFFICE0 = "$oldoffice$0"; static const char *SIGNATURE_OLDOFFICE1 = "$oldoffice$1"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -306,6 +323,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_09710.c b/src/modules/module_09710.c index 10ca46814..79bb7587b 100644 --- a/src/modules/module_09710.c +++ b/src/modules/module_09710.c @@ -59,6 +59,23 @@ static const char *SIGNATURE_OLDOFFICE = "$oldoffice$"; static const char *SIGNATURE_OLDOFFICE0 = "$oldoffice$0"; static const char *SIGNATURE_OLDOFFICE1 = "$oldoffice$1"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -326,6 +343,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_09800.c b/src/modules/module_09800.c index 7c3036d5c..193531626 100644 --- a/src/modules/module_09800.c +++ b/src/modules/module_09800.c @@ -60,6 +60,23 @@ static const char *SIGNATURE_OLDOFFICE = "$oldoffice$"; static const char *SIGNATURE_OLDOFFICE3 = "$oldoffice$3"; static const char *SIGNATURE_OLDOFFICE4 = "$oldoffice$4"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -364,6 +381,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_09810.c b/src/modules/module_09810.c index d0c838e01..33dd15186 100644 --- a/src/modules/module_09810.c +++ b/src/modules/module_09810.c @@ -60,6 +60,23 @@ static const char *SIGNATURE_OLDOFFICE = "$oldoffice$"; static const char *SIGNATURE_OLDOFFICE3 = "$oldoffice$3"; static const char *SIGNATURE_OLDOFFICE4 = "$oldoffice$4"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -383,6 +400,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_10400.c b/src/modules/module_10400.c index 079325392..c53cac8db 100644 --- a/src/modules/module_10400.c +++ b/src/modules/module_10400.c @@ -67,6 +67,23 @@ typedef struct pdf static const char *SIGNATURE_PDF = "$pdf$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -403,6 +420,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_10410.c b/src/modules/module_10410.c index 265a15662..bf6ec3723 100644 --- a/src/modules/module_10410.c +++ b/src/modules/module_10410.c @@ -69,6 +69,23 @@ typedef struct pdf static const char *SIGNATURE_PDF = "$pdf$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -424,6 +441,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_10500.c b/src/modules/module_10500.c index 0e9026ef1..811df922f 100644 --- a/src/modules/module_10500.c +++ b/src/modules/module_10500.c @@ -91,6 +91,23 @@ static void md5_complete_no_limit (u32 digest[4], const u32 *plain, const u32 pl digest[3] = md5_ctx.h[3]; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -534,6 +551,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_10700.c b/src/modules/module_10700.c index 05be37b65..a5de11366 100644 --- a/src/modules/module_10700.c +++ b/src/modules/module_10700.c @@ -84,12 +84,15 @@ static const int ROUNDS_PDF17L8 = 64; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AppleM1, OpenCL, MTLCompilerService, createKernel never-end with pure kernel if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + if (device_param->is_metal == false) { - return true; + if (strncmp (device_param->device_name, "Apple M", 7) == 0) + { + // AppleM1, OpenCL, MTLCompilerService, createKernel never-end with pure kernel and newComputePipelineState failed with optimized kernel + return true; + } } } diff --git a/src/modules/module_12300.c b/src/modules/module_12300.c index 1352e956d..e07b42b17 100644 --- a/src/modules/module_12300.c +++ b/src/modules/module_12300.c @@ -57,10 +57,16 @@ static const int ROUNDS_ORACLET = 4096; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_12500.c b/src/modules/module_12500.c index ada4ac4d8..f0aa23ede 100644 --- a/src/modules/module_12500.c +++ b/src/modules/module_12500.c @@ -61,6 +61,20 @@ typedef struct rar3_tmp_optimized static const int ROUNDS_RAR3 = 262144; static const char *SIGNATURE_RAR3 = "$RAR3$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + { + // Intel Iris + return true; + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); @@ -271,6 +285,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13000.c b/src/modules/module_13000.c index 2bb211b7d..a0f178372 100644 --- a/src/modules/module_13000.c +++ b/src/modules/module_13000.c @@ -60,6 +60,20 @@ typedef struct rar5 static const char *SIGNATURE_RAR5 = "$rar5$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + { + // Intel Iris + return true; + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -326,6 +340,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13100.c b/src/modules/module_13100.c index eb6288fb6..3fa5c30bb 100644 --- a/src/modules/module_13100.c +++ b/src/modules/module_13100.c @@ -55,6 +55,23 @@ typedef struct krb5tgs static const char *SIGNATURE_KRB5TGS = "$krb5tgs$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -422,6 +439,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13712.c b/src/modules/module_13712.c index 6f62b2b33..ffba232e1 100644 --- a/src/modules/module_13712.c +++ b/src/modules/module_13712.c @@ -87,6 +87,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_655331 = 655331; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13712_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -364,6 +381,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13713.c b/src/modules/module_13713.c index ba414a5a0..f5aebfe91 100644 --- a/src/modules/module_13713.c +++ b/src/modules/module_13713.c @@ -87,6 +87,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_655331 = 655331; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13713_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -364,6 +381,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13721.c b/src/modules/module_13721.c index f6f335eb6..ea94e290e 100644 --- a/src/modules/module_13721.c +++ b/src/modules/module_13721.c @@ -91,10 +91,16 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_13722.c b/src/modules/module_13722.c index 6ce7258e3..37bd46b06 100644 --- a/src/modules/module_13722.c +++ b/src/modules/module_13722.c @@ -91,10 +91,22 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13722_comp' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_13723.c b/src/modules/module_13723.c index ca2a70316..5e76c81e8 100644 --- a/src/modules/module_13723.c +++ b/src/modules/module_13723.c @@ -91,10 +91,22 @@ static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13723_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_13731.c b/src/modules/module_13731.c index 428c33ffa..7b0fe41d6 100644 --- a/src/modules/module_13731.c +++ b/src/modules/module_13731.c @@ -95,17 +95,6 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB return kernel_threads_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel) - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return true; - } - - return false; -} - int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -383,6 +372,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13732.c b/src/modules/module_13732.c index 742b68d39..6c9c6ea57 100644 --- a/src/modules/module_13732.c +++ b/src/modules/module_13732.c @@ -95,17 +95,6 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB return kernel_threads_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel) - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return true; - } - - return false; -} - int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -383,6 +372,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13733.c b/src/modules/module_13733.c index 1e9007315..979884c4b 100644 --- a/src/modules/module_13733.c +++ b/src/modules/module_13733.c @@ -95,17 +95,6 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB return kernel_threads_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel) - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return true; - } - - return false; -} - int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -383,6 +372,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13742.c b/src/modules/module_13742.c index 45f9cfc51..9340de8a4 100644 --- a/src/modules/module_13742.c +++ b/src/modules/module_13742.c @@ -88,6 +88,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_327661 = 327661; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13712_loop_extended' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_t *vc = (const vc_t *) hashes->esalts_buf; @@ -366,6 +383,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13743.c b/src/modules/module_13743.c index 2824e93f9..7791c783f 100644 --- a/src/modules/module_13743.c +++ b/src/modules/module_13743.c @@ -88,6 +88,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_327661 = 327661; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13713_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_t *vc = (const vc_t *) hashes->esalts_buf; @@ -366,6 +383,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13751.c b/src/modules/module_13751.c index 5530305f0..bad748893 100644 --- a/src/modules/module_13751.c +++ b/src/modules/module_13751.c @@ -87,6 +87,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13751_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -383,6 +400,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13752.c b/src/modules/module_13752.c index d5485047f..60891b7d8 100644 --- a/src/modules/module_13752.c +++ b/src/modules/module_13752.c @@ -87,6 +87,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13752_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -383,6 +400,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13753.c b/src/modules/module_13753.c index 5b6d7297d..d3304a48a 100644 --- a/src/modules/module_13753.c +++ b/src/modules/module_13753.c @@ -87,6 +87,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13753_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -383,6 +400,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13761.c b/src/modules/module_13761.c index 7212b8f96..daf567523 100644 --- a/src/modules/module_13761.c +++ b/src/modules/module_13761.c @@ -88,6 +88,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13751_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -385,6 +402,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13762.c b/src/modules/module_13762.c index 113e71460..ccd9e3a1b 100644 --- a/src/modules/module_13762.c +++ b/src/modules/module_13762.c @@ -88,6 +88,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13752_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -385,6 +402,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13763.c b/src/modules/module_13763.c index 89f900e62..3f33c54a2 100644 --- a/src/modules/module_13763.c +++ b/src/modules/module_13763.c @@ -88,6 +88,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13753_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -385,6 +402,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13771.c b/src/modules/module_13771.c index e6283a499..6d5485f6e 100644 --- a/src/modules/module_13771.c +++ b/src/modules/module_13771.c @@ -92,6 +92,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13771_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc64_sbog_tmp_t *vc64_sbog_tmp = (const vc64_sbog_tmp_t *) tmps; @@ -369,6 +386,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13772.c b/src/modules/module_13772.c index 7ae4bed75..f1b61cf1d 100644 --- a/src/modules/module_13772.c +++ b/src/modules/module_13772.c @@ -92,6 +92,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13772_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc64_sbog_tmp_t *vc64_sbog_tmp = (const vc64_sbog_tmp_t *) tmps; @@ -369,6 +386,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13773.c b/src/modules/module_13773.c index df1e35ba0..d4dd936dd 100644 --- a/src/modules/module_13773.c +++ b/src/modules/module_13773.c @@ -92,6 +92,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13773_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc64_sbog_tmp_t *vc64_sbog_tmp = (const vc64_sbog_tmp_t *) tmps; @@ -369,6 +386,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13781.c b/src/modules/module_13781.c index 191a64c80..b793bcc6e 100644 --- a/src/modules/module_13781.c +++ b/src/modules/module_13781.c @@ -93,6 +93,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13771_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_t *vc = (const vc_t *) hashes->esalts_buf; @@ -371,6 +388,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13782.c b/src/modules/module_13782.c index 16c5cc9b6..b1b70a48b 100644 --- a/src/modules/module_13782.c +++ b/src/modules/module_13782.c @@ -93,6 +93,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13772_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_t *vc = (const vc_t *) hashes->esalts_buf; @@ -371,6 +388,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13783.c b/src/modules/module_13783.c index ad4a2e4cc..0b046ea67 100644 --- a/src/modules/module_13783.c +++ b/src/modules/module_13783.c @@ -93,6 +93,23 @@ typedef struct vc static const int ROUNDS_VERACRYPT_200000 = 200000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13773_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_t *vc = (const vc_t *) hashes->esalts_buf; @@ -371,6 +388,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13800.c b/src/modules/module_13800.c index 199aeebda..3a73858e3 100644 --- a/src/modules/module_13800.c +++ b/src/modules/module_13800.c @@ -52,6 +52,23 @@ typedef struct win8phone } win8phone_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13800_s04' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -257,6 +274,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13900.c b/src/modules/module_13900.c index ed573ec79..9e6713396 100644 --- a/src/modules/module_13900.c +++ b/src/modules/module_13900.c @@ -45,6 +45,23 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13900_s04' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -207,6 +224,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_14000.c b/src/modules/module_14000.c index 80d1fd79f..03abf486f 100644 --- a/src/modules/module_14000.c +++ b/src/modules/module_14000.c @@ -47,7 +47,7 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { // Intel(R) Xeon(R) W-3223 CPU @ 3.50GHz; OpenCL C 1.2; 11.3.1; 20E241 - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE || device_param->opencl_platform_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) { return true; } diff --git a/src/modules/module_15300.c b/src/modules/module_15300.c index 701e5d695..650004903 100644 --- a/src/modules/module_15300.c +++ b/src/modules/module_15300.c @@ -76,6 +76,23 @@ typedef struct dpapimk_tmp_v1 static const char *SIGNATURE_DPAPIMK = "$DPAPImk$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm15300_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (dpapimk_tmp_v1_t); @@ -446,6 +463,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_15310.c b/src/modules/module_15310.c index b10b93792..0908be7a1 100644 --- a/src/modules/module_15310.c +++ b/src/modules/module_15310.c @@ -79,6 +79,23 @@ typedef struct dpapimk_tmp_v1 static const char *SIGNATURE_DPAPIMK = "$DPAPImk$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm15310_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + salt_t *module_benchmark_salt (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { salt_t *salt = (salt_t *) hcmalloc (sizeof (salt_t)); @@ -463,6 +480,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_15900.c b/src/modules/module_15900.c index d3d2df0b7..3f3302ea4 100644 --- a/src/modules/module_15900.c +++ b/src/modules/module_15900.c @@ -79,10 +79,22 @@ static const char *SIGNATURE_DPAPIMK = "$DPAPImk$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm15900_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_15910.c b/src/modules/module_15910.c index 8ca85a5fd..a512a9111 100644 --- a/src/modules/module_15910.c +++ b/src/modules/module_15910.c @@ -85,6 +85,23 @@ typedef struct dpapimk_tmp_v2 static const char *SIGNATURE_DPAPIMK = "$DPAPImk$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm15910_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + salt_t *module_benchmark_salt (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { salt_t *salt = (salt_t *) hcmalloc (sizeof (salt_t)); @@ -469,6 +486,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_16300.c b/src/modules/module_16300.c index 9c2fa883d..1b885e8d3 100644 --- a/src/modules/module_16300.c +++ b/src/modules/module_16300.c @@ -66,10 +66,16 @@ static const int ROUNDS_ETHEREUM_PRESALE = 2000; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_17020.c b/src/modules/module_17020.c index a877ab82d..624b07242 100644 --- a/src/modules/module_17020.c +++ b/src/modules/module_17020.c @@ -78,6 +78,23 @@ typedef struct gpg_tmp static const char *SIGNATURE_GPG = "$gpg$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm17020_loop' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (gpg_t); @@ -403,6 +420,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_17200.c b/src/modules/module_17200.c index 24f77798f..d43e8132f 100644 --- a/src/modules/module_17200.c +++ b/src/modules/module_17200.c @@ -171,15 +171,27 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE // it leads to CL_KERNEL_WORK_GROUP_SIZE to return 0 and later we will divide with 0 // workaround would be to rewrite kernel to use global memory - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if (device_param->is_metal == true) + { + // error: 'goto' is not supported in Metal + return true; + } + + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AppleM1, OpenCL, MTLCompilerService never-end if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == false) + { + if (strncmp (device_param->device_name, "Apple M", 7) == 0) + { + // AppleM1, OpenCL, MTLCompilerService never-end + return true; + } + } } return false; diff --git a/src/modules/module_17220.c b/src/modules/module_17220.c index c2ac82b2c..1bc26bfd2 100644 --- a/src/modules/module_17220.c +++ b/src/modules/module_17220.c @@ -171,15 +171,27 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE // it leads to CL_KERNEL_WORK_GROUP_SIZE to return 0 and later we will divide with 0 // workaround would be to rewrite kernel to use global memory - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if (device_param->is_metal == true) + { + // error: 'goto' is not supported in Metal + return true; + } + + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AppleM1, OpenCL, MTLCompilerService never-end if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == false) + { + if (strncmp (device_param->device_name, "Apple M", 7) == 0) + { + // AppleM1, OpenCL, MTLCompilerService never-end + return true; + } + } } return false; diff --git a/src/modules/module_17225.c b/src/modules/module_17225.c index 3cbf0f51b..8ab15f05b 100644 --- a/src/modules/module_17225.c +++ b/src/modules/module_17225.c @@ -171,15 +171,27 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE // it leads to CL_KERNEL_WORK_GROUP_SIZE to return 0 and later we will divide with 0 // workaround would be to rewrite kernel to use global memory - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if (device_param->is_metal == true) + { + // error: 'goto' is not supported in Metal + return true; + } + + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AppleM1, OpenCL, MTLCompilerService never-end if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == false) + { + if (strncmp (device_param->device_name, "Apple M", 7) == 0) + { + // AppleM1, OpenCL, MTLCompilerService never-end + return true; + } + } } return false; diff --git a/src/modules/module_18200.c b/src/modules/module_18200.c index b99d4978d..159f30fa8 100644 --- a/src/modules/module_18200.c +++ b/src/modules/module_18200.c @@ -54,6 +54,23 @@ typedef struct krb5asrep static const char *SIGNATURE_KRB5ASREP = "$krb5asrep$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -390,6 +407,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_19200.c b/src/modules/module_19200.c index 9e4467b40..dbc93ec58 100644 --- a/src/modules/module_19200.c +++ b/src/modules/module_19200.c @@ -54,6 +54,16 @@ typedef struct qnx_sha512_tmp static const int ROUNDS_QNX = 1000; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (qnx_sha512_tmp_t); @@ -264,6 +274,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_19500.c b/src/modules/module_19500.c index afaa3c7cd..eaf90f385 100644 --- a/src/modules/module_19500.c +++ b/src/modules/module_19500.c @@ -53,6 +53,23 @@ typedef struct devise_hash } devise_hash_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm19500_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -283,6 +300,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_19700.c b/src/modules/module_19700.c index 8a09915b0..c92d61f3c 100644 --- a/src/modules/module_19700.c +++ b/src/modules/module_19700.c @@ -67,6 +67,23 @@ typedef struct krb5tgs_18_tmp static const char *SIGNATURE_KRB5TGS = "$krb5tgs$18$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm19700_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (krb5tgs_18_tmp_t); @@ -358,6 +375,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_20011.c b/src/modules/module_20011.c index c01b548bb..ffa1dbe4f 100644 --- a/src/modules/module_20011.c +++ b/src/modules/module_20011.c @@ -66,10 +66,22 @@ static const char *SIGNATURE_DISKCRYPTOR = "$diskcryptor$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm20011_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_20012.c b/src/modules/module_20012.c index 627765d09..3873c8a8e 100644 --- a/src/modules/module_20012.c +++ b/src/modules/module_20012.c @@ -66,10 +66,22 @@ static const char *SIGNATURE_DISKCRYPTOR = "$diskcryptor$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm20012_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_20013.c b/src/modules/module_20013.c index b8cfbf9b7..141dd1e1a 100644 --- a/src/modules/module_20013.c +++ b/src/modules/module_20013.c @@ -66,10 +66,22 @@ static const char *SIGNATURE_DISKCRYPTOR = "$diskcryptor$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm20013_init' pipeline, timeout reached + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_21000.c b/src/modules/module_21000.c index f8fadf552..08697a332 100644 --- a/src/modules/module_21000.c +++ b/src/modules/module_21000.c @@ -52,10 +52,16 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_21600.c b/src/modules/module_21600.c index 47cf4ce40..868ed3e98 100644 --- a/src/modules/module_21600.c +++ b/src/modules/module_21600.c @@ -58,10 +58,16 @@ typedef struct web2py_sha512_tmp bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_21700.c b/src/modules/module_21700.c index ffd6178d9..394f548db 100644 --- a/src/modules/module_21700.c +++ b/src/modules/module_21700.c @@ -74,15 +74,27 @@ u32 module_deep_comp_kernel (MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED c bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_21800.c b/src/modules/module_21800.c index 486eba089..e1dfa4757 100644 --- a/src/modules/module_21800.c +++ b/src/modules/module_21800.c @@ -79,15 +79,27 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE // it leads to CL_KERNEL_WORK_GROUP_SIZE to return 0 and later we will divide with 0 // workaround would be to rewrite kernel to use global memory - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if (device_param->is_metal == true) + { + // error: 'goto' is not supported in Metal + return true; + } + + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } - // AppleM1, OpenCL, MTLCompilerService never-end if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == false) + { + if (strncmp (device_param->device_name, "Apple M", 7) == 0) + { + // AppleM1, OpenCL, MTLCompilerService never-end + return true; + } + } } return false; diff --git a/src/modules/module_22200.c b/src/modules/module_22200.c index 6e9141ba8..284264c7e 100644 --- a/src/modules/module_22200.c +++ b/src/modules/module_22200.c @@ -51,10 +51,16 @@ static const char *SIGNATURE_NETSCALER = "2"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_22400.c b/src/modules/module_22400.c index 476911d5d..f16d7a453 100644 --- a/src/modules/module_22400.c +++ b/src/modules/module_22400.c @@ -78,6 +78,18 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + return false; } diff --git a/src/modules/module_22911.c b/src/modules/module_22911.c index 25b90e94a..26f7966cf 100644 --- a/src/modules/module_22911.c +++ b/src/modules/module_22911.c @@ -53,6 +53,23 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -265,6 +282,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22921.c b/src/modules/module_22921.c index c71aad254..46da0bb8a 100644 --- a/src/modules/module_22921.c +++ b/src/modules/module_22921.c @@ -54,6 +54,23 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -266,6 +283,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22931.c b/src/modules/module_22931.c index ea673b633..147389c3a 100644 --- a/src/modules/module_22931.c +++ b/src/modules/module_22931.c @@ -53,6 +53,23 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -269,6 +286,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22941.c b/src/modules/module_22941.c index 05f0d57e5..3c54208c3 100644 --- a/src/modules/module_22941.c +++ b/src/modules/module_22941.c @@ -53,6 +53,23 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -269,6 +286,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22951.c b/src/modules/module_22951.c index abf2fb6dd..6b8bf1e47 100644 --- a/src/modules/module_22951.c +++ b/src/modules/module_22951.c @@ -53,6 +53,23 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -269,6 +286,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23500.c b/src/modules/module_23500.c index 5c8bd4367..fc5a5ee9c 100644 --- a/src/modules/module_23500.c +++ b/src/modules/module_23500.c @@ -70,10 +70,16 @@ static const char *SIGNATURE_AXCRYPT2 = "$axcrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_23600.c b/src/modules/module_23600.c index 2df2d3479..88e68b745 100644 --- a/src/modules/module_23600.c +++ b/src/modules/module_23600.c @@ -70,10 +70,16 @@ static const char *SIGNATURE_AXCRYPT2 = "$axcrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs - if (device_param->is_metal == true) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "AMD Radeon", 10) == 0) + { + // AMD Radeon Pro W5700X, Metal.Version.: 261.13, compiler hangs + return true; + } + } } return false; diff --git a/src/modules/module_23700.c b/src/modules/module_23700.c index 884aceefc..82e70f96f 100644 --- a/src/modules/module_23700.c +++ b/src/modules/module_23700.c @@ -71,6 +71,20 @@ typedef struct rar3_tmp_optimized static const int ROUNDS_RAR3 = 262144; static const char *SIGNATURE_RAR3 = "$RAR3$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + { + // Intel Iris + return true; + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = user_options->optimized_kernel; @@ -391,6 +405,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23800.c b/src/modules/module_23800.c index 214ea0f50..f30a6d392 100644 --- a/src/modules/module_23800.c +++ b/src/modules/module_23800.c @@ -203,10 +203,14 @@ static int check_huffman (const unsigned char *next) bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK || device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + // Intel Iris + return true; + } } return false; diff --git a/src/modules/module_24500.c b/src/modules/module_24500.c index f95cdbef5..4633993b1 100644 --- a/src/modules/module_24500.c +++ b/src/modules/module_24500.c @@ -64,6 +64,23 @@ static const char *SIGNATURE_TELEGRAM = "$telegram$"; static const int DATA_LEN_TELEGRAM = 288; static const int SALT_LEN_TELEGRAM = 32; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm24500_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (telegram_t); @@ -309,6 +326,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_25000.c b/src/modules/module_25000.c index c3249420d..99a365060 100644 --- a/src/modules/module_25000.c +++ b/src/modules/module_25000.c @@ -83,11 +83,23 @@ typedef struct snmpv3 bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + return false; } diff --git a/src/modules/module_25100.c b/src/modules/module_25100.c index eaa7ba048..20a29ec71 100644 --- a/src/modules/module_25100.c +++ b/src/modules/module_25100.c @@ -79,11 +79,23 @@ typedef struct snmpv3 bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + return false; } diff --git a/src/modules/module_25200.c b/src/modules/module_25200.c index 41131767d..e81eed67e 100644 --- a/src/modules/module_25200.c +++ b/src/modules/module_25200.c @@ -79,11 +79,23 @@ typedef struct snmpv3 bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { return true; } + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + return false; } diff --git a/src/modules/module_25300.c b/src/modules/module_25300.c index d2d56bbd4..b74903769 100644 --- a/src/modules/module_25300.c +++ b/src/modules/module_25300.c @@ -57,6 +57,23 @@ typedef struct office2016_tmp static const char *SIGNATURE_OFFICE2016_SHEETPROTECTION = "$office$2016$0$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm25300_init' pipeline, Compilation failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -315,6 +332,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_25400.c b/src/modules/module_25400.c index 8dc70b479..fe084ae18 100644 --- a/src/modules/module_25400.c +++ b/src/modules/module_25400.c @@ -98,6 +98,23 @@ static void md5_complete_no_limit (u32 digest[4], const u32 *plain, const u32 pl digest[3] = md5_ctx.h[3]; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -719,6 +736,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_26200.c b/src/modules/module_26200.c index bed7b39c5..88e9b22bd 100644 --- a/src/modules/module_26200.c +++ b/src/modules/module_26200.c @@ -43,6 +43,23 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 pw_max = 16; @@ -211,6 +228,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_26700.c b/src/modules/module_26700.c index a568da5f4..46958bb94 100644 --- a/src/modules/module_26700.c +++ b/src/modules/module_26700.c @@ -77,6 +77,23 @@ typedef struct snmpv3 } snmpv3_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 pw_min = 8; @@ -338,6 +355,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_26800.c b/src/modules/module_26800.c index 152cfc723..65756f1ff 100644 --- a/src/modules/module_26800.c +++ b/src/modules/module_26800.c @@ -77,6 +77,23 @@ typedef struct snmpv3 } snmpv3_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 pw_min = 8; @@ -346,6 +363,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_26900.c b/src/modules/module_26900.c index 321bcca47..62159fb51 100644 --- a/src/modules/module_26900.c +++ b/src/modules/module_26900.c @@ -87,12 +87,23 @@ u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + else + { + // self-test failed + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + return true; + } } } diff --git a/src/modules/module_27300.c b/src/modules/module_27300.c index 277be0c1a..1992ecf6d 100644 --- a/src/modules/module_27300.c +++ b/src/modules/module_27300.c @@ -87,12 +87,23 @@ u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + else + { + // self-test failed + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + return true; + } } } diff --git a/src/modules/module_28100.c b/src/modules/module_28100.c index 88e8b7e74..f959f051b 100644 --- a/src/modules/module_28100.c +++ b/src/modules/module_28100.c @@ -72,6 +72,23 @@ typedef struct winhello_tmp static const char *SIGNATURE_WINHELLO = "$WINHELLO$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm28100_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (winhello_t); @@ -451,6 +468,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28501.c b/src/modules/module_28501.c index 954590b15..123fa932e 100644 --- a/src/modules/module_28501.c +++ b/src/modules/module_28501.c @@ -51,6 +51,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -210,6 +227,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28502.c b/src/modules/module_28502.c index 3b910d9bf..2c7b2d79b 100644 --- a/src/modules/module_28502.c +++ b/src/modules/module_28502.c @@ -51,6 +51,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -210,6 +227,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28503.c b/src/modules/module_28503.c index 53838e7e5..721942880 100644 --- a/src/modules/module_28503.c +++ b/src/modules/module_28503.c @@ -47,6 +47,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -392,6 +409,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28504.c b/src/modules/module_28504.c index 35539c49f..90d94fc2b 100644 --- a/src/modules/module_28504.c +++ b/src/modules/module_28504.c @@ -47,6 +47,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -392,6 +409,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28505.c b/src/modules/module_28505.c index 7c9ae9090..e043d2f14 100644 --- a/src/modules/module_28505.c +++ b/src/modules/module_28505.c @@ -51,6 +51,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm28505_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -209,6 +226,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28506.c b/src/modules/module_28506.c index 7aac998d4..7d0312d91 100644 --- a/src/modules/module_28506.c +++ b/src/modules/module_28506.c @@ -51,6 +51,23 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } const char *module_benchmark_charset (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_CHARSET; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm28506_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return WIF_LEN; @@ -209,6 +226,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_28800.c b/src/modules/module_28800.c index a1fe7825d..88cf7c413 100644 --- a/src/modules/module_28800.c +++ b/src/modules/module_28800.c @@ -65,12 +65,15 @@ static const char *SIGNATURE_KRB5DB = "$krb5db$17$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_28900.c b/src/modules/module_28900.c index d0805d085..d2fbfe722 100644 --- a/src/modules/module_28900.c +++ b/src/modules/module_28900.c @@ -65,12 +65,15 @@ static const char *SIGNATURE_KRB5DB = "$krb5db$18$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29000.c b/src/modules/module_29000.c index 7e9682cf4..3cfab3d33 100644 --- a/src/modules/module_29000.c +++ b/src/modules/module_29000.c @@ -59,6 +59,23 @@ typedef struct sha1_double_salt } sha1_double_salt_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm29000_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (sha1_double_salt_t); @@ -282,6 +299,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29200.c b/src/modules/module_29200.c index 5c57ca970..df3fd21c4 100644 --- a/src/modules/module_29200.c +++ b/src/modules/module_29200.c @@ -64,6 +64,23 @@ typedef struct radmin3 } radmin3_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm29200_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (radmin3_t); @@ -324,6 +341,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29311.c b/src/modules/module_29311.c index 0f976ee8d..8c97d7ea2 100644 --- a/src/modules/module_29311.c +++ b/src/modules/module_29311.c @@ -81,12 +81,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29312.c b/src/modules/module_29312.c index 31e5dba33..a002c4d69 100644 --- a/src/modules/module_29312.c +++ b/src/modules/module_29312.c @@ -81,12 +81,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29313.c b/src/modules/module_29313.c index eadca3d08..b5f877a7a 100644 --- a/src/modules/module_29313.c +++ b/src/modules/module_29313.c @@ -81,12 +81,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29331.c b/src/modules/module_29331.c index 52eefad8f..4c22415a7 100644 --- a/src/modules/module_29331.c +++ b/src/modules/module_29331.c @@ -79,6 +79,23 @@ static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06231_init' pipeline, Compilation failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (tc_t); @@ -314,6 +331,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29332.c b/src/modules/module_29332.c index 2bb2c57ae..4989b574a 100644 --- a/src/modules/module_29332.c +++ b/src/modules/module_29332.c @@ -79,6 +79,23 @@ static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06232_init' pipeline, Compilation failed + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (tc_t); @@ -314,6 +331,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29333.c b/src/modules/module_29333.c index 427dda7c4..32f9f3ee5 100644 --- a/src/modules/module_29333.c +++ b/src/modules/module_29333.c @@ -79,6 +79,23 @@ static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm06233_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (tc_t); @@ -314,6 +331,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29341.c b/src/modules/module_29341.c index 9b2a472ef..05a40bcda 100644 --- a/src/modules/module_29341.c +++ b/src/modules/module_29341.c @@ -82,12 +82,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29342.c b/src/modules/module_29342.c index 56ec1bc84..799940f12 100644 --- a/src/modules/module_29342.c +++ b/src/modules/module_29342.c @@ -82,12 +82,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29343.c b/src/modules/module_29343.c index 5bd5f6823..6782c08ba 100644 --- a/src/modules/module_29343.c +++ b/src/modules/module_29343.c @@ -82,12 +82,15 @@ static const char *SIGNATURE_TRUECRYPT = "$truecrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29411.c b/src/modules/module_29411.c index 434ebd06d..d5fe9d5c0 100644 --- a/src/modules/module_29411.c +++ b/src/modules/module_29411.c @@ -88,12 +88,15 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29412.c b/src/modules/module_29412.c index ecb9e4706..76ddb550a 100644 --- a/src/modules/module_29412.c +++ b/src/modules/module_29412.c @@ -88,12 +88,15 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29413.c b/src/modules/module_29413.c index 295807e18..296e56911 100644 --- a/src/modules/module_29413.c +++ b/src/modules/module_29413.c @@ -88,12 +88,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13713_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29421.c b/src/modules/module_29421.c index c75184e77..aa1dc80b9 100644 --- a/src/modules/module_29421.c +++ b/src/modules/module_29421.c @@ -90,20 +90,11 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) - { - return true; - } - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 return true; } } diff --git a/src/modules/module_29422.c b/src/modules/module_29422.c index 1e307a2fd..1bbf4c2a5 100644 --- a/src/modules/module_29422.c +++ b/src/modules/module_29422.c @@ -90,21 +90,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13722_loop_extended' pipeline, timeout reached + return true; + } } - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + else { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29423.c b/src/modules/module_29423.c index fce68cc36..abd264fbf 100644 --- a/src/modules/module_29423.c +++ b/src/modules/module_29423.c @@ -90,21 +90,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13723_loop' pipeline, timeout reached + return true; + } } - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + else { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29431.c b/src/modules/module_29431.c index d98fce4dd..9a188bf3b 100644 --- a/src/modules/module_29431.c +++ b/src/modules/module_29431.c @@ -87,6 +87,23 @@ static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13731_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -377,6 +394,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29432.c b/src/modules/module_29432.c index 8bdb26a99..e38243438 100644 --- a/src/modules/module_29432.c +++ b/src/modules/module_29432.c @@ -87,6 +87,23 @@ static const int ROUNDS_VERACRYPT_500000 = 500000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13732_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps; @@ -377,6 +394,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29433.c b/src/modules/module_29433.c index 16d39fa1c..2ba87772a 100644 --- a/src/modules/module_29433.c +++ b/src/modules/module_29433.c @@ -89,12 +89,15 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel) if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13733_init' pipeline, timeout reached + return true; + } } } diff --git a/src/modules/module_29441.c b/src/modules/module_29441.c index 44db4ff81..baab0733c 100644 --- a/src/modules/module_29441.c +++ b/src/modules/module_29441.c @@ -89,12 +89,15 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29442.c b/src/modules/module_29442.c index d47c16b3f..5639eb484 100644 --- a/src/modules/module_29442.c +++ b/src/modules/module_29442.c @@ -89,12 +89,15 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { if (device_param->is_metal == false) { - return true; + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29443.c b/src/modules/module_29443.c index bc09e12f0..ff435c5a4 100644 --- a/src/modules/module_29443.c +++ b/src/modules/module_29443.c @@ -89,12 +89,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13713_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29451.c b/src/modules/module_29451.c index 01a955fa4..821a616b1 100644 --- a/src/modules/module_29451.c +++ b/src/modules/module_29451.c @@ -88,12 +88,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13751_loop' pipeline, Compilation failed + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29452.c b/src/modules/module_29452.c index b77ff6145..a03f6e5a7 100644 --- a/src/modules/module_29452.c +++ b/src/modules/module_29452.c @@ -88,12 +88,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13752_loop' pipeline, Compilation failed + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29453.c b/src/modules/module_29453.c index 171c61373..4433fca7b 100644 --- a/src/modules/module_29453.c +++ b/src/modules/module_29453.c @@ -88,12 +88,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13753_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29461.c b/src/modules/module_29461.c index 301d2dada..71c52fae0 100644 --- a/src/modules/module_29461.c +++ b/src/modules/module_29461.c @@ -89,12 +89,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13751_comp' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29462.c b/src/modules/module_29462.c index 409384d8e..f04ca6a51 100644 --- a/src/modules/module_29462.c +++ b/src/modules/module_29462.c @@ -89,12 +89,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13752_loop' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29463.c b/src/modules/module_29463.c index d1dcd3d80..0f6fc068b 100644 --- a/src/modules/module_29463.c +++ b/src/modules/module_29463.c @@ -89,12 +89,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13753_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29471.c b/src/modules/module_29471.c index 4b1852559..586e16d74 100644 --- a/src/modules/module_29471.c +++ b/src/modules/module_29471.c @@ -92,18 +92,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13771_loop' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29472.c b/src/modules/module_29472.c index 8a7a20d15..a93b325c9 100644 --- a/src/modules/module_29472.c +++ b/src/modules/module_29472.c @@ -92,18 +92,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13772_loop' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29473.c b/src/modules/module_29473.c index 4e2345011..4f122e7a4 100644 --- a/src/modules/module_29473.c +++ b/src/modules/module_29473.c @@ -92,25 +92,24 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13773_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } - } - - // AppleM1, OpenCL, MTLCompilerService never-end - if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return true; } return false; diff --git a/src/modules/module_29481.c b/src/modules/module_29481.c index 55d0b84c6..a5068f4a2 100644 --- a/src/modules/module_29481.c +++ b/src/modules/module_29481.c @@ -93,18 +93,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13771_loop' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29482.c b/src/modules/module_29482.c index 6e784d9a6..725e28eef 100644 --- a/src/modules/module_29482.c +++ b/src/modules/module_29482.c @@ -93,18 +93,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13772_loop' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29483.c b/src/modules/module_29483.c index c6162d306..7db7b3cf9 100644 --- a/src/modules/module_29483.c +++ b/src/modules/module_29483.c @@ -93,18 +93,23 @@ static const char *SIGNATURE_VERACRYPT = "$veracrypt$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; - } - - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + if (device_param->is_metal == true) { - return true; + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm13773_loop_extended' pipeline, timeout reached + return true; + } + } + else + { + if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD) + { + // AMD Radeon Pro W5700X Compute Engine; 1.2 (Apr 22 2021 21:54:44); 11.3.1; 20E241 + return true; + } } } diff --git a/src/modules/module_29512.c b/src/modules/module_29512.c index 09f04ccca..bdda11cac 100644 --- a/src/modules/module_29512.c +++ b/src/modules/module_29512.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha1$serpent$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14612_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29513.c b/src/modules/module_29513.c index 8680d3665..603dfad8a 100644 --- a/src/modules/module_29513.c +++ b/src/modules/module_29513.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha1$twofish$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14613_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29521.c b/src/modules/module_29521.c index ce1978bfd..bc0e4fb2e 100644 --- a/src/modules/module_29521.c +++ b/src/modules/module_29521.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha256$aes$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14621_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29522.c b/src/modules/module_29522.c index 0466cfca4..f305db77d 100644 --- a/src/modules/module_29522.c +++ b/src/modules/module_29522.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha256$serpent$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14622_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29523.c b/src/modules/module_29523.c index a88e54de4..8569428d7 100644 --- a/src/modules/module_29523.c +++ b/src/modules/module_29523.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha256$twofish$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14623_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29531.c b/src/modules/module_29531.c index 1a604a96e..261de25e1 100644 --- a/src/modules/module_29531.c +++ b/src/modules/module_29531.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha512$aes$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14631_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29532.c b/src/modules/module_29532.c index 7650b9457..557dfd82b 100644 --- a/src/modules/module_29532.c +++ b/src/modules/module_29532.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha512$serpent$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14632_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29533.c b/src/modules/module_29533.c index 0c76f085f..da84db774 100644 --- a/src/modules/module_29533.c +++ b/src/modules/module_29533.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$sha512$twofish$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14633_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29542.c b/src/modules/module_29542.c index 69d561d4f..57c4ae421 100644 --- a/src/modules/module_29542.c +++ b/src/modules/module_29542.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$ripemd160$serpent$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14642_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29543.c b/src/modules/module_29543.c index 8cca348ff..1a29da536 100644 --- a/src/modules/module_29543.c +++ b/src/modules/module_29543.c @@ -121,6 +121,23 @@ typedef struct luks_tmp static const char *SIGNATURE_LUKS = "$luks$1$ripemd160$twofish$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm14643_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (luks_t); @@ -445,6 +462,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_29600.c b/src/modules/module_29600.c index 29c026a29..0dbdd3aa8 100644 --- a/src/modules/module_29600.c +++ b/src/modules/module_29600.c @@ -62,6 +62,23 @@ typedef struct terra } terra_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm29600_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (terra_t); @@ -323,6 +340,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30901.c b/src/modules/module_30901.c index e3af30325..2ffca80aa 100644 --- a/src/modules/module_30901.c +++ b/src/modules/module_30901.c @@ -49,6 +49,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -215,6 +232,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30902.c b/src/modules/module_30902.c index ae7f1b030..25f548d0c 100644 --- a/src/modules/module_30902.c +++ b/src/modules/module_30902.c @@ -50,6 +50,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -216,6 +233,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30903.c b/src/modules/module_30903.c index 0b4eaba73..5ebb4cebf 100644 --- a/src/modules/module_30903.c +++ b/src/modules/module_30903.c @@ -46,6 +46,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -398,6 +415,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30904.c b/src/modules/module_30904.c index 58f0b2696..ebf7b3d4e 100644 --- a/src/modules/module_30904.c +++ b/src/modules/module_30904.c @@ -46,6 +46,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -398,6 +415,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30905.c b/src/modules/module_30905.c index 763fd550d..33dfd9282 100644 --- a/src/modules/module_30905.c +++ b/src/modules/module_30905.c @@ -50,6 +50,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -215,6 +232,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_30906.c b/src/modules/module_30906.c index 22553013b..6810f6c16 100644 --- a/src/modules/module_30906.c +++ b/src/modules/module_30906.c @@ -50,6 +50,23 @@ const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfi const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return BENCHMARK_MASK; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: self-test failed + return true; + } + } + } + + return false; +} + u32 module_kernel_loops_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_max = 16; @@ -215,6 +232,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_31200.c b/src/modules/module_31200.c index 50bc5405e..72abe69f1 100644 --- a/src/modules/module_31200.c +++ b/src/modules/module_31200.c @@ -59,6 +59,23 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm31200_init' pipeline, Compilation failed + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (pbkdf2_sha1_tmp_t); @@ -300,6 +317,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_31600.c b/src/modules/module_31600.c index dbc87e485..2752f5d45 100644 --- a/src/modules/module_31600.c +++ b/src/modules/module_31600.c @@ -56,6 +56,23 @@ typedef struct dcc2_tmp static const char *SIGNATURE_DCC2 = "$DCC2$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm31600_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (dcc2_tmp_t); @@ -244,6 +261,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_32100.c b/src/modules/module_32100.c index cbcee0c86..0663afc28 100644 --- a/src/modules/module_32100.c +++ b/src/modules/module_32100.c @@ -69,6 +69,23 @@ typedef struct krb5asrep_17_tmp static const char *SIGNATURE_KRB5ASREP = "$krb5asrep$17$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32100_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (krb5asrep_17_tmp_t); @@ -415,6 +432,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_32200.c b/src/modules/module_32200.c index 57f43019b..8a2ccc36e 100644 --- a/src/modules/module_32200.c +++ b/src/modules/module_32200.c @@ -69,6 +69,23 @@ typedef struct krb5asrep_18_tmp static const char *SIGNATURE_KRB5ASREP = "$krb5asrep$18$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32200_comp' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (krb5asrep_18_tmp_t); @@ -414,6 +431,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_32300.c b/src/modules/module_32300.c index 3c0462e72..d811506b5 100644 --- a/src/modules/module_32300.c +++ b/src/modules/module_32300.c @@ -61,6 +61,23 @@ typedef struct md5_triple_salt } md5_triple_salt_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32300_s04' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (md5_triple_salt_t); @@ -296,6 +313,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_32420.c b/src/modules/module_32420.c index d4187ff55..c4b6d6494 100644 --- a/src/modules/module_32420.c +++ b/src/modules/module_32420.c @@ -49,6 +49,23 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32420_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -266,6 +283,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_32500.c b/src/modules/module_32500.c index 74ae3b144..d23a72114 100644 --- a/src/modules/module_32500.c +++ b/src/modules/module_32500.c @@ -60,6 +60,23 @@ typedef struct doge_tmp } doge_tmp_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32500_init' pipeline, timeout reached + return true; + } + } + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (payload_t); @@ -271,7 +288,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; - } diff --git a/src/modules/module_32600.c b/src/modules/module_32600.c index c8be26f3a..819610413 100644 --- a/src/modules/module_32600.c +++ b/src/modules/module_32600.c @@ -43,6 +43,23 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm32600_sxx' pipeline, timeout reached + return true; + } + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -269,6 +286,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; }