Fix translator fuzzer
The GLSL mac-only options were being listed as unsupported only when the
output is not GLSL. However, they should also be listed as unsupported
on GLSL output when not on mac.
Bug: chromium:1355076
Bug: chromium:1355281
Change-Id: I5a87d9a529e534b2ea6c030ad7132cd0f698e7d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855700
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
diff --git a/src/compiler/fuzz/translator_fuzzer.cpp b/src/compiler/fuzz/translator_fuzzer.cpp
index 8e44e47..67cadf9 100644
--- a/src/compiler/fuzz/translator_fuzzer.cpp
+++ b/src/compiler/fuzz/translator_fuzzer.cpp
@@ -89,6 +89,11 @@
bool hasUnsupportedOptions = false;
+ const bool hasMacGLSLOptions = options.rewriteFloatUnaryMinusOperator ||
+ options.addAndTrueToLoopCondition ||
+ options.rewriteDoWhileLoops || options.unfoldShortCircuit ||
+ options.rewriteRowMajorMatrices;
+
if (!IsOutputGLSL(shaderOutput) && !IsOutputESSL(shaderOutput))
{
hasUnsupportedOptions =
@@ -96,10 +101,12 @@
options.regenerateStructNames || options.rewriteRepeatedAssignToSwizzled ||
options.useUnusedStandardSharedBlocks || options.selectViewInNvGLSLVertexShader;
+ hasUnsupportedOptions = hasUnsupportedOptions || hasMacGLSLOptions;
+ }
+ else
+ {
#if !defined(ANGLE_PLATFORM_APPLE)
- hasUnsupportedOptions = hasUnsupportedOptions || options.rewriteFloatUnaryMinusOperator ||
- options.addAndTrueToLoopCondition || options.rewriteDoWhileLoops ||
- options.unfoldShortCircuit || options.rewriteRowMajorMatrices;
+ hasUnsupportedOptions = hasUnsupportedOptions || hasMacGLSLOptions;
#endif
}
if (!IsOutputVulkan(shaderOutput))