resources->maxTaskWorkGroupSizeZ_EXT = value;
else if (tokenStr == "MaxMeshViewCountEXT")
resources->maxMeshViewCountEXT = value;
+ else if (tokenStr == "MaxDualSourceDrawBuffersEXT")
+ resources->maxDualSourceDrawBuffersEXT = value;
else if (tokenStr == "nonInductiveForLoops")
resources->limits.nonInductiveForLoops = (value != 0);
else if (tokenStr == "whileLoops")
int max_task_work_group_size_y_ext;
int max_task_work_group_size_z_ext;
int max_mesh_view_count_ext;
- int maxDualSourceDrawBuffersEXT;
+ union
+ {
+ int max_dual_source_draw_buffers_ext;
+
+ /* Incorrectly capitalized name retained for backward compatibility */
+ int maxDualSourceDrawBuffersEXT;
+ };
glslang_limits_t limits;
} glslang_resource_t;
ASSERT_EQ(expectedConfig, realConfig);
}
+TEST_F(DefaultResourceTest, UnrecognizedLimit)
+{
+ const std::string defaultConfig = GetDefaultTBuiltInResourceString();
+ testing::internal::CaptureStdout();
+ TBuiltInResource resources;
+ DecodeResourceLimits(&resources, const_cast<char*>(defaultConfig.c_str()));
+ std::string output = testing::internal::GetCapturedStdout();
+ ASSERT_EQ(output.find("unrecognized limit"), std::string::npos);
+}
+
} // anonymous namespace
} // namespace glslangtest